aya-sec88/Malware-Analysis-WannaCry
GitHub: aya-sec88/Malware-Analysis-WannaCry
针对 WannaCry 勒索软件的静态与动态分析项目,提供 YARA 检测规则、IOC 指标及 MITRE ATT&CK 行为映射。
Stars: 0 | Forks: 0
# WannaCry 勒索软件 — 恶意软件分析
对 WannaCry 勒索软件的静态和动态分析,包括 IOC 提取、自定义 YARA 检测规则以及 MITRE ATT&CK 映射。
## 概述
WannaCry 是一种自传播勒索软件,它将文件加密与类似蠕虫病毒的传播机制结合在一起,在 2017 年 5 月的短短几天内感染了 150 多个国家/地区的超过 200,000 台计算机。与通常通过钓鱼邮件分发的勒索软件不同,WannaCry 通过利用 Windows SMB 漏洞进行自主传播,这使得补丁管理和网络分段与端点检测一样对防御至关重要。本仓库记录了基于在 ANY.RUN 上对实时沙箱会话的动手分析,得出的样本静态特征、执行行为、提取的入侵指标 (IOC) 以及自定义 YARA 规则。
## 静态分析
分析的样本 (SHA256: `ED01EBFBC9EB5BBEA545AF4D01BF5F1071661840480439C6E5BABE8E080E41AA`) 是一个 Windows PE 可执行文件,以受密码保护的 ZIP 投放器形式分发。执行时,该投放器使用硬编码的密码提取其内容,而不是下载第二阶段的 payload,从而减少了引爆之前的网络足迹。
一个关键的静态指标是嵌入在二进制文件中的硬编码“开关”域名:`iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com`。在任何加密逻辑执行之前,恶意软件会向该域名发出 HTTP GET 请求——如果请求成功,样本将立即停止。这成为阻止 2017 年最初爆发的最重要发现,因为一位安全研究人员注册了该域名,并有效地激活了全球终止开关。
## 动态分析
对实时沙箱会话 (Windows 7 32 位) 的行为分析显示了清晰的执行链:
1. **终止开关检查** — 在任何恶意活动开始之前,向硬编码的域名发出出站 HTTP GET 请求
2. **资源提取** — 样本使用嵌入的 RSA 密钥解压加密的配置模块 (`t.wnry`),仅在内存中对其进行解密,以避免将明文写入磁盘
3. **权限修改** — 调用 `icacls.exe` 并使用参数 `/grant Everyone:F /T /C /Q`,授予所有用户对工作目录的完全控制权,以确保勒索软件的文件保持可访问/可执行状态
4. **加密** — 匹配目标扩展名的文件使用逐文件 AES-128 密钥进行加密,该密钥本身使用 RSA 公钥加密并存储在加密文件的文件头中
5. **持久化** — `reg.exe` 执行 `reg add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "yyibsxiapw107" /t REG_SZ /d "C:\Users\admin\AppData\Local\Temp\tasksche.exe" /f`,添加一个 Run 键,以便在每次用户登录时重新启动 payload (T1547.001)
6. **抑制恢复** — 进程树显示 `vssadmin.exe`、`wmic.exe` 和 `bcdedit.exe` 依次被调用,这是 WannaCry 用于删除卷影副本并禁用 Windows 恢复选项以阻止文件还原的标准链 (T1490)
7. **基于 Tor 的 C2 通信** — 进程 `taskhsvc.exe` 生成了多个指向 `188.138.75.101` 的出站 HTTPS 连接 (端口 443),这是一个已知的 Tor 中继节点,被 Suricata 规则 SID `2522314` (“ET TOR Known Tor Relay/Router (Not Exit) Node Traffic”) 标记,这与 WannaCry 通过 Tor 路由支付/C2 验证流量以掩盖其真实后端的行为一致
8. **传播** — 样本扫描开放了 TCP 端口 445 的主机,并尝试利用 SMBv1 漏洞 (CVE-2017-0144 / MS17-010,“EternalBlue”) 在本地网络中传播,无需用户交互
9. **影响** — 桌面壁纸被更改为勒索信息,并且 `@WanaDecryptor@.exe` 启动,显示要求支付 300 至 600 美元 Bitcoin 的倒计时
## 入侵指标 (IOC)
| 类型 | 值 |
|---|---|
| SHA256 | `ED01EBFBC9EB5BBEA545AF4D01BF5F1071661840480439C6E5BABE8E080E41AA` |
| MD5 | `84C82835A5D21BBCF75A61706D8AB549` |
| 终止开关域名 | `iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com` |
| Tor 中继 IP (C2 流量) | `188.138.75.101` |
| Suricata SID (Tor 检测) | `2522314` |
| 释放的文件 | `@WanaDecryptor@.exe` |
| 加密的加载器模块 | `t.wnry` |
| 加密文件扩展名 | `.WNCRY` |
| 持久化注册表键 | `HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\yyibsxiapw107` → `C:\Users\admin\AppData\Local\Temp\tasksche.exe` |
完整的 IOC 列表可在 [`iocs/wannacry_iocs.md`](iocs/wannacry_iocs.md) 中找到。
## YARA 规则
```
rule WannaCry_Ransomware
{
meta:
author = "Aya"
date = "2026-07-05"
description = "Detects WannaCry ransomware based on known strings and behavior"
reference = "https://attack.mitre.org/software/S0366/"
strings:
$s1 = "WanaCrypt0r" nocase
$s2 = ".WNCRY"
$s3 = "@WanaDecryptor@"
$s4 = "t.wnry"
$killswitch = "iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com"
condition:
uint16(0) == 0x5A4D and 2 of them
}
```
完整规则可在 [`yara/wannacry.yar`](yara/wannacry.yar) 中找到。
## MITRE ATT&CK 映射
| 技术 | ID | 观察到的行为 |
|---|---|---|
| Exploitation of Remote Services | T1210 | 通过 EternalBlue (CVE-2017-0144) 利用 SMBv1 进行横向移动 |
| Data Encrypted for Impact | T1486 | 使用 RSA 包装的密钥进行逐文件 AES-128 加密 |
| Inhibit System Recovery | T1490 | 调用 `vssadmin.exe`、`wmic.exe`、`bcdedit.exe` 以删除卷影副本并禁用恢复 |
| Registry Run Keys / Startup Folder | T1547.001 | 通过 `reg add` 写入 HKCU Run 键实现持久化,在登录时启动 `tasksche.exe` |
| Application Layer Protocol / Tor | T1090.003 | C2/支付验证流量通过端口 443 上的 Tor 中继节点进行路由 |
## 截图
### 注册表持久化 (T1547.001)
确切的 `reg.exe` 命令和显示自动运行持久化的 ATT&CK 映射。

