Turki-AlTamimi/ForensicWire

GitHub: Turki-AlTamimi/ForensicWire

ForensicWire 是一个模块化的 Python 网络取证框架,通过统计和启发式分析从 PCAP 文件中检测 C2 信标、DNS 隧道和数据外泄等恶意网络行为。

Stars: 1 | Forks: 0

# NetSpecter [![Python](https://img.shields.io/badge/python-3.8%2B-blue)](https://www.python.org/) [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE) [![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20Windows%20%7C%20macOS-lightgrey)]() ## 概述 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, 无后门, 逆向工具