basilfaisal75/forensics-toolkit
GitHub: basilfaisal75/forensics-toolkit
一个基于Python的轻量级数字取证工具包,集成了文件哈希校验、日志分析、关键字搜索、隐写术检测、时间轴重建和PDF报告生成,用于对证据文件夹进行端到端的自动化分析。
Stars: 0 | Forks: 0
# 数字取证调查工具包
这是我在获得网络安全与数字取证学位后开发的一款工具,旨在将我所学的所有知识付诸实践。我一直对取证领域充满热情,因此希望开发出一款能够真实反映实际调查过程的工具——它不仅是一个遍历文件的脚本,更是一个能像调查员一样思考的工具。
其核心理念很简单:给定一个包含证据的文件夹,该工具包应当能够执行取证分析师的所有常规操作——验证完整性、深入分析日志、搜索可疑内容、查找图像中隐藏的数据、重建时间轴,并将所有结果整理汇总成一份报告。
## 主要功能
- **文件哈希** — 为每个文件生成 MD5 和 SHA256 哈希值,以证明证据未被篡改
- **日志分析** — 解析浏览器历史记录和系统日志,并标记出任何可疑活动(USB 连接、文件删除、权限提升、匿名浏览工具)
- **关键字搜索** — 扫描每个文件,查找诸如 passwords(密码)、credentials(凭据)、hidden(隐藏)、delete(删除)、export(导出)等术语
- **隐写术检测** — 检查 PNG 图像中嵌入在元数据块中的隐藏数据,并分析 LSB(最低有效位)模式
- **时间轴重建** — 从日志、浏览器历史记录和文件元数据中提取时间戳,并将它们合并为一个按时间顺序排列的视图
- **PDF 报告生成** — 将所有分析结果汇总编译成一份正式的调查报告
## 模拟案例
我没有只在随机文件上运行该工具,而是创建了一个真实的内部威胁场景来对其进行测试。嫌疑人(`jsmith`)插入 USB 驱动器,通过 rsync 传输了 4.5GB 的数据,然后使用 `shred` 命令销毁了财务记录和员工导出数据,随后清除了 auth 日志以掩盖其踪迹。他们的浏览器历史记录显示,曾搜索过 Tor、匿名电子邮件、VPN 服务和文件擦除工具。其中一张图像中包含使用隐写术嵌入的隐藏信息。
该工具包成功捕获了上述所有痕迹。
## 运行方式
```
git clone https://github.com/basilfaisal75/forensics-toolkit.git
cd forensics-toolkit
pip3 install fpdf2
python3 main.py
```
你也可以对其进行自定义配置:
```
python3 main.py --case-name "CASE-2024-001" --investigator "Your Name"
python3 main.py --keywords "bitcoin,exfil,wire transfer"
python3 main.py --no-pdf
```
## 项目结构
```
forensics-toolkit/
├── main.py
├── forensic_toolkit/
│ ├── hasher.py
│ ├── log_parser.py
│ ├── keyword_search.py
│ ├── steg_detector.py
│ ├── timeline.py
│ └── report.py
└── case_data/
├── logs/
├── documents/
└── images/
```
## 环境要求
- Python 3.11+
- `fpdf2` 用于 PDF 输出 — `pip3 install fpdf2`
- 其余均使用标准库
标签:CCTV/网络接口发现, DNS 反向解析, Google搜索, LSB分析, MD5, PDF报告生成, PNG图像分析, Python, SHA256, 内部威胁, 取证调查, 哈希校验, 域渗透, 完整性校验, 异常行为检测, 数字取证, 数据销毁痕迹, 文件哈希, 无后门, 时间线重建, 浏览器历史分析, 电子数据取证, 网络安全, 自动化脚本, 逆向工具, 隐写术检测, 隐私保护