kemdude/Traceyze
GitHub: kemdude/Traceyze
基于 Sleuth Kit 的轻量级命令行磁盘取证工具,专注于从原始磁盘镜像中提取浏览器历史和注册表证据,重建并可视化用户的网络活动时间线。
Stars: 0 | Forks: 1
# Traceyze
Traceyze 是一款 CLI 优先的 DFIR 工具,仅通过 Sleuth Kit CLI 工具分析原始磁盘镜像。它接受磁盘镜像作为输入,使用 `mmls`、`fls` 和 `icat` 查找浏览器和注册表证据,解析浏览器 SQLite 数据库,并将重构的网络活动以结构化 JSON、终端报告以及交互式时间轴查看器的形式返回。
## 功能
- 同步 CLI 分析工作流,支持按案例存储
- 支持键盘导航的交互式时间轴查看器
- Raw/DD 镜像验证与流式上传处理
- 使用 `mmls` 进行分区发现及自动分区评分
- 针对 Windows 上 Chrome、Edge、Firefox 和 Brave 风格 Chromium 历史记录的浏览器证据发现
- SQLite 解析支持:
- Chrome/Edge/Brave `History`
- Firefox `places.sqlite`
- 使用 `regipy` 解析注册表配置单元以发现 NTUSER Wi-Fi 配置文件
- 结构化 JSON 输出包含:
- 已访问域名
- URL
- 时间戳
- 已下载文件
- 可能的 IP
- Wi-Fi 网络名称
- 可疑域名启发式检测针对:
- 非 HTTPS 流量
- 不常见的 TLD
- 按案例的日志记录和文件系统持久化
- 用于终端的纯文本取证报告和交互式时间轴查看器
- 用于终端会话的霓虹风格启动横幅
- 如果您后续仍希望使用 HTTP 访问,可选 FastAPI 层
## 项目结构
```
app/
|-- cli.py
|-- main.py
|-- routes/
| |-- analyze.py
| `-- results.py
|-- services/
| |-- analysis_service.py
| |-- artifact_finder.py
| |-- extractor.py
| |-- parser.py
| |-- reconstruction.py
| `-- sleuthkit_runner.py
|-- models/
| `-- schemas.py
`-- utils/
|-- config.py
|-- helpers.py
|-- logging.py
|-- report_formatter.py
|-- storage.py
`-- validators.py
tools/
|-- generate_sample_image.py
`-- view_timeline.py
tests/
|-- test_analysis_service.py
|-- test_api.py
|-- test_artifact_finder.py
|-- test_cli.py
|-- test_parser_helpers.py
|-- test_reconstruction.py
|-- test_report_formatter.py
`-- test_sleuthkit_runner.py
storage/
`-- cases/
```
## 环境要求
- Python 3.10+
- Sleuth Kit 已安装并可在 `PATH` 中访问
- 所需命令:`mmls`、`fls`、`icat`
## 设置
```
git clone
cd NetworkForensicsAPI
python -m venv .venv
. .venv/Scripts/activate
pip install -r requirements.txt
pip install -e .
```
运行 CLI:
```
tez --help
```
## CLI 用法
### 分析磁盘镜像
分析原始磁盘镜像并在本地保存案例。
```
tez analyze sample_data/network_forensics_sample.img --output report
```
默认情况下,面向用户的命令会显示终端横幅和彩色输出。面向原始 JSON 的命令有意跳过横幅,以保持其对脚本的友好性。
### 以 JSON 格式显示已保存的案例
```
tez results --pretty
```
### 渲染纯文本报告
```
tez report --timeline-limit 15
```
时间轴过滤器示例:
```
tez report --event-type download --since 2026-04-13
tez report --domain mozilla --source firefox
```
### 打开交互式时间轴查看器
```
tez timeline --page-size 5
```
您也可以在此处使用相同的时间轴过滤器:
```
tez timeline --event-type visit --since 2026-04-13 --domain example.com
```
控制键:
- `n` 下一页
- `p` 上一页
- `q` 退出
### 列出最近的案例
```
tez cases --limit 10
```
## 交互式时间轴查看器
在键盘驱动的终端 UI 中打开已保存的案例时间轴:
```
python tools/view_timeline.py f8a7b87a846141d7a6fcf0d50d356d1b --page-size 5
```
控制键:
- `n` 下一页
- `p` 上一页
- `q` 退出
查看器按从最新到最旧的顺序显示时间轴条目,并显示当前页码、总页数和可见条目范围。
### 在需要时禁用横幅
```
tez --no-banner report
```
## 可选 API
如果您仍然希望使用旧的 Web/API 层进行测试或演示:
```
uvicorn app.main:app --reload
```
## 注意事项
- v1 官方仅支持 raw/DD 镜像。
- 浏览器解析对于 Chrome、Edge、Firefox 和 Chromium 风格的 Brave 历史记录布局,目前以 Windows 优先。
- 注册表解析目前侧重于 NTUSER Wi-Fi 配置文件发现,以丰富取证信息。
- 如果 `PATH` 中缺少 Sleuth Kit,案例将被标记为 `failed`,并附带清晰的依赖项错误提示,而不是导致应用程序崩溃。
标签:API安全, AV绕过, FastAPI, HTTPS请求, HTTP工具, JSON输出, Python, Sleuth Kit, SQLite解析, Wi-Fi记录提取, Windows取证, 交互式时间线, 后渗透, 库, 应急响应, 攻击路径可视化, 数字取证, 数据提取, 无后门, 注册表分析, 浏览器取证, 磁盘镜像分析, 结构化数据, 网络安全, 网络安全审计, 网络活动重建, 自动化脚本, 逆向工具, 隐私保护, 黑客工具