CyberTechSali/Analyse-Dynamique-du-Ransomware-WannaCry

GitHub: CyberTechSali/Analyse-Dynamique-du-Ransomware-WannaCry

该项目是一份完整的 WannaCry 勒索软件动态恶意软件分析报告,在隔离实验室环境中映射了其完整的感染链并提供取证工件。

Stars: 0 | Forks: 0

Malware Analysis Status Tools

# 🧬 WannaCry 勒索软件:深度动态分析 本仓库包含了一份完整的取证报告以及来自动态恶意软件分析项目的证据工件。目标是映射完整的感染链——从初始投递到最终的勒索信——使用行业标准工具,并与队友进行的互补性静态分析进行了交叉验证。 ## 🎯 执行摘要 WannaCry 是一种臭名昭著的勒索软件蠕虫,在 2017 年 5 月引发了一场全球性的网络攻击。本次分析成功观察并记录了其核心行为: - **初始访问**:通过自解压 RAR 压缩包投递至用户的 `%TEMP%` 目录。 - **防御规避**:主进程将自身重命名为 MD5 哈希值,并将其内部描述伪造为“DiskPart”(父进程)和“Load PerfMon Counters”(子进程),同时伪造了“Microsoft Corporation”公司字段。 - **执行**:启动了 **18 个以上的并行子进程**,通过多进程处理快速加密文件,每个进程的生命周期仅约 2 秒。 - **反取证**:直接读取并覆盖 BAM(后台活动审核器)注册表项,以掩盖其执行时间戳。 - **影响**:无差别地加密了数千个文件——包括内部应用程序数据库(OneDrive 同步缓存)以及用户文档——通过两阶段流水线(`.WNCRYT` → `.WNCRY`),然后用 `@WanaDecryptor@.bmp` 勒索信替换桌面壁纸。 - **C2 通信**:尝试通过 **Tor 网络**(TCP 端口 9001、443、80)与其命令与控制(C2)基础设施进行匿名通信,被隔离环境拦截。 - **Kill-Switch**:确认在此样本中**缺失/不起作用**——通过动态分析(尽管网络模拟完全响应,但未观察到 DNS 查询)和静态分析(反汇编中缺失该域名,仅存在于不同的 WannaCry 变体中)双重验证。 - **命名证据**:注册表对比(Regshot)揭示了一个 `WanaCrypt0r` 键——在 MD5 哈希文件名之外,直接证实了恶意软件的真实身份。 ## 🖥️ 实验环境与工具集 分析使用隔离的仅主机网络进行,以防止意外连入互联网。 | 组件 | 角色 | IP 地址 | 使用的工具 | | :--- | :--- | :--- | :--- | | **Windows 10(受害机)** | 执行恶意软件的目标机器 | `192.168.100.10` | ProcMon, Regshot, Process Explorer | | **Windows 7(辅助主机)** | 横向移动 / SMB 目标 | `192.168.100.11` | — | | **REMnux(网关/分析师)** | 模拟互联网服务与网络捕获 | `192.168.100.1` | INetSim (DNS + HTTP), Wireshark, tcpdump | **方法论**:使用 ProcMon 和 Wireshark 实时捕获活动行为,而 Regshot 提供了对注册表和文件系统更改(感染前后)的差异性分析。INetSim 被配置为 DNS 和 HTTP 服务器,以重建触发功能性 kill-switch 所需的确切条件——这是确认其在此样本中缺失的关键步骤。 ## 🚨 关键失陷指标 (IOCs) ### 🖥️ 注册表修改 | 路径 / 键 | 动作 | 严重程度 | 解释 | | :--- | :--- | :--- | :--- | | `HKCU\...\BackgroundHistoryPath0` | 值更改为 `@WanaDecryptor@.bmp` | **严重** | 应用了勒索信壁纸;标志着加密周期的结束。 | | `HKLM\...\bam\State\UserSettings` | `RegQueryValue` 然后 `RegSetValue` (REG_BINARY) | **高** | 在覆盖之前读取现有值——直接对 BAM 进行反取证操纵。 | | `SOFTWARE\WanaCrypt0r` / `...\VirtualStore\...\WanaCrypt0r` | 键已创建 | **严重** | 恶意软件真实身份的命名证据,通过 Regshot 差异对比发现。 | | `HKCU\...\UserAssist` | 计数器(ROT13 编码) | **信息** | 确认执行了分析工具(ProcExp, Regshot);这是 Windows 的原生行为,与恶意软件无关。 | ### 📂 文件系统工件 | 路径 / 指标 | 动作 | 严重程度 | 解释 | | :--- | :--- | :--- | :--- | | `%TEMP%\Rar$...\@WanaDecryptor@.exe` | 已创建 | **严重** | 自解压 RAR 投递载体。 | | `*.WNCRYT` → `*.WNCRY` | 已创建 / 重命名 | **严重** | 两阶段加密流水线;顺序编号的临时文件证实了工业化的批处理过程。 | | `C:\Users\hp\Desktop\@WanaDecryptor@.bmp` | 已创建 | **严重** | 投递到桌面上的勒索信图像。 | | `~SDxxxx.tmp` | 已创建 | **高** | 加密处理期间使用的临时缓冲文件。 | | `b.wnry` / `00000000.res` | 已解压 | **高** | 内嵌的壁纸位图和多语言资源(约 28 种语言)。 | ### 🌐 网络签名 | 指标 | 观察 | 严重程度 | 解释 | | :--- | :--- | :--- | :--- | | **Tor C2 流量** | 向多个硬编码 IP(端口 9001、443、80)发起 TCP SYN 重传,观察到指数退避。 | **严重** | 硬编码的 Tor 节点列表尝试建立匿名 C2 通道;这些连接之前没有 DNS 解析。 | | **Kill-Switch** | 针对域名 `iuqerfsodp9ifj...com` 的 DNS 查询 | **确认缺失** | INetSim 配置为 DNS+HTTP 服务器以满足 kill-switch 的两个条件;加密依然完成——经静态分析确认为不含此域名的变体。 | | **SMB / EternalBlue** | 发往辅助 Windows 7 主机的 445 端口流量。 | **非结论性** | 观察到连接尝试;目标主机的 MS17-010 补丁状态会影响利用是否成功——被记录为有效的阴性/部分结果,而非确认的传播。 | ## 🗺️ MITRE ATT&CK 框架映射 | 战术 | 技术 (ID) | 观察 | | :--- | :--- | :--- | | **执行** | T1204 - 用户执行 | 用户手动解压了自解压 RAR 压缩包。 | | **执行** | T1106 - 原生 API | 衍生出 18 个以上的子进程用于并行加密。 | | **防御规避** | T1036 - 伪装 | 将文件重命名为 MD5 哈希;描述设置为“DiskPart” / “Load PerfMon Counters”;伪造了“Microsoft Corporation”属性。 | | **防御规避** | T1070 - 指标移除 | 读取并覆盖 BAM 注册表项以掩盖执行时间戳。 | | **发现** | T1083 - 文件与目录发现 | 递归枚举所有用户和系统目录(OneDrive, Public, WER),没有特定目标逻辑。 | | **C2** | T1090.003 - 多跳代理 | 尝试通过硬编码的 Tor 中继 IP 进行通信。 | | **C2** | T1571 - 非标准端口 | 使用 Tor ORPort (9001) 及 443/80 端口以融入正常流量。 | | **影响** | T1486 - 为影响而加密的数据 | 无差别加密文件并使用 `.WNCRY` 扩展名重命名。 | | **影响** | T1491 - 破坏(内部) | 用勒索信图像替换桌面壁纸。 | ## 🖼️ 视觉证据与工件 **1. 进程树 —— 伪装与并行加密** 主进程(PID 6508)伪装为“DiskPart”;18 个以上的 `@WanaDecryptor@.exe` 子实例伪装为“Load PerfMon Counters”,每个生命周期约 2 秒。 ![展示伪装与并行化的进程树](https://raw.githubusercontent.com/CyberTechSali/Analyse-Dynamique-du-Ransomware-WannaCry/main/images/procmon_process_tree.png) **2. 反取证 BAM 操纵** 完整序列:在 BAM 注册表项上执行 RegOpenKey (All Access) → RegQueryValue → RegSetValue → RegCloseKey。 ![ProcMon BAM 键操纵序列](https://raw.githubusercontent.com/CyberTechSali/Analyse-Dynamique-du-Ransomware-WannaCry/main/images/procmon_bam_sequence.png) **3. 加密流水线 (.WNCRYT → .WNCRY)** 顺序编号的临时文件证实了批处理的加密队列。 ![顺序 WNCRYT 文件](https://raw.githubusercontent.com/CyberTechSali/Analyse-Dynamique-du-Ransomware-WannaCry/main/images/procmon_wncryt_sequence.png) **4. 非选择性加密** 从探测空的公共文件夹过渡到加密真实的 OneDrive 内部数据库。 ![OneDrive 文件被加密](https://raw.githubusercontent.com/CyberTechSali/Analyse-Dynamique-du-Ransomware-WannaCry/main/images/procmon_onedrive_encryption.png) **5. 命名恶意软件证据 (Regshot)** 通过差异对比确认的 `WanaCrypt0r` 注册表项。 ![显示 WanaCrypt0r 键的 Regshot](https://raw.githubusercontent.com/CyberTechSali/Analyse-Dynamique-du-Ransomware-WannaCry/main/images/regshot_wanacrypt0r_key.png) **6. Tor C2 流量 (Wireshark)** 尝试连接硬编码 Tor 节点(端口 9001)但无响应的 SYN 数据包,以及用于测试 kill-switch 的网络模拟设置。 ![显示 Tor C2 尝试的 Wireshark](https://raw.githubusercontent.com/CyberTechSali/Analyse-Dynamique-du-Ransomware-WannaCry/main/images/wireshark_tor_traffic.png) ## ⚠️ 分析局限性与待解决问题 以下要素仍有待进一步调查: - **csrss.exe 交互**:观察到 PID 716 与恶意二进制文件一起访问了 Windows 应用程序兼容性数据库(`sysmain.sdb`)——这与任何启动的可执行文件的正常操作系统行为一致。Regshot 确认了其预期路径(`System32`)和执行上下文(SYSTEM 账户),尽管正式的数字签名验证仍待完成。 - **SMB/EternalBlue 传播**:网络中添加了一台辅助 Windows 7 主机;观察到了 445 端口上的连接尝试,但是否成功利用取决于目标的 MS17-010 补丁级别——有待完全确认。 - **持久化机制**:在此特定运行中未确认存在 `Run`/`RunOnce` 注册表项或新服务。 - **WannaCry 互斥锁**:在捕获的痕迹中尚未确认创建特征互斥锁(`MsWinZonesCacheCounterMutexA`)。 ## 📄 完整报告 如需完整的技术剖析,包括详细的按时间顺序排列的感染时间线以及完整的 ProcMon/Regshot 日志,请参阅附件文档(法语): - **[下载完整分析报告 (DOCX)](docs/Rapport_Final_WannaCry_Analyse_Dynamique.docx)** ## 🔒 建议 基于分析结果,建议采取以下防御措施: 1. **部署 EDR(端点检测与响应)**:重点关注针对批量文件加密(高 I/O 写入速率)的行为检测,而不是静态文件名或内部元数据,这两者都很容易被伪造。 2. **补丁管理**:确保将 MS17-010 (EternalBlue) 补丁应用于所有旧的 Windows 系统。考虑完全禁用 SMBv1。 3. **网络控制**:监控针对 Tor 特定端口(9001、9030)和已知 Tor 中继 IP 范围的出站流量。 4. **BAM 监控**:将对 BAM 注册表项的异常写入访问标记为潜在的反取证指标。 5. **备份策略**:维护离线的、不可变的备份,以确保在发生成功勒索软件加密时的可恢复性。 6. **用户意识**:培训用户识别并避免执行通过电子邮件收到的未经请求的自解压压缩包。 ## 👩‍💻 作者 **Ouchahed Salma** *网络安全分析师 / 逆向工程爱好者* [![LinkedIn](https://img.shields.io/badge/LinkedIn-Connect-blue?style=flat&logo=linkedin)](https://www.linkedin.com/in/salma-ouchahed-652189206/) [![GitHub](https://img.shields.io/badge/GitHub-Follow-black?style=flat&logo=github)](https://github.com/CyberTechSali) 静态分析作为联合恶意软件分析项目的一部分,与队友合作完成。 ## 📜 免责声明 本项目严格出于**教育和防御性研究目的**,在受控的、气隔的实验室环境中进行。作者不纵容将恶意软件用于任何非法或恶意活动。该样本获取自公共安全研究存储库,并完全按照最佳实践的隔离协议进行处理。
标签:DAST, DNS 反向解析, DNS 解析, WannaCry, 云资产清单, 勒索软件, 威胁情报, 开发者工具, 恶意软件分析, 逆向工程