venator-ir/CertutilCacheReporter

GitHub: venator-ir/CertutilCacheReporter

一款 Windows 数字取证工具,用于自动化枚举、解析和关联 certutil.exe 的 CryptnetUrlCache 下载缓存痕迹,支持 YARA 扫描与 CSV 报告导出,服务于事件响应与威胁狩猎调查。

Stars: 0 | Forks: 0

# Certutil Cache Reporter (CCR) Certutil Cache Reporter 是一款 Windows 取证工具,用于分析由 `certutil.exe` 创建的 **CryptnetUrlCache** 痕迹。该独立工具会枚举所有用户配置文件中的缓存条目,提取下载元数据,关联下载内容,计算加密哈希值,执行可选的 YARA 扫描,并将结果导出为 CSV 报告,适用于数字取证调查、事件响应和威胁狩猎。 https://github.com/user-attachments/assets/302b6ce9-b6f3-401b-b04e-db02582d1362 ## 目的 在大多数真实的 IR/Hunt(事件响应/威胁狩猎)场景中,该工具可以轻松部署用于实时系统分析或全盘镜像分析。即使其他证据已被删除或无法获取(例如事件日志被清除、下载的文件被删除、无法归因于威胁行为者),CryptnetUrlCache 痕迹通常也能保留下来。当然,这只是众多可用于下载文件的 [LOLBin](https://lolbas-project.github.io/lolbas/Binaries/Certutil/) 之一,幸运的是,它会留下大量痕迹。 ## 功能 * 枚举以下对象的 CryptnetUrlCache 痕迹: * 标准用户配置文件 * SYSTEM profile * 支持: * 实时 Windows 系统 * 挂载的取证镜像 * 离线 Windows 目录 * 解析 Cryptnet 元数据以提取: * 下载 URL * 下载时间戳(UTC 和本地) * HTTP Last-Modified 标头 * HTTP ETag * 下载文件大小 * 将元数据与缓存内容文件关联 * 计算: * MD5 * SHA-1 * SHA-256 * 检测常见文件类型 * 可选的 YARA 扫描 * 未提供时自动下载 YARA * 未提供时自动下载 YARA Forge Core 规则 * 支持自定义 YARA 可执行文件 * 支持自定义规则目录 * 支持完全禁用 YARA * 生成全面的 CSV 报告 * 显示实时进度和扫描统计信息 ## 要求 * Windows * .NET 8 Runtime ## 用法 ``` CertutilCacheReporter.exe [options] ``` ### 选项 | 选项 | 描述 | | ------------------ | ----------------------------------------------------- | | `-d ` | Windows 安装根目录(默认:`C:\`) | | `-o ` | 输出目录或 CSV 文件名 | | `-e ` | `yara.exe` 或 `yara64.exe` 的路径 | | `-r ` | 包含 `.yar` / `.yara` 文件的目录路径 | | `--no-yara` | 禁用 YARA 下载和扫描 | | `-h`, `--help` | 显示帮助 | ## 示例 ### 扫描本地系统 ``` CertutilCacheReporter.exe ``` ### 扫描已挂载的取证镜像 ``` CertutilCacheReporter.exe -d D:\ ``` ### 将报告保存到自定义目录(也可以是 UNC 网络共享) ``` CertutilCacheReporter.exe -o C:\Reports ``` ### 指定报告文件名 ``` CertutilCacheReporter.exe -o C:\Reports\Case001.csv ``` ### 使用自定义 YARA 可执行文件(适用于沙箱分析环境) ``` CertutilCacheReporter.exe -e C:\Tools\yara64.exe ``` ### 使用自定义 YARA 规则(适用于沙箱分析环境) ``` CertutilCacheReporter.exe -r C:\Rules ``` ### 结合使用自定义 YARA 可执行文件和包含单个或多个 `.yar` 或 `.yara` 文件的规则目录 ``` CertutilCacheReporter.exe -e C:\Tools\yara64.exe -r C:\Rules ``` ### 禁用 YARA 扫描(根据规则集,速度会快得多) ``` CertutilCacheReporter.exe --no-yara ``` ## CSV 输出 ![输出](https://static.pigsec.cn/wp-content/uploads/repos/cas/2d/2df325a5d62b7915c4f8f7f0cc73c15ecd334219fd0c0828a50075abf3f8a3d9.png) 生成的报告包含如下信息: * 用户/配置文件 (Profile) * 下载时间 (UTC) * 下载 URL * 下载文件名 * 文件扩展名 * 下载文件的 SHA-256、SHA-1、MD5 哈希值 * YARA 匹配(是/否) * 匹配的 YARA 规则 (I/A) * 下载文件大小(字节) * 缓存键 (Cache Key) * HTTP ETag * HTTP Last-Modified(Web 服务器报告的下载资源最后修改时间。可提供关于资源最后更新时间的参考,但不应视为绝对权威。) * 文件类型 * 内容是否存在 * 内容路径 * 元数据路径 * 错误信息 ## 自动下载 如果未指定 YARA 可执行文件,该工具将自动下载受支持的最新版 Windows x64 YARA 发行版。如果未指定规则目录,该工具将自动下载最新的 YARA Forge Core 规则。两者都会在本地缓存,并在未来的执行中重复使用。 ## 致谢 * YARA Forge (https://yarahq.github.io/)
标签:.NET 8, Ubuntu, YARA, 云资产可视化, 库, 应急响应, 数字取证, 网络信息收集, 自动化脚本