TheyDreez/ShadowTrace
GitHub: TheyDreez/ShadowTrace
一个基于 Python、Splunk 和 MITRE ATT&CK 的自动化威胁狩猎实验室,通过模拟攻击到检测分析的完整 pipeline 帮助安全从业者提升实战技能。
Stars: 0 | Forks: 0
# 🕵️ ShadowTrace







## 📌 概述
**ShadowTrace** 是一个个人网络安全实验室,旨在使用开源工具来模拟、检测和分析现实世界中的攻击技术。该项目自动化了整个威胁狩猎 pipeline —— 从日志摄取和异常检测到实时告警和执行报告生成 —— 并将每项发现直接映射到 MITRE ATT&CK 框架。
构建此实验室是为了培养以下方面的实操技能:
- 威胁狩猎和日志分析
- 基于 Python 的安全自动化
- 事件检测与响应
- MITRE ATT&CK 技术映射
- 应用于异常检测的机器学习
- 实时告警和仪表盘可视化
## 🏗️ 架构
```
Kali Linux VM → Attack Simulation (Metasploit)
↓
Log Generation
↓
Splunk (Log Ingestion & SIEM)
↓
Python Threat Detection Engine
├── Anomaly Detection (Machine Learning / sklearn)
├── MITRE ATT&CK Mapper
├── VirusTotal API (IP/Hash enrichment)
└── Alert Engine (Email + Telegram)
↓
Streamlit Dashboard (Real-time visualization)
↓
Automated PDF Report
```
## 🔍 模拟的攻击技术
| 技术 ID | 名称 | 战术 |
|---|---|---|
| T1110 | 暴力破解 | 凭证获取 |
| T1046 | 网络服务扫描 | 发现 |
| T1078 | 有效账户 | 防御规避 |
| T1059 | 命令和脚本解释器 | 执行 |
| T1003 | 操作系统凭证转储 | 凭证获取 |
| T1071 | 应用层协议 | 命令与控制 |
| T1055 | 进程注入 | 防御规避 |
## ⚙️ 技术栈
| 工具 | 用途 |
|---|---|
| Kali Linux | 攻击模拟环境 |
| Metasploit Framework | 漏洞利用和攻击模拟 |
| Splunk Free | 日志摄取和 SIEM |
| Python 3.10+ | 威胁检测自动化 |
| scikit-learn | 机器学习异常检测 |
| Streamlit | 实时威胁仪表盘 |
| Flask | 用于告警管理的 Web API |
| VirusTotal API | IP 和 hash 丰富化 |
| Telegram Bot API | 实时威胁告警 |
| MITRE ATT&CK | 威胁情报框架 |
## 📂 项目结构
```
shadowtrace/
├── hunter/
│ ├── splunk_connector.py # Splunk API integration
│ ├── threat_detector.py # Core detection logic
│ ├── anomaly_detector.py # ML-based anomaly detection (sklearn)
│ ├── mitre_mapper.py # Maps findings to ATT&CK techniques
│ ├── virustotal_enricher.py # VirusTotal IP/hash lookup
│ ├── alert_engine.py # Email + Telegram alerts
│ └── report_generator.py # Automated PDF report generation
├── dashboard/
│ └── app.py # Streamlit real-time dashboard
├── logs/
│ └── sample_logs/ # Sample log files for testing
├── reports/
│ └── sample_report.pdf # Example output report
├── models/
│ └── anomaly_model.pkl # Trained ML model
├── requirements.txt
└── README.md
```
## 📊 仪表盘预览
- 实时攻击时间线
- MITRE ATT&CK 热力图
- 经过 VirusTotal 丰富化的 Top 可疑 IP
- 告警历史和严重性分类
## 🚨 告警系统
ShadowTrace 会在检测到威胁时发送实时告警:
- **电子邮件告警**,包含攻击摘要和 MITRE 技术
- **Telegram Bot** 通知,附带严重级别
- **PDF 报告**,在每次狩猎会话后自动生成
## 🤖 机器学习模块
使用 **Isolation Forest** (scikit-learn) 来检测日志数据中的行为异常:
- 检测异常的登录模式(时间、频率、位置)
- 标记异常的网络流量
- 识别权限提升尝试
- 随着新日志数据的加入不断改进
## 🚀 路线图
- [x] 实验室架构设计
- [x] MITRE ATT&CK 技术映射
- [ ] Kali Linux + Splunk 环境搭建
- [ ] 使用 Metasploit 进行攻击模拟
- [ ] Python Splunk API 连接器
- [ ] 核心威胁检测引擎
- [ ] 机器学习异常检测器 (Isolation Forest)
- [ ] MITRE ATT&CK 映射器
- [ ] VirusTotal API 丰富化
- [ ] Telegram + 电子邮件告警系统
- [ ] Streamlit 实时仪表盘
- [ ] 自动化 PDF 报告生成器
- [ ] 用于告警管理的 Flask API
- [ ] 包含截图的完整实验室文档
## 👤 作者
**André Rogério Da Silva Filho**
IT 支持与基础设施分析师 | 网络安全爱好者
[LinkedIn](https://linkedin.com/in/andré-silvaf) · [电子邮件](mailto:andrerogeriofilho@outlook.com)
标签:Kubernetes, Python, 异常检测, 插件系统, 无后门, 逆向工具