Rkwankhade/Active-Threat-Hunting-System
GitHub: Rkwankhade/Active-Threat-Hunting-System
一款基于 Kali Linux 的主动威胁狩猎与攻击归因系统,集成日志解析与实时检测能力。
Stars: 0 | Forks: 0
# 🎯 主动威胁狩猎系统
### SOC 二级 | 攻击归因引擎 | Kali Linux
## 系统架构
```
threat_hunter/
├── main.py ← Entry point, interactive CLI + all modes
├── setup.sh ← One-command setup on Kali
├── core/
│ ├── threat_engine.py ← Core detection + attribution engine
│ │ ├── AttackerProfile ← Per-IP attacker dossier
│ │ └── ThreatHunter ← Detection + correlation engine
│ ├── log_parser.py ← Parses auth.log, syslog, apache, audit.log
│ └── network_monitor.py ← Live packet capture + connection tracking
├── dashboard/
│ └── dashboard.py ← Flask web dashboard (real-time UI)
├── data/ ← Runtime state
├── logs/ ← Alert logs (JSON)
└── reports/ ← Exported threat reports (JSON)
```
## 快速启动
```
# 安装依赖
chmod +x setup.sh && ./setup.sh
# 运行完整的 APT 模拟演示
python3 main.py --demo
# 或启动交互式菜单
python3 main.py
# 或启动 Web 仪表板
python3 dashboard/dashboard.py
# 打开浏览器:http://localhost:5000
# 实时监控(需要 root 权限进行 pcap)
sudo python3 main.py --live
# 分析您的实际系统日志
sudo python3 main.py --parse-logs
# 解析特定日志文件
python3 main.py --log /var/log/auth.log
```
## 检测能力
| 检测模块 | 捕获内容 | MITRE 技术 |
|---|---|---|
| 暴力破解检测器 | SSH/FTP/HTTP 登录风暴 | T1110 |
| 凭证填充 | 失败后的成功登录 | T1110.004 |
| 端口扫描检测器 | TCP SYN 扫描、服务发现 | T1046 |
| 横向移动 | SSH/RDP/SMB 主机间跳转 | T1021 |
| 可疑命令 | 反向 shell、下载载体、提权 | T1059 |
| Web 攻击检测器 | SQLi、XSS、路径遍历、RCE | T1190 |
| 数据外泄 | 大规模出站传输 | T1041 |
| 权限提升 | sudo 滥用、SUID exploitation | T1548 |
## 解析的日志来源
- `/var/log/auth.log` — SSH 登录、sudo、PAM
- `/var/log/syslog` — 系统事件
- `/var/log/fail2ban.log` — Fail2ban 封禁
- `/var/log/apache2/access.log` — Web 请求
- `/var/log/nginx/access.log` — Nginx 请求
- `/var/log/audit/audit.log` — 内核审计(execve、系统调用)
## 攻击者画像(按 IP 跟踪)
```
{
"ip": "45.33.32.156",
"session_id": "a3f2b891",
"threat_score": 87,
"threat_level": "CRITICAL",
"first_seen": "2024-01-15T14:32:11",
"last_seen": "2024-01-15T14:45:33",
"ttps": ["T1110.001", "T1059.004", "T1021.004", "T1041"],
"endpoints_accessed": ["10.0.0.5", "10.0.0.10", "10.0.0.20"],
"ports_probed": [22, 80, 443, 3306, 3389],
"failed_logins": 47,
"successful_logins": 1,
"commands_executed": ["whoami", "sudo -l", "wget http://...", "bash -i >& /dev/tcp/..."],
"lateral_movement": [
{"from": "web01", "to": "db01", "method": "SSH"},
{"from": "db01", "to": "fileserver", "method": "SMB"}
],
"attack_timeline": [
{"type": "PORT_SCAN", "severity": "HIGH", "mitre": "T1046", ...},
{"type": "BRUTE_FORCE", "severity": "HIGH", "mitre": "T1110", ...},
{"type": "LATERAL_MOVEMENT", "severity": "CRITICAL", "mitre": "T1021.004", ...}
]
}
```
## APT 杀伤链模拟(演示模式)
使用 `--demo` 标志运行完整的 **APT 攻击模拟**,展示全部 6 个阶段:
1. **侦察** — 多主机端口扫描
2. **初始访问** — SSH 暴力破解 → 凭证填充成功
3. **执行** — 权限后命令执行(反向 shell)
4. **权限提升** — sudo 滥用、SUID exploitation
5. **横向移动** — 跳转链:web01 → db01 → fileserver → backup
6. **数据外泄** — 外泄 650MB 至 C2 服务器
## 技术栈
- **Python 3.8+** — 核心引擎、日志解析、关联
- **Flask** — Web 仪表板
- **tcpdump** — 实时数据包捕获
- **/proc/net/tcp** — 无需 root 的连接跟踪
- **JSON** — 告警存储与报告导出
- **Threading** — 并行日志监控
## 添加 Wazuh 集成
要连接真实的 Wazuh 实例,在 `log_parser.py` 中添加:
```
# 解析 Wazuh 告警 API
import requests
WAZUH_URL = "https://localhost:55000"
WAZUH_TOKEN = "your-token"
def fetch_wazuh_alerts():
r = requests.get(f"{WAZUH_URL}/alerts",
headers={"Authorization": f"Bearer {WAZUH_TOKEN}"},
verify=False)
for alert in r.json()["data"]["affected_items"]:
src_ip = alert.get("agent", {}).get("ip")
if src_ip:
hunter.detect_suspicious_command(src_ip, "wazuh", alert["rule"]["description"], alert["agent"]["name"])
```
标签:AMSI绕过, APT 模拟, Cloudflare, Flask 仪表盘, FTP漏洞扫描, Homebrew安装, Linux 安全监控, MITRE ATT&CK, PE 加载器, Python 威胁狩猎, SOC Level 2, SSH 爆破检测, Web 攻击检测, WSL, 企业级威胁狩猎, 入侵归因, 凭证填充, 命令执行检测, 威胁检测, 安全编排, 实时仪表盘, 开源威胁狩猎平台, 插件系统, 攻击溯源, 日志解析, 横向移动, 流量捕获, 端口扫描检测, 编程规范, 网络信息收集, 网络拓扑, 证书伪造