redzeptech/VoxTrace-DFIR
GitHub: redzeptech/VoxTrace-DFIR
集成音频取证与 Windows 主机取证的全能型 DFIR 时间线重建框架,支持多语言语音转录和取证证据关联分析。
Stars: 0 | Forks: 0
# VoxTrace-DFIR v0.3.0
**用于 DFIR 调查的音频 + 系统取证框架**
VoxTrace-DFIR 最初是一个多语种 **音/视频证据处理** 工具包。
自 **v0.3.0** 起,它还提供了一个 **Windows 系统取证** 层(EVTX/MFT + 关联分析),使其转变为一个混合 DFIR 框架,可在单一工作流中同时支持 **音频取证** 和 **主机取证分析**。
## 为什么开发此工具 / Neden var?
在调查过程中,分析人员经常遇到:
- Telegram 语音消息
- WhatsApp 语音备注
- 宣传视频
- 外语 VoIP 录音
- 被扣押的多媒体设备
然而,调查人员往往不懂证据中所使用的语言。
VoxTrace-DFIR 允许分析人员 **在不懂语言的情况下理解语音内容**。
与此同时,许多案件需要快速的 **主机取证** 和 **基于取证文件的时间线**。v0.3.0 增加了一个模块化收集引擎,用于提取/解析关键的 Windows 取证文件并生成统一的运行报告。
## 新功能 (v0.3.0) / Yeni Özellikler
- **混合分析 (Live/Path)**:在 live host (`--live`) 上运行收集器,或针对离线取证文件夹 (`--path`) 运行
- **高级取证解析器 (EVTX/MFT)**:面向时间线分析的事件日志 + MFT 解析
- **模块化插件系统**:在 `src/modules/` 下放置收集器(动态发现 + 每模块参数)
## 核心能力 / Temel Yetenekler
- 自动音频提取 (FFmpeg)
- GPU 加速语音转文字转录 (Whisper CUDA)
- 翻译流水线 (TXT/SRT,保留时间戳)
- 字幕 (SRT) 翻译并保留时间戳
- 证据处理日志
- 批量处理支持
- 通过插件收集器进行 Windows 取证分析 (EVTX/MFT)
- 统一时间线构建器 (EVTX + MFT 关联)
## 工作流 / İş Akışı (ASCII)
```
┌───────────────────────────────┐
│ Inputs/ │
│ Audio/Video Evidence Files │
└───────────────┬───────────────┘
│
│
┌────────────────▼────────────────┐
│ Media Pipeline │
│ FFmpeg → Whisper → Translation │
└────────────────┬────────────────┘
│
Outputs// (TXT/SRT/Logs)
│
│
┌────────────────▼────────────────┐
│ Artifact Pipeline (v0.3.0) │
│ --live or --path collectors │
│ EVTX / MFT → Correlation → TL │
└────────────────┬────────────────┘
│
Logs/*.json + PDF report
```
## 输出 / Çıktılar
对于每个媒体文件,工具会生成:
- 原始转录文本
- 翻译转录文本
- 原始字幕
- 翻译字幕
- 处理日志
- 可选的针对提取 IP/哈希的威胁情报报告
对于取证分析运行(v0.3.0 收集引擎),工具会生成:
- 统一的运行报告 JSON (`Logs/voxtrace_run__.json`)
- 位于 `Outputs/_/modules//` 下的各模块取证文件
- 可选的统一时间线 (`timeline_builder`),格式为 JSONL/CSV
## 系统要求 / Gereksinimler
- Windows 10 / 11
- Python 3.10+
- FFmpeg 已安装并添加到 PATH
- Whisper 已安装
- NVIDIA GPU(推荐)
- `pip install -r requirements.txt`
- 对于旧版翻译脚本 (TXT/SRT):`pip install -r requirements-media.txt`
## 技术栈 / Teknik Altyapı
- **媒体**:
- FFmpeg 用于音频提取/标准化
- OpenAI Whisper 用于语音转文字(支持 CUDA)
- 翻译脚本 (TXT/SRT) 使用 `deep-translator`(见 `requirements-media.txt`)
- **取证分析 (v0.3.0)**:
- **EVTX**:内置收集器解析 `.evtx`,并可在 live 模式下使用 Windows 原生 `wevtutil`
- 可选高性能 **基于 Rust 的 EVTX 引擎**:`evtx_dump` (Rust) / `pyevtx-rs` 绑定(若外部安装)。这与插件设计兼容,可作为替代后端。
- **MFT**:
- 通过 MFT 解析器进行离线解析(分块 + 多进程汇总)
- Live 获取选项:
- 基于 VSS 的副本(首选时)
- 低级原始卷访问 (`\\.\C:`) 以在 Windows 上提取 `$MFT`(需要管理员权限)
## 混合收集引擎 / Hibrit Collector Engine (Live Triage + Path Analysis)
VoxTrace-DFIR 现在在 `src/` 下包含一个基于插件的收集引擎:
- **Live Triage**:`python -m src.main --live`
- **Path 分析**:`python -m src.main --path `
### 用法 / Kullanım (`--live` / `--path`)
```
# 列出已发现的 collectors
python -m src.main --live --list-modules
# 实时 triage 运行(写入统一 JSON 报告)
python -m src.main --live --case mycase --out Logs\run.json --output-dir Outputs\triage_out
# 离线/路径分析运行
python -m src.main --path C:\triage --case mycase --out Logs\run.json --output-dir Outputs\triage_out
```
常用命令:
- 列出模块:
- `python -m src.main --live --list-modules`
- 运行选定模块:
- `python -m src.main --live --modules system_info --out Logs\\run.json --output-dir Outputs\\triage_out`
模块参数(高级):
- 传递可重复的 `--param module.key=value`
- 示例 (EVTX):
- `python -m src.main --live --modules event_log_collector --param event_log_collector.channels=System,Application --param event_log_collector.limit=200 --param event_log_collector.inline_records=false --param event_log_collector.prefer_wevtutil=true`
- 事件 ID 过滤示例 (Logon/Process Creation):
- `python -m src.main --live --modules event_log_collector --param event_log_collector.channels=Security --param event_log_collector.event_ids=4624,4688 --param event_log_collector.prefer_wevtutil=true --param event_log_collector.inline_records=false`
- 注意:Security 通道通常需要以管理员身份运行 shell;否则可能会看到 "access denied"。
示例 (MFT):
- Path 模式(已复制的 `$MFT`):
- `python -m src.main --path C:\\triage\\$MFT --modules mft_parser --param mft_parser.profile=quick --param mft_parser.timestomp_threshold_seconds=86400 --param mft_parser.write_csv=true`
- Live 模式(VSS 快照;需要管理员):
- `python -m src.main --live --modules mft_parser --param mft_parser.drive=C --param mft_parser.vss_cleanup=true`
示例 (统一时间线):
- 运行 EVTX + MFT 然后构建合并的时间线:
- `python -m src.main --live --modules event_log_collector,mft_parser,timeline_builder --param event_log_collector.channels=Security --param event_log_collector.event_ids=4624,4688 --param event_log_collector.prefer_wevtutil=true --param event_log_collector.inline_records=false --param timeline_builder.window_seconds=300`
MFT 速度调优:
- 多进程汇总批次(默认每个任务 100,000 条记录):
- `--param mft_parser.multiprocessing=true --param mft_parser.mp_records_per_task=100000 --param mft_parser.mp_workers=8 --param mft_parser.process_chunk_files_limit=0`
所有模块输出将聚合为具有稳定 Schema 的单个 JSON 报告。
## MFT Collector (原始磁盘) - Windows
`mft_collector` 可以通过原始卷访问提取 `$MFT`(需要管理员权限):
- Live:
- `python -m src.main --live --modules mft_collector --param mft_collector.drive=C --param mft_collector.max_bytes=1073741824 --param mft_collector.format=csv`
- Path(已复制的 `$MFT`):
- `python -m src.main --path C:\\triage\\$MFT --modules mft_collector --param mft_collector.format=csv`
## 媒体处理 (旧版 Runner) / Ses İşleme (Eski Runner)
1. 将证据文件放入 `Inputs/`
2. 运行:
tools\calistir.bat
3. 结果将出现在 `Outputs//`
## 威胁情报 - 可选
`threat_intel.py` 模块扫描生成的输出/日志以提取:
- IPv4 地址
- 文件哈希 (MD5/SHA1/SHA256)
然后查询 VirusTotal API v3 进行快速信誉检查。
### 在处理过程中启用
- 设置环境变量:
- `VOXTRACE_THREAT_INTEL=1`
- `VT_API_KEY=`
Runner 将在 `Logs/` 下为每个处理过的文件创建 JSON 报告。
### 手动运行
示例:
- 扫描 `Outputs/` 下的所有内容:
- `python threat_intel.py Outputs`
- 扫描一个特定的输出文件夹并写入报告:
- `python threat_intel.py Outputs\\some_file --out Logs\\threat_intel.json`
注意:
- 公共 VirusTotal API 有速率限制;默认请求间隔约为 16 秒。
- 您可以使用 `VT_REQ_INTERVAL_SECONDS` 和 `VOXTRACE_THREAT_INTEL_CONCURRENCY` 进行调整。
- 默认情况下会与 JSON 一起生成 CSV 输出(或使用 `--out-csv`)。
## 报告引擎 (PDF) - 可选
`reporting_engine.py` 模块根据以下内容生成专业的 PDF 报告:
- `Outputs//` 下的输出取证文件
- 可选的来自 `Logs/threat_intel_*.json` 的威胁情报 JSON
- 可选的运行日志 `Logs/run_*.log`
### 在处理过程中启用
- 设置环境变量:
- `VOXTRACE_REPORT=1`
如果同时启用了威胁情报,PDF 将包含 VirusTotal 汇总表。
### 手动运行
- 为一个输出文件夹创建报告:
- `python reporting_engine.py Outputs\\some_file --run-log Logs\\run_xxx.log --threat-intel-json Logs\\threat_intel_xxx.json --out Logs\\report.pdf`
## 重要提示
**请勿**将实际证据文件上传到 GitHub。
此存储库特意忽略了:
- Inputs/
- Outputs/
- Logs/
- 媒体文件
## 法律免责声明
此工具仅供合法的研究、教育和合法的数字取证调查使用。
用户需自行遵守当地法律和组织政策。
## 作者
Recep Şenel
独立 DFIR & Windows 取证分析师
## 演示
### 处理中

### 生成输出

标签:CUDA加速, EVTX分析, FFmpeg, HTTPS请求, HTTP工具, MFT解析, Python, Vectored Exception Handling, Whisper, Windows取证, 主机取证, 可视化界面, 域渗透, 多语言翻译, 子域名变形, 安全调查, 库, 应急响应, 情报分析, 数字取证, 无后门, 时间线重构, 电子数据取证, 网络诊断, 自动化报告, 自动化脚本, 自动转录, 证据固定, 语音识别, 语音转文字, 逆向工具, 音频取证