sarandeny/Threat-Hunting-in-Azure-Investigating-PwnCrypt-Ransomware-Outbreak

GitHub: sarandeny/Threat-Hunting-in-Azure-Investigating-PwnCrypt-Ransomware-Outbreak

基于 Azure CyberRange 环境的 PwnCrypt 勒索软件威胁狩猎演练,使用 MDE 和 KQL 完整还原攻击链并记录事件响应全流程。

Stars: 0 | Forks: 0

# 威胁狩猎:零日勒索软件 — PwnCrypt 爆发调查 ## 📋 目录 - [概述](#overview) - [场景背景](#scenario-background) - [狩猎方法论](#hunt-methodology) - [关键发现](#key-findings) - [攻击链总结](#attack-chain-summary) - [MITRE ATT&CK 映射](#mitre-attck-mapping) - [采取的响应措施](#response-actions-taken) - [经验教训](#lessons-learned) - [KQL 查询参考](#kql-query-reference) - [项目结构](#project-structure) - [工具与技术](#tools--technologies) ## 概述 本仓库记录了一次**威胁狩猎演练**,模拟了真实的勒索软件爆发响应。该演练在使用 **Microsoft Defender for Endpoint (MDE)** 和 **Kusto Query Language (KQL)** 的实时 Azure CyberRange 环境中进行。在 CISO 因新闻报道一种名为 **PwnCrypt** 的新型勒索软件正在企业网络中积极传播而提出担忧后,触发了此次狩猎。 调查确认 `saranpc2` 已被 PwnCrypt 勒索软件**主动攻陷**。一个 PowerShell 脚本 (`pwncrypt.ps1`) 通过 `cmd.exe` 使用 `-ExecutionPolicy Bypass` 执行,使用 **AES-256** 加密文件并附加 `.pwncrypt` 扩展名。勒索信 (`decryption-instructions.txt`) 被投放至用户桌面,且通过 `notepad.exe` 进程事件确认了用户与加密文件的交互。 **前置结论 (BLUF):** 确认 PwnCrypt 勒索软件在 `saranpc2` 上处于活跃状态。利用 MDE 遥测数据重建了从 PowerShell 执行到文件加密再到勒索信投放的完整攻击链。该设备已被隔离并启动了重建。 ## 场景背景 新闻报道了一种名为 **PwnCrypt** 的新型勒索软件。已知特征如下: - **载荷:** 基于 PowerShell (`pwncrypt.ps1`) - **加密方式:** AES-256 - **目标目录:** `C:\Users\Public\Desktop` 及用户可访问的位置 - **文件重命名模式:** `hello.txt` → `hello.pwncrypt.txt` - **勒索信:** `decryption-instructions.txt` 投放至桌面 组织的安全态势存在以下重大风险因素: - 安全体系不成熟——没有正式的端点加固 - 缺乏用户安全意识培训——员工容易受到钓鱼攻击 - PowerShell 未受限制——未强制执行任何执行策略 - 未启用脚本块日志记录——无法实时捕获脚本内容 **假设:** ## 狩猎方法论 本次调查遵循结构化的**威胁狩猎生命周期**: ``` 1. Preparation → 2. Data Collection → 3. Data Analysis ↑ ↓ 7. Improvement ← 6. Documentation ← 4. Investigation ↓ 5. Response ``` 有关完整的分步演练,请参阅 [`reports/hunt-report.md`](reports/hunt-report.md)。 ## 关键发现 | 发现 | 详情 | |---|---| | **受影响设备** | `saranpc2` | | **勒索软件变种** | PwnCrypt | | **载荷** | `C:\ProgramData\pwncrypt.ps1` | | **执行方法** | `cmd.exe` → `powershell.exe -ExecutionPolicy Bypass` | | **加密算法** | AES-256 | | **添加的文件扩展名** | `.pwncrypt` (如 `hello.txt` → `hello.pwncrypt.txt`) | | **确认被加密的文件** | 多个——包括 `9165_CompanyFinancials_pwncrypt.csv` | | **勒索信** | `decryption-instructions.txt` 投放至桌面 | | **暂存目录** | `C:\Windows\Temp` → 加密后文件被移至桌面 | | **确认的用户交互** | `notepad.exe` 打开了加密文件和勒索信 | | **执行时间戳** | `2026-03-28T07:14:47.6594518Z` | ## 攻击链总结 ``` cmd.exe └─→ powershell.exe -ExecutionPolicy Bypass └─→ pwncrypt.ps1 executes ├─→ Files encrypted with AES-256 ├─→ .pwncrypt extension appended ├─→ Encrypted files written to C:\Windows\Temp ├─→ Files moved/renamed to Desktop └─→ decryption-instructions.txt dropped to Desktop └─→ notepad.exe opens ransom note (user impact confirmed) ``` ## MITRE ATT&CK 映射 | TTP ID | 技术 | 战术 | 观察到的行为 | |---|---|---|---| | [T1059.001](https://attack.mitre.org/techniques/T1059/001/) | PowerShell | 执行 | `pwncrypt.ps1` 通过 `-ExecutionPolicy Bypass` 运行 | | [T1059.003](https://attack.mitre.org/techniques/T1059/003/) | Windows 命令行界面 | 执行 | `cmd.exe` 用于启动 PowerShell | | [T1218.011](https://attack.mitre.org/techniques/T1218/011/) | 签名二进制代理执行: Rundll32 | 防御规避 | PowerShell (签名的微软二进制文件) 被滥用于运行恶意脚本 | | [T1105](https://attack.mitre.org/techniques/T1105/) | 入站工具传输 | 命令与控制 | `pwncrypt.ps1` 通过 `Invoke-WebRequest` 下载 | | [T1486](https://attack.mitre.org/techniques/T1486/) | 数据加密造成影响 | 影响 | 使用 AES-256 加密文件并附加 `.pwncrypt` 扩展名 | | [T1566](https://attack.mitre.org/techniques/T1566/) | 钓鱼 (可能的初始访问) | 初始访问 | 可能的投递途径——日志中未直接观察到 | | [T1547](https://attack.mitre.org/techniques/T1547/) | 启动或登录自动执行 | 持久化 | 潜在的持久化机制——需进一步调查 | 完整分析请参阅 [`mitre/ttp-mapping.md`](mitre/ttp-mapping.md)。 ## 采取的响应措施 **遏制:** 1. **通过 MDE 隔离设备** — `saranpc2` 已从网络中移除以防止横向移动 2. **禁用网络连接** — 设备被置于隔离区 **根除:** 3. **终止恶意进程** — 终止了运行 `pwncrypt.ps1` 的 `powershell.exe` 实例 4. **移除载荷** — 删除了 `C:\ProgramData\pwncrypt.ps1` 及相关产物 5. **完整 EDR 扫描** — 对端点进行扫描以查找残留的恶意组件 **恢复:** 6. **文件恢复** — 在可能的情况下,从干净的备份中恢复了受影响的文件 7. **启动重建** — 由于无法保证完整性,对设备进行了重装镜像 8. **凭据重置** — 轮换了受影响用户的凭据 ## 经验教训 - 🔴 **基于 IoC 的狩猎行之有效** — 掌握 `.pwncrypt.*` 文件模式使我们能够立即转向在 `DeviceFileEvents` 中进行确认 - 🔴 **勒索软件会留下清晰的签名** — 在极短的时间内发生快速的 `FileCreated` + `FileRenamed` 事件是毋庸置疑的 - 🔴 **用户影响证实了执行** — `notepad.exe` 打开勒索信是一个关键数据点,证明攻击达到了其预期的影响 - 🟡 **Temp 目录暂存** — 文件在 `C:\Windows\Temp` 中处理后出现在桌面上,这是一个值得关注的常见勒索软件模式 - 🟢 **时间戳追踪** — 在首个加密文件创建时间的 ±3 分钟内提取进程事件,瞬间精准定位了攻击链 - 🟢 **MDE 遥测在加密后幸存** — 尽管文件已被加密,MDE 日志数据依然完好且可查询 ## KQL 查询参考 本次狩猎中使用的所有 KQL 查询均记录在 [`queries/kql-queries.md`](queries/kql-queries.md) 中,包括: - 针对扩展名的基于 IoC 的文件搜索 - 带时间戳的进程事件追踪,以识别执行链 - 快速文件重命名检测 (勒索软件行为模式) - 用于勒索软件预警的检测工程规则 ## 项目结构 ``` 📁 soc-ransomware-pwncrypt/ ├── 📄 README.md ← You are here ├── 📁 reports/ │ └── 📄 hunt-report.md ← Full investigation report ├── 📁 queries/ │ └── 📄 kql-queries.md ← All KQL queries with explanations ├── 📁 mitre/ │ └── 📄 ttp-mapping.md ← MITRE ATT&CK framework mapping ├── 📁 playbooks/ │ └── 📄 ransomware-response.md ← IR playbook for ransomware scenarios └── 📁 assets/ ├── 📄 timeline.md ← Attack timeline reconstruction └── 📁 screenshots/ ├── 📄 README.md ← Screenshot index ├── 01-pwncrypt-file-events.png ← DeviceFileEvents showing encrypted files ├── 02-pwncrypt-file-events-2.png ← Extended file event results └── 03-process-events-chain.png ← Process chain — cmd → powershell → pwncrypt ``` ## 工具与技术 | 工具 | 用途 | |---|---| | **Microsoft Defender for Endpoint (MDE)** | 端点遥测、遏制和 EDR 扫描 | | **Kusto Query Language (KQL)** | 跨文件和进程事件的基于 IoC 的狩猎 | | **Microsoft Sentinel / MDE Portal** | SIEM/XDR 查询接口 | | **MITRE ATT&CK Navigator** | TTP 映射和杀伤链分析 | | **Azure CyberRange** | 用于实操模拟的实验室环境 | | **PwnCrypt (`pwncrypt.ps1`)** | 模拟勒索软件载荷 (受控实验室环境) | ## 实验室免责声明 ## 关于此项目 本项目是作为 **CyberRange 勒索软件响应演练** 的一部分完成的,模拟了真实世界的 SOC 分析师调查。它展示了: - 使用已知勒索软件签名进行基于 IoC 的威胁狩猎 - 文件和进程事件关联,以重建勒索软件杀伤链 - MITRE ATT&CK 框架跨 7 个 TTP 的应用 - 完整的事件响应生命周期——从检测到遏制和恢复 - 针对勒索软件的专项检测工程 *最后更新:2026 年 3 月 28 日 | 作者:Saran*
标签:AES-256加密, AI合规, Azure, DAST, DNS 反向解析, EDR, KQL, Kusto Query Language, MDE, Microsoft Defender for Endpoint, OpenCanary, PowerShell攻击, PwnCrypt, 勒索软件, 安全取证, 安全运营中心, 库, 应急响应, 恶意软件分析, 攻击链分析, 端点检测与响应, 紫队, 网络安全, 网络映射, 网络靶场, 脆弱性评估, 脱壳工具, 隐私保护, 零日漏洞