beathunterzero/cyber-threat-hunting-lab-logs
GitHub: beathunterzero/cyber-threat-hunting-lab-logs
一个面向假设驱动威胁狩猎实践的受控实验室证据库,提供结构化调查工作流、Kusto 查询开发和多工具分析支持。
Stars: 1 | Forks: 0
# 🎯 Cyber Threat Hunting 实验室日志
受控的实验室日志、PCAP 文件、Kusto 查询以及用于 Cyber Threat Hunting 实践的操作笔记,专注于可重现、假设驱动的调查。
本仓库被设计为一个**可重现的实验室证据库**,而不是通用的笔记备份或海量的日志集合。
它遵循以下标准:
- MITRE ATT&CK
- Cyber Kill Chain
- 假设驱动的威胁狩猎
- 检测工程
- 安全遥测分析
## 📌 目的
本项目旨在:
- 存储用于威胁狩猎实践的受控日志
- 支持假设驱动的调查
- 将实验室证据与最终报告分离
- 记录可复用的 Kusto Query Language 逻辑
- 保留分析师笔记和调查上下文
- 支持使用 Elastic Security、Kibana、Wireshark 和 Velociraptor 进行实际分析
目标不是收集尽可能多的日志。
目标是为 Cyber Threat Hunting 实践维护干净、安全、专注且可重现的证据。
## 🧭 方法论
本仓库遵循受控的狩猎工作流:
1. 选择日志、PCAP 或实验室证据源
2. 定义或处理狩猎假设
3. 使用适当的工具分析证据
4. 记录工作笔记、已测试的逻辑、观察结果和局限性
5. 在适用时,将相关发现转换为 Kusto Query Language
6. 将可复用的查询存储在 `queries.kql` 中
7. 在主 `cyber-threat-hunting` 仓库中记录最终的假设报告
本仓库遵循以下原则:
```
one evidence source = one investigation context = one reproducible workflow
```
## 🗂️ 仓库结构
```
cyber-threat-hunting-lab-logs/
│
├── docs/
│ ├── data-handling.md
│ ├── ingestion-notes.md
│ └── lab-workflow.md
│
├── logs/
│ ├── firewall/
│ ├── windows/
│ └── pcap/
│
├── hypotheses/
│ └── HYP-XX-short-description/
│ ├── README.md
│ ├── notes.md
│ └── queries.kql
│
├── .gitignore
├── LICENSE
└── README.md
```
当添加新的证据类型时,会在 `logs/` 下逐步创建新目录。
未来的日志源示例可能包括:
- Linux 日志
- AWS CloudTrail 日志
- Azure / Entra ID 日志
- Sysmon 日志
- Velociraptor artifact 输出
- 其他防火墙、代理或网络遥测数据
## 📖 文档
`docs/` 目录包含安全使用本仓库的操作文档。
当前文档:
- `data-handling.md`
定义可以存储的数据类型、必须排除的内容,以及在发布前应如何清理日志。
- `ingestion-notes.md`
描述针对 Elastic、Kibana、Wireshark、Velociraptor 和其他分析工具的受控数据摄取实践。
- `lab-workflow.md`
定义添加证据、创建假设文件夹、分析日志、保存查询和引用最终报告的标准工作流。
## 📁 日志
`logs/` 目录包含用于 Cyber Threat Hunting 实践的受控实验室证据。
当前的源类别:
- `firewall/`
- `windows/`
- `pcap/`
随着时间的推移,本仓库可能会增加额外的目录,例如:
```
logs/linux/
logs/aws/
logs/azure/
logs/velociraptor/
```
只有在确实有真实的实验室材料需要存储时,才应创建目录。
本仓库不应包含:
- 生产日志
- 企业日志
- 客户数据
- 个人端点收集
- 未清理的遥测数据
- 凭证、令牌、密钥或机密信息
## 🎯 假设驱动的威胁狩猎
`hypotheses/` 目录包含每个实验室案例的操作材料。
每个假设文件夹应遵循以下结构:
```
hypotheses/HYP-XX-short-description/
├── README.md
├── notes.md
└── queries.kql
```
文件职责:
- `README.md`
记录正式的假设、调查上下文、使用的证据、目标、发现摘要以及与最终报告的关系。
- `notes.md`
用作分析师日志。它可以包含原始观察结果、测试过的 Elastic 查询、EQL 片段、Wireshark 过滤器、解析问题、事件笔记、误报以及调查决策。
- `queries.kql`
存储最终可复用的 **Kusto Query Language** 查询。这些查询应代表经过验证的发现、可用于检测的逻辑、狩猎逻辑或抑制逻辑。
## 🧪 支持的分析工具
本仓库支持使用以下工具的实验室工作流:
- Elastic Security
- Kibana
- Kusto Query Language
- Wireshark
- Velociraptor
- 本地日志分析
- 在受控环境中使用的其他防御性安全工具
当 Elastic、EQL、ES|QL、Wireshark 过滤器或 Velociraptor VQL 作为工作调查过程的一部分时,可以将其记录在 `notes.md` 中。
当最终的可用检测或狩猎逻辑可以用 Kusto Query Language 表示时,应将其放置在 `queries.kql` 中。
## 🔎 查询语言约定
本仓库使用以下约定:
```
queries.kql
→ Kusto Query Language / Microsoft KQL
notes.md
→ Analyst notes, Elastic/Kibana queries, EQL snippets, ES|QL, VQL, Wireshark filters, observations, and field mapping notes
```
这可以避免以下概念之间的混淆:
- KQL: Kusto Query Language
- Elastic KQL: Kibana Query Language
- EQL: Elastic Event Query Language
- ES|QL: Elasticsearch Query Language
- VQL: Velociraptor Query Language
## 🧱 与其他仓库的关系
本仓库是更广泛的 Cyber Threat Hunting 项目集的一部分。
建议的分离方式:
```
cyber-threat-hunting-lab-logs
→ Logs, PCAPs, operational notes, reproducibility material, and final Kusto queries
cyber-threat-hunting
→ Final hypothesis reports, structured analysis, methodology, findings, and conclusions
elastic-security-lab
→ Elastic Stack lab environment, ingestion pipeline, Kibana, Filebeat, and SIEM practice infrastructure
```
这种分离使每个仓库保持专注且更易于说明。
## 📍 范围
本仓库旨在用于:
- Cyber Threat Hunting 实践
- 基于实验室的调查
- 检测工程支持
- Kusto 查询开发
- 面向 SIEM 的分析
- 基于 Wireshark 的流量分析
- 基于 Velociraptor 的端点狩猎实践
- 专业作品集开发
本仓库不旨在用于:
- 生产事件存储
- 企业证据处理
- 恶意软件样本托管
- 通用 DFIR 案例管理
- 私密或敏感数据存储
## 🔐 数据处理
所有日志和证据必须是:
- 合成的
- 公开且可再分发的
- 实验室生成的
- 经过脱敏处理的
- 可安全发布的
在提交任何日志、PCAP、artifact、笔记或查询之前,请查阅:
```
docs/data-handling.md
```
切勿提交凭证、令牌、私钥、真实用户数据、企业主机名、内部域名或敏感基础设施详细信息。
## 🧾 标准案例工作流
建议的工作流:
```
1. Add the log or evidence file under logs//
2. Create a hypothesis folder only when the case will be worked
3. Analyze the evidence using the appropriate tool
4. Record operational observations in notes.md
5. Store final reusable Kusto logic in queries.kql
6. Write or reference the final report in cyber-threat-hunting
7. Commit only safe and relevant material
```
假设文件夹示例:
```
hypotheses/HYP-01-emotet-c2-firewall/
├── README.md
├── notes.md
└── queries.kql
```
## 🧱 定位
本仓库代表:
- 一个受控的 Threat Hunting 实验室证据库
- 一个可重现的调查工作区
- 一个支持 Kusto 查询开发的仓库
- Elastic 实验室分析与最终专业报告之间的桥梁
- 一个面向 SOC 的项目集
## 👤 作者
**beathunterzero**
Cyber Threat Hunting & Security
[[cyber-threat-hunting/README|README]]
标签:Beacon Object File, Cloudflare, Cyber Threat Hunting, Detection Engineering, EDR, Elastic Security, IP 地址批量处理, KQL, Kusto查询语言, MITRE ATT&CK, PCAP分析, Python 实现, Velociraptor, Windows安全日志, Wireshark, 假设驱动调查, 句柄查看, 安全事件响应, 安全分析师, 安全遥测分析, 实验室日志, 插件系统, 无线安全, 流量嗅探, 用户态调试, 端点检测与响应, 管理员页面发现, 紫队, 网络安全, 网络安全审计, 网络攻防, 网络流量分析, 脆弱性评估, 脱壳工具, 越狱测试, 防火墙日志, 隐私保护