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
标签:逆向工具