EternalBlue (CVE-2017-0144)
EternalBlue (CVE-2017-0144) 是什么?
EternalBlue (CVE-2017-0144)由 NSA 开发的 2017 年 Microsoft SMBv1 远程代码执行漏洞利用,被 Shadow Brokers 泄露后,WannaCry 与 NotPetya 借此横扫全球。
EternalBlue(CVE-2017-0144)是 Microsoft SMBv1 实现中的远程代码执行漏洞,允许网络中未认证的攻击者在大多数当时受支持的 Windows 系统上以内核权限执行代码。该利用原本是 NSA/Equation Group 的一项能力,2017 年 4 月 14 日被 Shadow Brokers 公开泄露,一同泄露的还有 FuzzBunch 框架以及内核后门 DoublePulsar——后者通常被攻击者作为后渗透阶段的载荷安装。
在技术上,EternalBlue 滥用了 srv.sys 处理超大 SMBv1 事务的方式:服务器在转换扩展属性(FEA)列表大小时存在类型混淆,导致非分页内核池中发生缓冲区溢出。攻击者通过 SMB 数据包对内核堆进行「堆布局」(grooming),使溢出恰好落在一个 SRVNET 缓冲区旁,最终将执行流重定向到攻击者控制的 shellcode。微软于 2017 年 3 月 14 日发布了 MS17-010——比泄露早一个月——并在 WannaCry 开始扩散后,罕见地为已停止支持的 Windows XP 也发布了补丁。
该漏洞成为 WannaCry(2017 年 5 月 12 日)与 NotPetya(2017 年 6 月 27 日)的传播引擎;NotPetya 是一款伪装成勒索软件的擦除器,造成超过 100 亿美元的损失,使 Maersk、Merck 与 Mondelez 陷入瘫痪。多年之后,未打补丁的 SMBv1 主机仍在被攻陷。防御措施:安装 MS17-010、彻底禁用 SMBv1、在边界封堵 TCP/445,并对扁平网络进行分段。
flowchart TD
A[Shadow Brokers 泄露<br/>2017 年 4 月] --> B[EternalBlue 利用<br/>CVE-2017-0144]
B --> C[构造超大 SMBv1 事务]
C --> D[srv.sys 中的类型混淆 + 非分页池溢出]
D --> E[内核代码执行]
E --> F[DoublePulsar 后门]
F --> G{载荷}
G --> H[WannaCry 勒索软件]
G --> I[NotPetya 擦除器]
H --> J[通过 TCP/445 蠕虫式扩散至下一主机]
I --> J
J --> C● 示例
- 01
WannaCry 借助 EternalBlue 在企业 Windows 网络内蠕虫式扩散。
- 02
NotPetya 利用 EternalBlue 在组织内传播后擦除数据。
● 常见问题
EternalBlue (CVE-2017-0144) 是什么?
由 NSA 开发的 2017 年 Microsoft SMBv1 远程代码执行漏洞利用,被 Shadow Brokers 泄露后,WannaCry 与 NotPetya 借此横扫全球。 它属于网络安全的 漏洞 分类。
EternalBlue (CVE-2017-0144) 是什么意思?
由 NSA 开发的 2017 年 Microsoft SMBv1 远程代码执行漏洞利用,被 Shadow Brokers 泄露后,WannaCry 与 NotPetya 借此横扫全球。
如何防御 EternalBlue (CVE-2017-0144)?
针对 EternalBlue (CVE-2017-0144) 的防御通常结合技术控制与运营实践,详见上方完整定义。
EternalBlue (CVE-2017-0144) 还有哪些其他名称?
常见的别称包括: MS17-010, CVE-2017-0144。