bryanpmiller/wannacry_threathunt_report
GitHub: bryanpmiller/wannacry_threathunt_report
Stars: 0 | Forks: 0
# Wannacry 调查报告
在 **Azure Log Analytics Workspace** 中使用 **KQL** 调查**模拟的勒索软件活动**。
本仓库结合了 SOC 风格的事件报告和分步威胁狩猎演练。它重点关注包含 `want_to_cry` 的工件(包括以 `.want_to_cry` 结尾的文件名),以展示分析师如何验证影响、构建时间线以及检查横向移动。
## 展示的技能
- 使用 KQL 进行威胁狩猎
- Azure Log Analytics 中的日志分析
- 文件、进程、注册表和网络事件关联
- 横向移动验证
- MITRE ATT&CK 行为映射
- 事件响应文档和证据打包
## SOC 调查流程

## 调查时间线
```
flowchart LR
A[Initial artifact detection
want_to_cry indicators on vm-final-lab-wo] B[Impact window identification
rename and write burst analysis] C[Process lineage pivot
parent and child process validation] D[Registry tampering check
Defender exclusions review] E[Network activity validation
outbound connection review] F[Lateral movement check
cross-host spread validation] G[Final assessment
controlled simulation-like activity] A --> B --> C --> D --> E --> F --> G ``` ## 调查架构 ``` flowchart TD A[Analyst] --> B[Azure Log Analytics Workspace] B --> C1[DeviceFileEvents] B --> C2[DeviceProcessEvents] B --> C3[DeviceRegistryEvents] B --> C4[DeviceNetworkEvents] B --> C5[SecurityEvent optional] C1 --> D[KQL Threat Hunting Queries] C2 --> D C3 --> D C4 --> D C5 --> D D --> E1[Timeline Reconstruction] D --> E2[Process Correlation] D --> E3[Registry and Network Validation] D --> E4[Lateral Movement Assessment] E1 --> F[Investigation Findings] E2 --> F E3 --> F E4 --> F ``` 有关基于证据的时序详情,请参阅 [调查时间线报告](assets/report/investigation_timeline.md)。 ## 调查演练 请按顺序跟随演练: 1. [初步分类](assets/walkthrough/01_initial_triage.md) 2. [识别加密与模拟](assets/walkthrough/02_identifying_encryption_activity.md) 3. [进程调查](assets/walkthrough/03_process_investigation.md) 4. [注册表分析](assets/walkthrough/04_registry_analysis.md) 5. [网络活动](assets/walkthrough/05_network_activity.md) 6. [结论与置信度](assets/walkthrough/06_conclusion.md) 核心 KQL 序列: 1. [查找 Wannacry 文件](assets/kql_queries/01_find_want_to_cry_files.kql) 2. [识别加密开始时间](assets/kql_queries/02_encryption_start_time.kql) 3. [按进程关联文件活动](assets/kql_queries/03_file_activity_by_process.kql) 4. [检查 Defender 排除路径](assets/kql_queries/06_defender_exclusions_paths.kql) 5. [检查横向移动](assets/kql_queries/08_lateral_movement_check.kql) ## 关键调查要点 - 在 `vm-final-lab-wo` 上发现了包含 `want_to_cry` 的可疑工件。 - 活动范围仅限于单台主机和狭窄的时间窗口。 - 进程和注册表的排查结果支持这更像是模拟行为,而非活跃的爆发状况。 - 网络验证未显示活跃命令与控制 (C2) 的强烈指标。 - 范围内未发现经证实的横向移动证据。 ## MITRE ATT&CK 映射 请参阅 [MITRE ATT&CK 映射](assets/mitre_mapping/mitre_attack_mapping.md),查看与调查证据相关的教育性映射。 ## 复现调查 1. 打开 Azure Log Analytics Workspace 并转到 **Logs**。 2. 运行 [1 查找 Wannacry 文件](assets/kql_queries/01_find_want_to_cry_files.kql)。 检查点:确认 `want_to_cry` 工件存在且范围主机为 `vm-final-lab-wo`。 3. 运行 [2 识别加密开始时间](assets/kql_queries/02_encryption_start_time.kql)。 检查点:识别最早的影响信号和候选影响窗口。 4. 运行 [3 按进程关联文件活动](assets/kql_queries/03_file_activity_by_process.kql)。 检查点:将文件活动关联到负责的进程上下文。 5. 运行 [6 检查 Defender 排除路径](assets/kql_queries/06_defender_exclusions_paths.kql)。 检查点:确定 Defender 排除项是否表明可能存在防御规避。 6. 运行 [8 检查横向移动](assets/kql_queries/08_lateral_movement_check.kql)。 检查点:验证传播是否超出了单台主机范围。 7. 使用 `TimeGenerated` 作为规范时间戳字段,构建您的最终时间线和发现。
want_to_cry indicators on vm-final-lab-wo] B[Impact window identification
rename and write burst analysis] C[Process lineage pivot
parent and child process validation] D[Registry tampering check
Defender exclusions review] E[Network activity validation
outbound connection review] F[Lateral movement check
cross-host spread validation] G[Final assessment
controlled simulation-like activity] A --> B --> C --> D --> E --> F --> G ``` ## 调查架构 ``` flowchart TD A[Analyst] --> B[Azure Log Analytics Workspace] B --> C1[DeviceFileEvents] B --> C2[DeviceProcessEvents] B --> C3[DeviceRegistryEvents] B --> C4[DeviceNetworkEvents] B --> C5[SecurityEvent optional] C1 --> D[KQL Threat Hunting Queries] C2 --> D C3 --> D C4 --> D C5 --> D D --> E1[Timeline Reconstruction] D --> E2[Process Correlation] D --> E3[Registry and Network Validation] D --> E4[Lateral Movement Assessment] E1 --> F[Investigation Findings] E2 --> F E3 --> F E4 --> F ``` 有关基于证据的时序详情,请参阅 [调查时间线报告](assets/report/investigation_timeline.md)。 ## 调查演练 请按顺序跟随演练: 1. [初步分类](assets/walkthrough/01_initial_triage.md) 2. [识别加密与模拟](assets/walkthrough/02_identifying_encryption_activity.md) 3. [进程调查](assets/walkthrough/03_process_investigation.md) 4. [注册表分析](assets/walkthrough/04_registry_analysis.md) 5. [网络活动](assets/walkthrough/05_network_activity.md) 6. [结论与置信度](assets/walkthrough/06_conclusion.md) 核心 KQL 序列: 1. [查找 Wannacry 文件](assets/kql_queries/01_find_want_to_cry_files.kql) 2. [识别加密开始时间](assets/kql_queries/02_encryption_start_time.kql) 3. [按进程关联文件活动](assets/kql_queries/03_file_activity_by_process.kql) 4. [检查 Defender 排除路径](assets/kql_queries/06_defender_exclusions_paths.kql) 5. [检查横向移动](assets/kql_queries/08_lateral_movement_check.kql) ## 关键调查要点 - 在 `vm-final-lab-wo` 上发现了包含 `want_to_cry` 的可疑工件。 - 活动范围仅限于单台主机和狭窄的时间窗口。 - 进程和注册表的排查结果支持这更像是模拟行为,而非活跃的爆发状况。 - 网络验证未显示活跃命令与控制 (C2) 的强烈指标。 - 范围内未发现经证实的横向移动证据。 ## MITRE ATT&CK 映射 请参阅 [MITRE ATT&CK 映射](assets/mitre_mapping/mitre_attack_mapping.md),查看与调查证据相关的教育性映射。 ## 复现调查 1. 打开 Azure Log Analytics Workspace 并转到 **Logs**。 2. 运行 [1 查找 Wannacry 文件](assets/kql_queries/01_find_want_to_cry_files.kql)。 检查点:确认 `want_to_cry` 工件存在且范围主机为 `vm-final-lab-wo`。 3. 运行 [2 识别加密开始时间](assets/kql_queries/02_encryption_start_time.kql)。 检查点:识别最早的影响信号和候选影响窗口。 4. 运行 [3 按进程关联文件活动](assets/kql_queries/03_file_activity_by_process.kql)。 检查点:将文件活动关联到负责的进程上下文。 5. 运行 [6 检查 Defender 排除路径](assets/kql_queries/06_defender_exclusions_paths.kql)。 检查点:确定 Defender 排除项是否表明可能存在防御规避。 6. 运行 [8 检查横向移动](assets/kql_queries/08_lateral_movement_check.kql)。 检查点:验证传播是否超出了单台主机范围。 7. 使用 `TimeGenerated` 作为规范时间戳字段,构建您的最终时间线和发现。