annkirpv/xt-snappy-fox

GitHub: annkirpv/xt-snappy-fox

X-Ways Forensics 的 X-Tension 插件,用于在取证流程中自动解压 Firefox Snappy 格式的 morgue 缓存文件,使缓存正文内容可在 X-Ways 中直接查看和分析。

Stars: 2 | Forks: 0

# xt-snappy-fox 一款用于 [X-Ways Forensics](https://www.x-ways.net/forensics/) 的 X-Tension,可在卷快照细化 (RVS) 过程中或通过目录浏览器上下文菜单 (DBC) 自动解压 **Mozilla Firefox 磁盘缓存 (`morgue`) 文件**。 Firefox 以 Snappy 压缩格式存储 HTTP 正文缓存,因此大多数取证工具只能获取缓存元数据,而无法获取实际内容。`xt-snappy-fox` 会解压每个条目,并将明文作为子项 (`_decompressed`) 重新添加到卷快照中 —— 可直接在 X-Ways 查看器/图库中预览 —— 并将其标记在 **"Snappy decompressed"** 报告表中。 它封装了 Davide Berardi 的无依赖解压器 [`snappy-fox`](https://github.com/berdav/snappy-fox),该解压器还可以重建损坏的文件。 ## 背景 灵感来自一次 [BelkaSoft CTF](https://belkasoft.com/) 挑战赛(在 **[Its5q](https://github.com/its5Q)** 撰写的[复盘文章](https://github.com/its5Q/writeups/blob/master/BelkaCTF%206/BelkaCTF%206%20Writeup.md#vacation) 中有相关记录):关键证据——嫌疑人计划参加哪场演唱会——就隐藏在 Telegram Web 会话的 Firefox `morgue` 缓存中。最初的手动处理方法是使用 snappy-fox 处理缓存文件,将输出批量重命名为 `.png`,然后在资源管理器中浏览缩略图。`xt-snappy-fox` 将这一整套繁琐的流程整合到了单次 X-Ways 运行中。 ## 功能 - 在**卷快照细化 (RVS)** 期间,它会通过路径模式 (`*morgue*final`) 自动检测 Firefox 缓存条目;在**目录浏览器**中,它会针对您选择的项目运行(适用于任何 Snappy 文件,不区分路径)。 - 解压 Snappy 分帧/非分帧流,并能够重建损坏的文件。 - 将每个结果添加为子项,并将其标记在 **"Snappy decompressed"** 报告表中。 - 幂等性:重复运行不会创建重复的子项。 ## 构建与要求 - 已在 **X-Ways Forensics 21.5 SR-5 (x64)** 上测试。尚未对早期版本的 X-Ways 进行过测试。 - **从源码构建** 使用 Microsoft Visual Studio 的 x64 工具链自行构建项目。 - **预编译二进制文件** 或者,您也可以从 GitHub Releases 部分下载预编译的 xt-snappy-fox.dll (x64) 版本。 ## 用法 1. 将取证对象添加到您的案例中。 2. 通过**细化卷快照 → 运行 X-Tensions** 运行,或者通过目录浏览器的右键菜单运行。 3. 解压后的子项在创建时没有文件类型。请运行 X-Ways 的**文件类型验证**(细化卷快照 → *验证文件类型*,或者文件概览/目录浏览器中显示的类型检测步骤),以便每个项目都能根据其内容被识别——例如识别为 PNG 或 JPEG 图像——随后便可在查看器和图库中显示。 4. 在 **"Snappy decompressed"** 报告表中查看结果。 默认情况下,仅接受通过 CRC 校验的输出。损坏流的重建功能会在启动时作为可选提示提供;此类输出会带有注释标记,因为它可能是部分重建的,并且未经过 CRC 验证。 ## 致谢 - **snappy-fox** — © 2021 Davide Berardi — (GPLv3)。 - **X-Tension API** — © X-Ways Software Technology AG。 - **灵感** — BelkaSoft CTF [复盘文章](https://github.com/its5Q/writeups/blob/master/BelkaCTF%206/BelkaCTF%206%20Writeup.md#vacation),作者 **[Its5q](https://github.com/its5Q)**。 - 作者:**Anna Kirpichnikova**。 ## 许可证 采用 GPL-3.0-or-later,与上游 `snappy-fox` 保持一致。详见 [`LICENSE`](LICENSE)。
标签:Firefox缓存, HTTP工具, Snappy, UML, X-Tension, X-Ways, 数字取证, 数据解压, 自动化脚本