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, 企业级威胁狩猎, 入侵归因, 凭证填充, 命令执行检测, 威胁检测, 安全编排, 实时仪表盘, 开源威胁狩猎平台, 插件系统, 攻击溯源, 日志解析, 横向移动, 流量捕获, 端口扫描检测, 编程规范, 网络信息收集, 网络拓扑, 证书伪造