BartChmiel/mini-incident-response-threat-hunting-lab
GitHub: BartChmiel/mini-incident-response-threat-hunting-lab
基于 Python/Pandas 的微型事件响应与威胁狩猎实验室,通过结构化样本日志演示常见检测、MITRE 映射和分诊记录生成的完整流程。
Stars: 0 | Forks: 0
# 微型事件响应与威胁狩猎实验室
个人网络安全项目,进行中
2026年5月 - 至今
## 概述
本实验室使用结构化的 JSON/CSV 日志(用于身份验证、端点和网络安全事件),模拟一个小型的事件响应与威胁狩猎工作流。
当前实现包括:
- 身份验证、端点和网络的遥测样本数据。
- 使用 Python/Pandas 检测常见的可疑行为。
- 每种发现类型的 MITRE ATT&CK 映射。
- Markdown 分诊记录,包含时间线重建、受影响实体、指标、严重性、误报考量及后续步骤。
- 已检测到的发现和汇总时间线复查的 CSV 输出。
## 检测覆盖范围
| 检测项 | 数据源 | ATT&CK 映射示例 |
| --- | --- | --- |
| 暴力破解身份验证尝试 | `data/auth_logs.csv` | T1110 - Brute Force |
| 多次失败后成功登录 | `data/auth_logs.csv` | T1078 - Valid Accounts, T1110 - Brute Force |
| 可疑的 PowerShell 执行 | `data/endpoint_events.jsonl` | T1059.001 - PowerShell |
| 非工作时间的成功登录 | `data/auth_logs.csv` | T1078 - Valid Accounts |
| 特权和账户管理事件 | `data/auth_logs.csv` | T1098 - Account Manipulation |
| 可疑的出站网络活动 | `data/network_events.csv` | T1071 - Application Layer Protocol, T1105 - Ingress Tool Transfer |
## 项目结构
```
mini-incident-response-threat-hunting-lab/
data/
auth_logs.csv
endpoint_events.jsonl
network_events.csv
docs/
mitre_mapping.md
reports/
README.md
src/
ir_lab/
__init__.py
detections.py
triage.py
run_hunt.py
tests/
test_detections.py
requirements.txt
```
## 快速开始
创建虚拟环境并安装依赖:
```
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
```
运行狩猎工作流:
```
python .\src\run_hunt.py --data-dir .\data --output-dir .\reports
```
预期输出:
- `reports/findings.csv`
- `reports/timeline.csv`
- `reports/triage_notes.md`
运行基础测试套件:
```
python -m unittest discover -s tests
```
如果 `pip install pandas` 提示包已安装,但脚本仍报告 `Missing dependency: pandas`,请通过运行该实验室的同一解释器进行安装:
```
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\.venv\Scripts\python.exe .\src\run_hunt.py --data-dir .\data --output-dir .\reports
```
## 示例工作流
1. 从 `data/` 提取结构化样本日志。
2. 在 `src/ir_lab/detections.py` 中运行检测逻辑。
3. 将可疑事件标准化为可用于审计的发现记录。
4. 重建调查时间线。
5. 生成用于分析师审查的 Markdown 分诊记录。
## 分析师说明
数据集经过有意缩减,并使用了文档专用的 IP 地址范围(例如 `203.0.113.0/24` 和 `198.51.100.0/24`)。这些是安全的占位符,而非真实指标。
本项目被设计为一个作品集实验室,可通过以下方式扩展:
- 更多 Windows Event ID 概念。
- Sigma 风格的规则元数据。
- 额外的端点遥测。
- 更真实的身份提供者日志。
- 单元测试和 CI 检查。
- 在 Jupyter 或 Streamlit 中构建仪表板。
标签:Cloudflare, Homebrew安装, IP 地址批量处理, MITRE ATT&CK, OpenCanary, PowerShell监控, Python, 事件分诊, 代码示例, 免杀技术, 安全取证, 安全实验室, 安全运营, 库, 应急响应, 开源安全项目, 异常检测, 扫描框架, 数据分析, 无后门, 暴力破解检测, 端点安全, 红队行动, 网络信息收集, 网络安全, 网络流量分析, 蓝军, 补丁管理, 身份验证安全, 逆向工具, 防御加固, 隐私保护