Debolina1303/FORENSIQ
GitHub: Debolina1303/FORENSIQ
ForensIQ 是一个集成内存取证、机器学习异常检测和网络分析的统一数字取证 Web 框架,旨在简化和自动化网络攻击的调查流程。
Stars: 0 | Forks: 0
# ForensIQ — 统一数字取证框架
一个用于内存取证、基于 ML 的异常检测、
rootkit 检测和超级时间线生成的全栈 Web 应用程序。
## 快速开始 (Mac)
```
# 1. 打开 Terminal 并导航到该文件夹
cd forensic-app
# 2. 运行 setup script(安装所有内容并启动)
chmod +x run.sh
./run.sh
# 3. 打开浏览器
open http://localhost:5050
```
## 功能介绍
| 标签页 | 内容说明 |
|---|---|
| **Upload** | 拖放 `.vmem` / `.dmp` 内存转储文件 |
| **Summary** | 攻击概述、高风险进程、C2 连接 |
| **Processes** | 包含 ML 异常评分和风险条的完整进程列表 |
| **Network** | 所有网络连接,C2 通道以红色标记 |
| **Rootkit** | pslist 与 psscan 交叉对比视图 — 隐藏的 DKOM 进程 |
| **Timeline** | 按时间顺序合并所有证据的超级时间线 |
| **ML Results** | 包含可解释原因的各个进程异常评分 |
## 连接真实的 Volatility
默认情况下,应用程序使用逼真的模拟数据,因此您可以在没有真实
内存转储的情况下进行探索。要连接真实的 Volatility 3 输出:
1. 安装 Volatility 3:`pip install volatility3`
2. 针对您的内存转储运行:
python3 -m volatility3 -f your_dump.vmem windows.pslist > pslist.txt
python3 -m volatility3 -f your_dump.vmem windows.psscan > psscan.txt
python3 -m volatility3 -f your_dump.vmem windows.netstat > netstat.txt
3. 在 `app.py` 中,更新 `parse_or_simulate_pslist()` 以从这些文件中读取数据。
## 训练您自己的 ML 模型
请参阅 `train_model.py` 了解以下内容:
- **Isolation Forest**(无需标注数据)
- **Random Forest**(使用 CIC-MalMem-2022 数据集)
将您训练好的 `model.pkl` 放入 `models/` 文件夹中,应用程序将会自动使用它。
## 技术栈
- **后端**:Python / Flask
- **ML**:scikit-learn (Isolation Forest + Random Forest)
- **取证**:Volatility 3(内存分析)
- **前端**:原生 HTML/CSS/JS(无需构建步骤)
- **可选**:通过 Docker 使用 ELK Stack 来展示 Kibana 仪表板
## 项目结构
```
forensic-app/
├── app.py ← Flask backend + analysis pipeline
├── templates/
│ └── index.html ← Full web UI
├── requirements.txt ← Python dependencies
├── run.sh ← One-click Mac launcher
├── uploads/ ← Uploaded memory dumps go here
└── models/ ← Trained ML models go here
```
标签:Apex, Flask, JARM, Python, Volatility 3, Windows 调试器, 全栈应用, 内存分析, 后端开发, 提权工具, 数字取证, 无后门, 机器学习, 自动化脚本, 请求拦截, 逆向工具