T1n777/SpectreFlow
GitHub: T1n777/SpectreFlow
综合性恶意软件分析工具,结合静态分析、动态监控和威胁情报,提供可视化界面的一站式样本研判能力。
Stars: 1 | Forks: 0
╔════════════════════════════════════════════════════════════════╗
║ ║
║ ██████╗ ██████╗ ███████╗ ██████╗████████╗██████╗ ███████╗ ║
║ ██╔════╝ ██╔══██╗██╔════╝██╔════╝╚══██╔══╝██╔══██╗██╔════╝ ║
║ ╚█████╗ ██████╔╝█████╗ ██║ ██║ ██████╔╝█████╗ ║
║ ╚═══██╗ ██╔═══╝ ██╔══╝ ██║ ██║ ██╔══██╗██╔══╝ ║
║ ██████╔╝ ██║ ███████╗╚██████╗ ██║ ██║ ██║███████╗ ║
║ ╚═════╝ ╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝ ║
║ F L O W - 恶意软件分析套件 ║
╚════════════════════════════════════════════════════════════════╝
SpectreFlow 是一款综合性的恶意软件分析工具,结合了**静态分析**、**动态监控**和**威胁情报**,用于检测可执行文件和脚本中的恶意行为。
## 🚀 核心功能
### 🔍 静态分析
- **PE 分析**: 检测可疑导入、高熵节(加壳代码)以及数字签名验证。
- **控制流图 (CFG)**: 使用 **Radare2** 可视化执行流程。
- **YARA 扫描**: 集成 YARA 规则以检测已知威胁(勒索软件、键盘记录器、反调试)。
- **字符串分析**: 提取可疑字符串(URL、IP、Shell 命令)。
### ⚡ 动态分析
- **进程监控**: 跟踪 CPU 峰值、子进程生成和 Shell 调用。
- **网络监控**: 检测连接到可疑端口或非良性主机的连接。
- **文件系统监控**: 监视可疑的文件修改(例如勒索软件加密模式)以及对敏感目录的写入。
- **沙箱**:
- **Docker 沙箱** (Linux 目标): 在隔离容器中运行分析。
- **本地沙箱** (Windows 目标): 在安全约束和看门狗计时器下执行。
### 🛡 威胁情报
- **VirusTotal 集成**: 对照 VirusTotal 数据库检查文件哈希(需要 API 密钥)。
- **MalwareBazaar**: 将文件哈希与已知恶意软件样本进行交叉比对。
### 📊 可视化与报告
- **GUI 仪表板**: 实时分析日志、风险评分和交互式图表。
- **图形可视化器**: 控制流图的可视化表示。
- **JSON 报告**: 可导出的详细验证报告。
## 🛠 安装说明
### 前置条件
- **Python 3.10+**
- **[Radare2](https://rada.re/n/radare2.html)** (静态分析功能必需)
- **Docker** (可选,用于 Linux 容器化分析)
### 设置
1. 克隆仓库:
git clone https://github.com/T1n777/spectreflow.git
cd app
2. 安装依赖:
pip install -r ../requirements.txt
3. (可选) 配置 API 密钥:
- 打开 `config.py`
- 添加你的 VirusTotal API 密钥:
VIRUSTOTAL_API_KEY = "your_api_key_here"
## 🎮 使用方法
### GUI 模式 (默认)
只需运行主脚本即可启动欢迎界面:
```
python main.py
```
- 选择要分析的文件。
- 查看实时日志和最终判定。
- 点击 **"View Graph"** 查看控制流图。
### CLI 模式
直接从终端运行分析:
```
python main.py path/to/malware.exe --no-gui
```
### 选项
| 参数 | 描述 |
| :---------------- | :--------------------------------------------- |
| `target` | 要分析的文件路径 |
| `--duration` | 分析持续时间(秒)(默认值:15s) |
| `--static` | 启用深度静态分析(需要 Radare2) |
| `--visualize` | 分析后启动图形可视化器 |
| `--no-gui` | 在无头模式下运行(仅终端输出) |
| `--output
` | 将分析报告保存到 JSON 文件 |
| `--verbose`, `-v` | 启用调试日志记录 |
## 📂 项目结构
- **`main.py`**: 应用程序入口点。
- **`analyzer.py`**: 编排动态分析(进程、网络、文件)。
- **`static_analysis.py`**: 处理 Radare2 集成以进行 CFG 和指标分析。
- **`pe_analysis.py`**: 使用 `pefile` 解析 PE 头和节。
- **`risk_engine.py`**: 根据汇总结果计算风险评分。
- **`verdict_engine.py`**: 生成人类可读的判定(CLEAN、SUSPICIOUS、MALICIOUS)。
- **`report_gui.py`**: 基于 Tkinter 的结果仪表板。
- **`graph_visualizer.py`**: Matplotlib/NetworkX 图形可视化。
- **`container.py`**: 管理 Docker 和本地沙箱。
## 🏆 黑客松
本项目是为 PES 大学 **GronIT - 绿色计算俱乐部** 举办的第二届旗舰黑客松 **GENESYS 2.0** 构建的。
| 细节 | 信息 |
| :--- | :--- |
| **活动** | GENESYS 2.0 |
| **组织者** | [GronIT - The Green Computing Club](https://clubs.pes.edu/gronit/) |
| **部门** | 计算机科学系, PES University |
| **校区** | PESU RR Campus, 班加罗尔 |
| **形式** | 24 小时邦级黑客松 |
| **领域** | 网络安全, 通用 AI, AR-VR, 开放创新 |
| **Instagram** | [@gronit_pes](https://www.instagram.com/gronit_pes/) |
## 👥 作者
- Yatin R
- Virag Minche
- Yaduveer Pavan
- Yashwanth Karthik标签:DAST, DNS 反向解析, DNS通配符暴力破解, Mutation, PE文件分析, 二进制分析, 云安全监控, 云安全运维, 云资产清单, 代码熵检测, 可视化, 威胁情报, 子域名变形, 安全分析引擎, 开发者工具, 恶意软件分析, 控制流图, 数字签名验证, 沙箱, 特权检测, 网络安全, 网络安全审计, 行为监控, 请求拦截, 逆向工具, 逆向工程, 隐私保护, 静态分析