### Tor C2 流量检测
被 Suricata 标记的 Tor 中继连接详情 (SID 2522314)。

## 关键结论
WannaCry 最显著的特征不是它的加密例程——而是那个意外的终止开关。一个单一的硬编码域名检查,最初可能是为了反沙箱而设计的,一旦研究人员注册了它,就成了阻止全球爆发的机制。实时沙箱分析还揭示了一个公开报告中并不常被提及的细节:通过 Tor 路由的 C2/支付流量,除了众所周知的终止开关域名检查外,还增加了基于网络的检测机会(Suricata Tor 中继签名)。这突显了检测工程的一个更广泛的教训:如果分析师及早发现,恶意软件作者的规避逻辑及其基础设施选择都可以成为可靠的检测信号。
## 使用的工具
- **ANY.RUN** — 用于动态行为分析的交互式沙箱
- **YARA** — 基于签名的检测规则创建
## 结构
```
Malware-Analysis-WannaCry/
├── README.md
├── screenshots/
│ ├── registry_persistence_t1547.png
│ └── tor_threat_detail.png
├── iocs/
│ └── wannacry_iocs.md
└── yara/
└── wannacry.yar
```
标签:DAST, DNS 反向解析, IP 地址批量处理, Metaprompt, YARA, 云资产可视化, 云资产清单, 勒索软件, 威胁情报, 开发者工具, 恶意软件分析, 逆向工程