Vibsterr99/threat-hunt-notebooks
GitHub: Vibsterr99/threat-hunt-notebooks
基于假设驱动的威胁狩猎方法论文档集,包含6份结构化狩猎报告和3份根因分析案例,展示了从调查假设到检测改进的完整流程。
Stars: 0 | Forks: 0
# 威胁狩猎笔记
一个基于与 [detection-content-pack](https://github.com/Vibsterr99/detection-content-pack) 相同的 Wazuh 实验室基础设施构建的、由假设驱动的威胁狩猎组合。包含 6 份结构化的狩猎报告,涵盖端点、身份、网络、持久化、云和横向移动遥测数据——每一份都从一个假设开始,处理数据,记录无效线索,并将发现转化为检测改进。
## 这与检测工程有何不同
detection-content-pack 证明了我能够构建自动化规则。这个仓库证明了我能够调查数据、形成假设、追踪调查线索、解释我的发现(包括一无所获的情况),并将狩猎结果转化为更好的检测。在 SOC 中,检测工程师构建警报,而威胁猎人寻找警报遗漏的内容。
## 6 次狩猎
| 狩猎 | 假设 | 关键发现 |
|------|-----------|-------------|
| [H01](hunts/H01_powershell_abuse.md) | 端点上的 PowerShell/LOLBin 滥用 | 未发现滥用行为;将 Wazuh SCA 基线化为主要的 PowerShell 使用者;识别出 32 个缺少父进程数据的事件 |
| [H02](hunts/H02_identity_anomaly.md) | 异常登录后跟随特权操作 | 识别出 14 次事件的暴力破解集群 + 发现了意外的 Edge 浏览器身份验证失败 |
| [H03](hunts/H03_beaconing_dns.md) | 周期性出站流量表明存在 C2 信标 | 未发现信标模式;所有流量均确认为 Wazuh agent 通信和 Windows 多播 |
| [H04](hunts/H04_persistence_task_service.md) | 新任务/服务表明存在持久化 | schtasks 事件在 Wazuh 默认规则中不可见,而服务创建 (7045) 被检测到 —— 确认了检测盲区 |
| [H05](hunts/H05_cloud_iam_abuse.md) | IAM 更改揭示云权限提升 | 重构了完整的攻击生命周期:CreateUser → AttachUserPolicy → 3小时潜伏 → 13 秒内完成清理 |
| [H06](hunts/H06_lateral_movement_signals.md) | 远程执行揭示内部移动 | 从 WIN11-User01 到 WIN11-User02 的暴力破解尝试未实现横向移动;目标上无利用后活动 |
## 狩猎方法论
每次狩猎都遵循相同的结构:
1. 在接触任何数据之前陈述假设
2. 从广泛的查询开始以了解数据量
3. 转向以缩小调查范围 —— 按字段分组、按异常过滤、跨数据源关联
4. 记录发现和无效线索(经过调查并被排除的噪音也是过程的一部分)
5. 以基于狩猎经验的具体检测改进作为结束
## 数据源
| 来源 | 用于 | 查询方法 |
|--------|---------|-------------|
| Wazuh 归档 (JSON) | H01, H03, H04 | 在 SEC-LAB-01 上使用 grep + jq |
| Wazuh 警报索引 | H02, H04, H06 | Wazuh 仪表板 DQL 查询 |
| Suricata EVE JSON | H03, H06 | 在 SEC-LAB-01 上使用 grep + jq |
| AWS CloudTrail | H05 | AWS CLI lookup-events |
| Windows 安全日志 | H02, H06 | 通过 Wazuh 查询事件 ID 4624、4625 |
| Sysmon 进程事件 | H01, H04 | 通过 Wazuh 查询事件 ID 1、10 |
## 狩猎产生的检测改进
在 6 次狩猎中识别出了 12 项具体的改进。主要亮点:
- **H02:** 失败后成功关联 —— 最危险的暴力破解模式(失败集群后紧跟成功)未被单个失败警报检测到
- **H04:** Wazuh 的默认规则集无法检测基于 schtasks 的持久化 —— 需要自定义规则
- **H05:** 在 28 秒内 CreateUser 后跟 AttachUserPolicy 表明存在自动化权限提升
- **H06:** 工作站到工作站的 SMB 流量是一个强烈的横向移动指标,网络层检测可以捕获它
[detection-improvement-notes](rca/detection-improvement-notes/improvements_from_hunts.md) 中的完整改进列表。
## RCA 案例报告
3 份事件风格的根本原因分析报告展示了结构化的调查和文档记录:
1. [暴力破解与横向移动尝试](rca/incident-summary-templates/rca_bruteforce_lateral_movement.md) —— 从 WIN11-User01 到 WIN11-User02 的 14 次失败的 NTLM 身份验证
2. [云 IAM 权限提升](rca/incident-summary-templates/rca_cloud_privilege_escalation.md) —— AWS 中的 CreateUser → AdministratorAccess 生命周期
3. [LSASS 凭证访问尝试](rca/incident-summary-templates/rca_lsass_credential_access.md) —— Atomic Red Team T1003.001,在成功检测前经历了三次基础设施故障
## 仓库结构
```
threat-hunt-notebooks/
├── README.md
├── hunts/
│ ├── H01_powershell_abuse.md
│ ├── H02_identity_anomaly.md
│ ├── H03_beaconing_dns.md
│ ├── H04_persistence_task_service.md
│ ├── H05_cloud_iam_abuse.md
│ └── H06_lateral_movement_signals.md
├── queries/
│ ├── kql/hunt_queries.kql
│ └── spl/hunt_queries.spl
├── rca/
│ ├── incident-summary-templates/
│ │ ├── rca_bruteforce_lateral_movement.md
│ │ ├── rca_cloud_privilege_escalation.md
│ │ └── rca_lsass_credential_access.md
│ └── detection-improvement-notes/
│ └── improvements_from_hunts.md
└── dashboards/
└── hunt-log-and-coverage/
└── hunt_coverage.md
```
## 实验室基础设施
与 detection-content-pack 相同的实验室 —— 请参阅该仓库的 README 了解完整的架构细节。这些狩猎查询了相同的 Wazuh 数据、Suricata 流和 CloudTrail 事件,这些数据也是用来验证检测的。
## 诚实的声明
- KQL 和 SPL 狩猎查询分别是针对 Sentinel/Defender 和 Splunk 语法编写的,但未在这些平台上执行。实际的狩猎是使用 Wazuh 仪表板查询和对归档的 grep/jq 完成的。
- 该实验室是一个具有有限主机和有意模拟的受控环境。发现反映的是实验室规模的数据,而非企业规模的调查。
- 未发现恶意活动的狩猎 (H01, H03) 仍然产生了可操作的发现:基线、检测盲区和误报文档记录。
标签:AMSI绕过, C2通信, CSV导出, DNS分析, IPv6, IP 地址批量处理, LOLBins, Metaprompt, PE 加载器, PoC, PowerShell, Wazuh, 云IAM, 信标检测, 假设驱动狩猎, 协议分析, 嗅探欺骗, 威胁检测, 安全基线, 安全运营中心, 攻击模拟, 攻击生命周期, 教学环境, 暴力破解, 服务创建, 权限提升, 权限维持, 横向移动, 端点安全, 紫队, 编程规范, 网络安全, 网络映射, 补丁管理, 计划任务, 身份安全, 隐私保护, 驱动签名利用