TheyDreez/ShadowTrace

GitHub: TheyDreez/ShadowTrace

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

Stars: 0 | Forks: 0

# 🕵️ ShadowTrace ![Python](https://img.shields.io/badge/Python-3.10+-blue?style=flat-square&logo=python) ![Splunk](https://img.shields.io/badge/Splunk-Free-black?style=flat-square&logo=splunk) ![MITRE ATT&CK](https://img.shields.io/badge/MITRE-ATT%26CK-red?style=flat-square) ![Flask](https://img.shields.io/badge/Flask-Dashboard-green?style=flat-square&logo=flask) ![Streamlit](https://img.shields.io/badge/Streamlit-Visualization-ff4b4b?style=flat-square&logo=streamlit) ![VirusTotal](https://img.shields.io/badge/VirusTotal-API-blue?style=flat-square) ![Status](https://img.shields.io/badge/Status-In%20Development-yellow?style=flat-square) ## 📌 概述 **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, 异常检测, 插件系统, 无后门, 逆向工具