Farooq-Syed/threat-hunting-log-analysis
GitHub: Farooq-Syed/threat-hunting-log-analysis
基于 Python 的轻量级威胁狩猎项目,通过分析多平台身份验证日志来检测暴力破解和可疑登录行为,并输出可操作的调查报告与可视化。
Stars: 0 | Forks: 0
# 威胁狩猎日志分析
本项目通过分析身份验证数据,识别暴力破解行为、多次失败后的可疑成功登录,以及具有异常活动模式的源 IP。
它支持三种输入格式:
- 标准化的 CSV 身份验证日志
- Linux `auth.log` 样式的 SSH 事件
- 专注于登录活动的 Windows Security 事件导出
## 功能
- 多格式日志摄入
- 基于源 IP 和用户名的暴力破解检测
- 失败后成功的关联分析
- 异常源 IP 活动检测
- 导出调查结果报告、摘要和图表
- 用于调查演练的轻量级 notebook
## 项目结构
```
.
|-- log_hunter.py
|-- requirements.txt
|-- .gitignore
|-- data/
| |-- sample_auth_logs.csv
| |-- sample_linux_auth.log
| `-- sample_windows_security_events.csv
|-- assets/
| |-- failed_logins_by_ip_sample.png
| `-- findings_by_type_sample.png
`-- notebooks/
`-- threat_hunting_walkthrough.ipynb
```
## 安装说明
```
python -m pip install -r requirements.txt
```
## 使用方法
运行标准化的 CSV 样本:
```
python log_hunter.py
```
运行 Linux auth log:
```
python log_hunter.py --input data/sample_linux_auth.log --format linux-auth
```
运行 Windows Security 事件导出:
```
python log_hunter.py --input data/sample_windows_security_events.csv --format windows-events
```
## 输出内容
脚本将输出以下文件:
- `output/hunting_report.csv`
- `output/summary.json`
- `output/plots/failed_logins_by_ip.png`
- `output/plots/findings_by_type.png`
## 示例图表
按源 IP 统计的失败登录:

按类型统计的调查结果:

## 实战说明
本项目围绕常见的身份验证遥测数据设计:
- Linux SSH 失败通常以 `Failed password` 和 `Accepted password` 记录的形式出现在 `auth.log` 中
- Windows 登录监控通常使用 Security 事件 `4624` 表示成功登录,使用 `4625` 表示失败登录
## 后续计划
- 增加基于时间窗口的突发检测
- 结合地理位置或威胁情报丰富源 IP 信息
- 直接解析 EVTX,而不是使用 CSV 导出
- 添加用于 Windows 特定调查示例的 notebook
标签:CSV处理, EDR, Linux auth.log, NoSQL, Python, Windows安全事件, 免杀技术, 安全巡检, 安全脚本, 异常登录检测, 无后门, 日志关联分析, 日志解析, 暴力破解检测, 源IP异常分析, 红队行动, 网络安全, 脆弱性评估, 证书伪造, 身份验证安全, 逆向工具, 隐私保护