Turki-AlTamimi/ForensicWire
GitHub: Turki-AlTamimi/ForensicWire
ForensicWire 是一个模块化的 Python 网络取证框架,通过统计和启发式分析从 PCAP 文件中检测 C2 信标、DNS 隧道和数据外泄等恶意网络行为。
Stars: 1 | Forks: 0
# NetSpecter
[](https://www.python.org/)
[](LICENSE)
[]()
## 概述
ForensicWire 是一个模块化的开源网络取证分析框架,旨在从 packet capture (PCAP) 文件中检测三类关键的恶意网络行为:
- **C2 Beaconing** — 周期性的命令与控制通信模式
- **DNS Tunneling** — 基于 DNS 查询的隐蔽数据通道
- **Data Exfiltration** — 未经授权的出站数据传输
ForensicWire 专为**教育环境**、**CTF 竞赛**和**资源受限的组织**而设计,将多种检测算法整合到一个统一、可扩展的 Python 工具包中。它完全基于现有的 PCAP 捕获文件,使用统计和启发式分析进行工作——不需要依赖机器学习,也不需要昂贵的商业工具。
## 功能
| 模块 | 检测方法 | 输出 |
|--------|-----------------|--------|
| **C2 Beaconing 检测器** | 数据包到达间隔时间分析、变异系数、有效载荷一致性 | 具有风险评分的连接配置文件 |
| **DNS Tunneling 检测器** | 查询名称的香农熵、有效载荷大小启发式分析、编码模式检测(Base32/64、hex)、子域名分析 | 具有置信度评级的异常报告 |
| **Data Exfiltration 检测器** | 数据量阈值、出站/入站比率分析、非工作时间传输检测、协议滥用识别 | 按严重程度分类的警报 |
**其他功能:**
- 具有严重性分类(`low` → `critical`)的 JSON 结构化取证报告
- 用于验证证据完整性的 SHA-256 监管链验证
- 兼容 CloudShark 的报告导出,便于在浏览器中进行可视化验证
- 模块化架构——只需极少的样板代码即可添加新的检测引擎
## 快速入门
### 前置条件
- Python 3.8+
- 至少 8 GB RAM(用于处理大型 PCAP)
- 50 GB 可用存储空间(数据集 + artifacts)
### 安装
```
# Clone 仓库
git clone https://github.com/Turki-AlTamimi/ForensicWire
cd ForensicWire
# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 安装依赖
pip install -r requirements.txt
```
### 基本用法
```
# 分析单个 PCAP 文件
python main_framework.py --pcap sample_traffic.pcap --output report.json
# 运行特定检测模块
python main_framework.py --pcap sample_traffic.pcap --modules c2,dns,exfil
# 生成包含 packet-level 细节的详细报告
python main_framework.py --pcap sample_traffic.pcap --verbose --format json
```
### 示例输出
```
{
"analysis_timestamp": "2026-05-17T14:39:00Z",
"file_hash_sha256": "a3f5c2...",
"detections": [
{
"module": "c2_beaconing",
"severity": "high",
"confidence": 0.87,
"src_ip": "192.168.1.105",
"dst_ip": "185.220.101.42",
"indicators": {
"interval_cv": 0.04,
"session_duration_min": 142,
"avg_payload_bytes": 512
}
}
]
}
```
## 架构
```
ForensicWire/
├── core/
├── c2_detector.py # Beaconing analysis
├── dns_detector.py # Tunneling detection
└── exfil_detector.py # Data exfiltration
```
## 方法论
本框架遵循 **ACPO Good Practice Guide for Digital Evidence** (2012):
1. **原则 1** — 只读分析;不修改原始证据
2. **原则 2** — 由具备取证培训能力的合格人员操作
3. **原则 3** — 全面的自动化审计追踪
4. **原则 4** — 调查负责人问责制
所有数据集均完全来自合法的公共存储库,或在隔离的实验室环境中自行生成。未经明确授权,绝不分析任何私有网络数据。
## 路线图
- [ ] 实时流分析(实时捕获)
- [ ] 机器学习集成(监督/无监督)
- [ ] SIEM 平台连接器(Splunk, ELK)
- [ ] 隐蔽通道与协议滥用模块
- [ ] 基于网页的报告可视化仪表板
## 许可证
MIT License — 详情请参阅 [LICENSE](LICENSE)。
## 致谢
- 作为哈伊勒大学 **Digital Forensics** 课程的一部分构建,学年 2025–2026
- 讲师:**Ehab AlNfrawy**
- 检测方法参考了 Sharafaldin 等人 (CICIDS2017)、Garcia 等人 (CTU-13) 和 Tu 等人 (DNS tunneling detection) 的研究
标签:Homebrew安装, IP 地址批量处理, PCAP分析, Python, 无后门, 逆向工具