K-avya30/WannaCry-MITRE-ATTACK-Analysis

GitHub: K-avya30/WannaCry-MITRE-ATTACK-Analysis

WannaCry勒索软件攻击的MITRE ATT&CK框架分析。

Stars: 0 | Forks: 0

# 🛡️ WannaCry 勒索软件 — MITRE ATT&CK 案例研究 ## 📌 目录 1. [执行摘要](#executive-summary) 2. [攻击概述](#attack-overview) 3. [MITRE ATT&CK 战术映射](#mitre-attck-tactics-mapping) 4. [战术 1 — 初始访问 (TA0001)](#tactic-1--initial-access-ta0001) 5. [战术 2 — 执行 (TA0002)](#tactic-2--execution-ta0002) 6. [战术 3 — 防御规避 (TA0005)](#tactic-3--defense-evasion-ta0005) 7. [战术 4 — 发现 (TA0007)](#tactic-4--discovery-ta0007) 8. [战术 5 — 横向移动 (TA0008)](#tactic-5--lateral-movement-ta0008) 9. [战术 6 — 命令与控制 (TA0011)](#tactic-6--command-control-ta0011) 10. [战术 7 — 影响 (TA0040)](#tactic-7--impact-ta0040) 11. [终止开关发现](#kill-switch-discovery) 12. [检测与缓解](#detection--mitigation) 13. [经验教训](#lessons-learned) ## 📋 执行摘要 2017年5月12日,全球爆发了历史上最具破坏性的勒索软件攻击之一。**WannaCry 加密蠕虫**在24小时内感染了150多个国家的200,000多台系统,造成估计的**40-80亿美元损失**。 与传统的勒索软件不同,WannaCry 是一种**自我传播的蠕虫**——它需要**零人工交互**即可传播。它利用了影子经纪人黑客组织窃取的两个 NSA 开发的网络武器:**永恒之蓝**和**双脉冲星**。 ## 🌍 攻击概述 | 详细信息 | 信息 | |---------------------|--------------------------------------| | 攻击日期 | 2017年5月12日 | | 恶意软件类型 | 加密勒索软件 | | 威胁行为者 | 拉扎勒斯集团 (G0032) | | 来源 | 朝鲜 (国家支持) | | 受影响国家 | 150+ | | 感染的系统 | 200,000+ | | 每台系统勒索金额 | 300-600美元 (比特币) | | 估计损失 | 40-80亿美元 USD | | 关键漏洞利用 | 永恒之蓝 (MS17-010) | | 后门利用 | 双脉冲星 | | 目标协议 | SMBv1 (端口 445) | ### 🎯 主要受害者 | 组织 | 国家 | 影响 | |------------- |--------- |--------| | NHS (国家卫生服务) | 英国 | 医院关闭,手术取消 | | FedEx | 美国 | 运营严重中断 | | Telefonica | 西班牙 | 内部系统加密 | | Deutsche Bahn | 德国 | 列车显示屏系统受到影响 | | 俄罗斯银行与部 | 俄罗斯 | 多个系统被破坏 | | 印度州政府 | 印度 | 政府系统受到影响 | ## 🗺️ MITRE ATT&CK 战术映射 WannaCry 使用了 **7 个** 14 个 MITRE ATT&CK 战术: | # | 战术 | ATT&CK ID | WannaCry 使用 | |----|-----------------------|-----------|------------------| | 1 | 侦察 | TA0043 | 否 | | 2 | 资源开发 | TA0042 | 否 | | 3 | 初始访问 | TA0001 | 是 | | 4 | 执行 | TA0002 | 是 | | 5 | 持久性 | TA0003 | 否 | | 6 | 提权 | TA0004 | 否 | | 7 | 防御规避 | TA0005 | 是 | | 8 | 凭据访问 | TA0006 | 否 | | 9 | 发现 | TA0007 | 是 | | 10 | 横向移动 | TA0008 | 是 | | 11 | 收集 | TA0009 | 否 | | 12 | 命令与控制 | TA0011 | 是 | | 13 | 泄露 | TA0010 | 否 | | 14 | 影响 | TA0040 | 是 | ## 战术 1 — 初始访问 (TA0001) ### 定义 攻击者如何**首次进入**目标系统或网络。 ### 使用的武器 #### 🔴 永恒之蓝 - NSA 开发的漏洞利用程序,被影子经纪人黑客组织窃取 - 利用 Windows SMB v1 协议中的关键漏洞 MS17-010 - 允许攻击者向端口 445 发送恶意数据包并获取系统访问权限 - 需要**零用户交互**——只需一个开放的端口就足够了 - 可以将其视为**门破者** 🚪 #### 🔴 双脉冲星 - NSA 开发的**后门植入程序**,也被影子经纪人黑客组织窃取 - 在永恒之蓝获得初始访问后静默安装 - 在系统中隐秘地等待**接收和执行恶意有效载荷** - 可以将其视为**沉默的门卫**,让勒索软件进入 🚨 ### 它们是如何一起工作的 ``` Internet Scan EternalBlue DoublePulsar (Port 445 open?) ──► (Exploits MS17-010) ──► (Installs Backdoor) ──► WannaCry Delivered ``` ### 技术映射 | 技术 | ATT&CK ID | 描述 | |--------------------------------|-----------|-----------------------------------------------------| | 利用公共面向应用程序 | T1190 | 永恒之蓝利用了 SMBv1 MS17-010 漏洞。 | | 外部远程服务 | T1133 | 双脉冲星为受感染系统提供了远程访问。 | ## 战术 2 — 执行 (TA0002) ### 定义 攻击者在获得访问权限后在受害者系统上运行恶意代码的方式。 ### 使用的技巧 #### 🔴 T1059 — 命令和脚本解释器 - WannaCry 使用 **Windows 命令行 (cmd.exe)** 来执行恶意命令 - 命令在**后台静默运行**——用户什么也看不到 - 用于启动加密和传播程序 #### 🔴 T1106 — 原生 API - WannaCry 直接调用 **Windows 原生 API** 来执行自身 - 使用 Windows 函数如 **CreateProcess** 来启动其组件 - 使恶意进程看起来像是**合法的 Windows 活动** #### 🔴 T1569.002 — 服务执行 - WannaCry 创建了一个名为 **"mssecsvc2.0"** 的假**Windows 服务** - 将其伪装成**微软安全服务** - 该服务负责**扫描和传播** WannaCry 到其他机器 ### 执行流程 ``` DoublePulsar T1106 (Native API) T1569.002 (Backdoor) ──► (Runs WannaCry via ──► (Creates fake Windows Windows functions) Service: mssecsvc2.0) │ ▼ T1059 (CMD) (Executes silent commands for encryption & spreading) ``` ### 技术映射 | 技术 | ATT&CK ID | 描述 | |--------------------------------|-----------|-------------------------------------------------------| | 命令和脚本解释器 | T1059 | Windows 命令提示符 (cmd.exe) 执行恶意命令。 | | 原生 API | T1106 | 使用 Windows API 启动和管理进程。 | | 服务执行 | T1569.002 | 创建了假的 Windows 服务 mssecsvc2.0 用于传播。 | # 战术 3 — 防御规避 (TA0005) ### 定义 WannaCry 如何避免被安全工具检测和分析。 ### 使用的技巧 #### 🔴 T1497 — 虚拟化/沙盒规避 - WannaCry 检查了特定域名是否存在。 - 如果域名解析成功,恶意软件停止执行。 - 这种行为充当了反分析机制。 #### 🔴 T1036 — 伪装 - 创建了一个名为 **mssecsvc2.0** 的服务。 - 该名称类似于合法的微软服务,有助于避免怀疑。 ### 技术映射 | 技术 | ATT&CK ID | 描述 | |--------------------------------|-----------|---------------------------------------------------------------| | 虚拟化/沙盒规避 | T1497 | 杀死开关域名检查用于规避分析环境。 | | 伪装 | T1036 | 服务名称 "mssecsvc2.0" 被设计成看起来合法。 | # 战术 4 — 发现 (TA0007) ### 定义 WannaCry 在传播之前如何收集有关系统和网络的信息。 ### 使用的技巧 #### 🔴 T1016 — 系统网络配置发现 - 检查网络设置和活动接口。 - 识别网络上的可到达系统。 #### 🔴 T1046 — 网络服务发现 - 扫描运行在端口 445 上的 SMB 服务的主机。 - 定位易受攻击的 Windows 机器。 ### 技术映射 | 技术 | ATT&CK ID | 描述 | |-------------------------------------|-----------|------------------------------------------------------------| | 系统网络配置发现 | T1016 | 收集网络配置详细信息以识别可到达的系统。 | | 网络服务发现 | T1046 | 扫描启用 SMB 的主机以发现易受攻击的机器。 | # 战术 5 — 横向移动 (TA0008) ### 定义 WannaCry 如何从受感染的系统传播到其他系统。 ### 使用的技巧 #### 🔴 T1210 — 远程服务利用 - 使用永恒之蓝利用易受攻击的 SMB 服务。 - 允许蠕虫般的网络传播。 #### 🔴 T1021.002 — SMB/Windows 管理共享 - 利用 SMB 通信在主机之间移动。 ### 技术映射 | 技术 | ATT&CK ID | 描述 | |--------------------------------|-----------|----------------------------------------------------------------| | 远程服务利用 | T1210 | 永恒之蓝利用易受攻击的 SMB 服务来攻击远程系统。 | | SMB/Windows 管理共享 | T1021.002 | 使用 SMB 在网络化主机之间传播蠕虫。 | # 战术 6 — 命令与控制 (TA0011) ### 定义 WannaCry 在执行后如何与外部通信。 ### 使用的技巧 #### 🔴 T1071.001 — 应用层协议:Web 协议 - 通过 HTTP 与终止开关域名进行通信。 - 使用互联网通信来确定是否继续执行。 ### 技术映射 ## | 技术 | ATT&CK ID | 描述 | |--------------------------------------------|-----------|------------------------------------------------------------| | 应用层协议:Web 协议 | T1071.001 | 使用 HTTP 请求与终止开关域名进行通信。 | # 战术 7 — 影响 (TA0040) ### 定义 WannaCry 如何实现其最终目标并影响受害者。 ### 使用的技巧 #### 🔴 T1486 — 为影响而加密数据 - 使用强加密加密用户文件。 - 阻止受害者访问其数据。 #### 🔴 T1490 — 禁止系统恢复 - 删除 Windows 影子副本。 - 减少了受害者恢复文件的能力。 ### 技术映射 | 技术 | ATT&CK ID | 描述 | |----------------------------|-----------|------------------------------------------------------------| | 为影响而加密数据 | T1486 | 加密用户文件并要求支付解密费。 | | 禁止系统恢复 | T1490 | 删除影子副本以阻碍文件恢复尝试。 | ## 🔑 终止开关发现 攻击当天,**马库斯·哈钦斯**(一位22岁的英国安全研究员)意外地发现 WannaCry 代码中嵌入了一个**终止开关**。 - WannaCry 被编程为检查是否存在特定的**未注册域名** - 如果域名**不存在**→ WannaCry 继续传播 - 马库斯以 10.69 美元的价格注册了该域名 - 一旦域名**激活**→ WannaCry 停止在全球范围内传播 - 这一项单独的行动**拯救了数百万系统**免受感染 ## 🛡️ 检测与缓解 ### 检测方法 | 方法 | 描述 | |----------------------|----------------------------------------------------------------| | 网络监控 | 监控端口 445 上不寻常的 SMB 流量。 | | IDS/IPS 规则 | 部署签名以检测永恒之蓝利用尝试。 | | 端点检测 | 监控 mssecsvc2.0 服务的创建。 | | 文件监控 | 检测大量文件修改和 .WNCRY 扩展名。 | | 行为分析 | 识别异常文件加密活动。 | ### 缓解步骤 | 优先级 | 操作 | |----------|--------| | 临界 | 应用 MS17-010 安全更新。 | | 临界 | 在不需要的地方禁用 SMBv1。 | | 临界 | 限制或阻止对端口 445 的入站访问。 | | 高 | 维护定期离线备份。 | | 高 | 实施网络分段。 | | 中 | 部署端点保护和监控解决方案。 | | 中 | 建立常规补丁管理流程。 | ## 经验教训 1. **补丁管理至关重要**——MS17-010 补丁在攻击前两个月就可用。未打补丁的系统是主要受害者。 2. **旧系统风险很高**——许多 NHS 系统运行 Windows XP,该系统已不再受支持。生命终结的系统会创建巨大的漏洞。 3. **网络分段可以救命**——拥有适当网络分段的组织显著限制了传播。 4. **国家行为者针对所有人**——WannaCry 显示,国家支持的行为者不会区分政府、医疗保健或私营部门。 5. **备份是不可或缺的**——拥有干净的离线备份的组织恢复得更快,无需支付赎金。 6. **禁用不必要的协议**——SMB v1 已有几十年历史,应该被禁用。减少攻击面是至关重要的。 ## 📎 参考资料 - [MITRE ATT&CK — WannaCry](https://attack.mitre.org/software/S0366/) - [MITRE ATT&CK — 拉扎勒斯集团 (G0032)](https://attack.mitre.org/groups/G0032/) - [Microsoft 安全公告 MS17-010](https://docs.microsoft.com/en-us/security-updates/securitybulletins/2017/ms17-010
标签:逆向工具