dfirvault/DFIRVault

GitHub: dfirvault/DFIRVault

一款为数字取证与事件响应(DFIR)设计的统一控制台应用,整合案件管理与多工具扫描以简化调查流程。

Stars: 1 | Forks: 0

# DFIRVault
![DFIRVault Logo](https://img-shields.io/badge/DFIR-Vault-blue?style=for-the-badge) ![Version](https://img-shields.io/badge/version-1.0.0-green?style=flat-square) ![Platform](https://img-shields.io/badge/platform-Windows-lightgrey?style=flat-square) ![Python](https://img-shields.io/badge/python-3.8+-yellow?style=flat-square) ![License](https://img-shields.io/badge/license-MIT-red?style=flat-square) **统一的数字取证与事件响应操作控制台** [安装](#installation) • [功能](#features) • [快速开始](#quick-start) • [文档](#documentation) • [贡献](#contributing)
## 🚀 概述 **DFIRVault** 是一个全面的、一体化控制台应用程序,专为数字取证与事件响应(DFIR)专业人员设计。它将多个核心 DFIR 工具整合到单一统一界面中,简化调查流程并消除在不同应用之间切换的需求。 由 DFIR 实践者为 DFIR 实践者开发,DFIRVault 将案件管理、威胁扫描、日志分析、数据摄取与同步能力集成到一个强大的平台中。 ### 为什么要使用 DFIRVault? - **🚀 统一工作流**:无需在多个工具间切换——所有功能集中一处 - **🔒 取证安全性**:遵循取证最佳实践与证据链管理 - **📊 全面报告**:生成详细的 HTML、CSV 和 JSON 报告用于文档记录 - **⚡ 性能优化**:多线程扫描与高效数据处理 - **🔧 企业就绪**:支持与 Splunk、Elasticsearch 集成及计划任务自动化 ## 📋 功能特性 ### 1. 📁 DFIR 案件管理器 - **创建结构化案件文件夹**,包含预定义的证据目录层次结构 - **归档案件**(支持可选的 AES-256 加密,集成 7-Zip) - **案件元数据追踪**与关键词管理 - **一键访问文件夹**与备份位置管理 ### 2. 🔍 Hayabusa 扫描器 - **EVTX 日志扫描**,支持 Sigma 规则检测 - **CSV 时间线生成**,采用 ISO-8601 时间戳 - **HTML 报告创建**,便于分享与文档记录 - **递归文件夹扫描**,适用于挂载的镜像与驱动器集合 ### 3. ⛓️ Chainsaw 扫描器 - **基于 Sigma 规则的狩猎**,针对 EVTX 文件 - **事件日志关联**与模式检测 - **CSV 输出**,便于在 Splunk/ELK 中进一步分析 - **自定义规则支持**,满足组织特定威胁需求 ### 4. 🦁 Thor 扫描器 - **跨多驱动器的文件系统 IOC 扫描** - **MD5 哈希提取**,用于威胁情报匹配 - **多线程扫描**,实现最高性能 - **HTML 与 CSV 报告**,提供详细发现 ### 5. 📊 Splunk 索引管理器 - **程序化创建/删除 Splunk 索引** - **监控文件夹并自动摄取日志** - **备份/恢复索引**(支持密码保护) - **Web 界面启动器**,实现快速访问 ### 6. 📈 CSV → Elasticsearch(CSV2ELK) - **批量 CSV 上传**到 Elasticsearch 集群 - **自动索引创建**,采用基于日期的命名 - **时间戳检测**与字段映射 - **分块上传**,带进度追踪 ### 7. 🔄 SFTP/FTP 监控 - **本地与远程文件夹之间的双向同步** - **实时文件监控**,使用 Watchdog - **远程文件夹浏览器**,支持 GUI 选择 - **完整日志记录**,用于审计追踪 ### 8. 💾 VaultMirror - **安全的计划同步**,使用 Windows 任务计划程序 - **优雅删除处理**,提供 30 天恢复窗口 - **双向同步选项**,用于镜像操作 - **已删除文件保险库**,支持自动清理 ## 🖥️ 系统要求 - **操作系统**:Windows 10/11、Windows Server 2016+ - **Python**:3.8 或更高版本(如从源码运行) - **磁盘空间**:应用程序约 500MB,证据存储按需分配 - **内存**:最低 4GB,建议 8GB 或更高 - **管理员权限**:Thor 扫描器与 VaultMirror 需要 ### 可选依赖 - **7-Zip**:用于加密的案件归档(https://www.7-zip.org/) - **Hayabusa**:用于 EVTX 扫描(https://github.com/Yamato-Security/hayabusa) - **Chainsaw**:用于 Sigma 规则狩猎(https://github.com/WithSecureLabs/chainsaw) - **Thor Lite**:用于 IOC 扫描(https://www.nextron-systems.com/thor-lite/) - **Splunk**:用于日志管理(https://www.splunk.com/) - **Elasticsearch**:用于 CSV 摄取(https://www.elastic.co/) ## 📥 安装指南 ### 选项 1:预编译可执行文件(推荐) 1. 从 [发布页面](https://github.com/dfirvault/DFIRVault/releases) 下载最新的 `DFIRVault.exe` 2. 将可执行文件放置到你的工具目录(例如 `C:\Tools\DFIRVault\`) 3. 双击运行——无需安装! ### 选项 2:从源码运行 ``` # 克隆仓库 git clone https://github.com/dfirvault/DFIRVault.git cd DFIRVault # 安装依赖 pip install -r requirements.txt # 运行应用程序 python dfirvault.py ``` ## 🚦 快速开始指南 ### 首次启动 1. **以管理员身份运行** `DFIRVault.exe`(以获得完整功能) 2. 主菜单将显示所有可用模块 3. 根据提示配置工具路径(Hayabusa、Chainsaw、Thor 等) 4. 在案件管理器中设置案件文件夹与备份位置 ### 典型工作流程 1. **新建案件**:使用案件管理器创建结构化的案件文件夹 2. **收集证据**:将磁盘镜像、EVTX 文件及其他证据复制到案件文件夹 3. **威胁扫描**:对证据运行 Hayabusa、Chainsaw 与 Thor 扫描器 4. **分析结果**:查看扫描器生成的 HTML/CSV 报告 5. **数据摄取**:将 CSV 报告上传至 Splunk 或 Elasticsearch 以进行深度分析 6. **归档案件**:使用密码保护并归档已完成案件至冷存储 7. **同步备份**:使用 VaultMirror 维护异地备份 ## 📚 详细模块文档 ### DFIR 案件管理器 案件管理器为每次调查创建标准化的文件夹结构: ``` [Case Name]/ ├── 01 - Evidence/ # Raw evidence, disk images, memory dumps ├── 02 - Case/ # Case notes, interview transcripts, legal docs ├── 03 - Malware/ # Captured malware samples (password protected) └── 04 - Extracted Evidence/ ├── 01 - Axiom/ # Magnet Axiom exports ├── 02 - XWays/ # X-Ways Forensics exports ├── 03 - Thor/ # Thor scanner results ├── 04 - Hayabusa/ # Hayabusa CSV/HTML reports └── 05 - Chainsaw/ # Chainsaw detection results ``` **实用提示**:在案件根目录中存储 `Keywords.txt`,供调查员记录笔记与搜索词。 ### 扫描器配置 #### Hayabusa 设置 1. 从 [GitHub](https://github.com/Yamato-Security/hayabusa) 下载 Hayabusa 2. 解压至 `C:\Tools\Hayabusa\` 3. 首次扫描将提示选择可执行文件位置 4. 配置信息保存至 Windows 注册表:`HKCU\Software\DFIRVault\Hayabusa` #### Chainsaw 设置 1. 从 [GitHub](https://github.com/WithSecureLabs/chainsaw) 下载 Chainsaw 2. 解压至 `C:\Tools\Chainsaw\` 3. 确保 Sigma 规则位于 `rules/` 子目录中 4. 配置信息保存至 Windows 注册表 #### Thor 扫描器设置 1. 从 [Nextron Systems](https://www.nextron-systems.com/thor-lite/) 下载 Thor Lite 2. 将 `thor64-lite.exe` 放置到 `C:\Tools\Thor\` 3. 通过工具菜单运行签名更新 4. **需要管理员权限** ### Splunk 集成 **初始设置:** 1. 确保 Splunk 已安装并运行(本地) 2. 访问 `Settings > Tokens` 生成认证令牌 3. 在 DFIRVault 中输入凭证 **常用操作:** - 创建索引并自动监控文件夹 - 删除索引前备份(支持密码保护) - 从备份 ZIP 文件恢复索引 - 直接从控制台启动 Splunk Web ### Elasticsearch CSV 上传 **支持格式:** - 带标题行的标准 CSV - UTF-8 编码(推荐) - 任意分隔符(自动检测) - 大文件(自动分块) **时间戳处理:** - 自动检测时间戳列 - 支持 Unix 时间戳(秒/毫秒) - ISO-8601 日期字符串转换 - 可自定义时间戳字段 ### VaultMirror 安全同步 **安全删除机制:** 1. 文件不会立即永久删除 2. 被删除文件移至 `[Drive]:\VaultMirror_Deleted\[CaseName]\` 3. 保留 30 天(可配置) 4. 自动清理过期文件 5. 元数据 JSON 文件记录删除历史 **同步模式:** - **单向同步**:源 → 目标(仅添加/更新文件) - **双向同步**:完整同步,基于时间戳解决冲突 ## 🔧 配置管理 DFIRVault 的所有配置均存储在 Windows 注册表中,路径如下: ``` HKEY_CURRENT_USER\Software\DFIRVault\ ``` ### 注册表结构 ``` DFIRVault/ ├── CaseManager/ │ ├── case_folder (REG_SZ) │ └── backup_location (REG_SZ) ├── Hayabusa/ │ └── executable_path (REG_SZ) ├── Chainsaw/ │ └── executable_path (REG_SZ) ├── Thor/ │ └── executable_path (REG_SZ) ├── Splunk/ │ ├── splunk_path (REG_SZ) │ ├── username (REG_SZ) │ └── password (REG_SZ) └── Elasticsearch/ ├── url (REG_SZ) ├── username (REG_SZ) └── password (REG_SZ) ``` **备份注册表设置:** ``` reg export "HKCU\Software\DFIRVault" DFIRVault_backup.reg ``` **恢复注册表设置:** ``` reg import DFIRVault_backup.reg ``` ## 🛠️ 故障排查 ### 常见问题与解决方案 | 问题 | 解决方案 | |------|----------| | **Hayabusa/Chainsaw 未找到** | 下载对应工具并设置路径 | | **Thor 扫描器失败** | 以管理员身份运行 DFIRVault | | **Splunk 连接被拒绝** | 确保 Splunk 在 8089 端口运行 | | **CSV 上传失败** | 检查 Elasticsearch 集群健康与凭证 | | **VaultMirror 任务未创建** | 以管理员身份运行并检查任务计划程序服务 | | **注册表访问被拒绝** | 确保对 HKCU 拥有写入权限 | ### 日志文件 - **案件管理器**:`[CaseFolder]/case_manager.log` - **Hayabusa**:`[ReportPath]/[case]-log.txt` - **Thor 扫描器**:`[ReportPath]/[case]_thor_log.txt` - **SFTP 监控**:`[LocalFolder]/logs/sftp_monitor_*.log` - **VaultMirror**:`%APPDATA%\VaultMirror\logs\` ### 性能优化 - 尽可能使用 SSD 存储证据 - 限制并发扫描器数量以避免 I/O 瓶颈 - 对大型驱动器启用 Thor 扫描器的多线程选项 - 根据网络状况调整 CSV2ELK 的分块大小 ## 📄 许可证 本项目采用 MIT 许可证授权——详见 [许可证文件](LICENSE)。 ## 🙏 感谢 - **Yamato Security** 提供 Hayabusa - **WithSecure Labs** 提供 Chainsaw - **Nextron Systems** 提供 Thor Lite - **Splunk** 与 **Elastic** 社区 - 所有提供反馈与测试的 DFIR 实践者 ## 📞 联系与支持 - **开发者**:Jacob Wilson - **邮箱**:dfirvault@gmail.com - **GitHub**:[https://github.com/dfirvault](https://github.com/dfirvault) - **问题反馈**:[GitHub 问题页面](https://github.com/dfirvault/DFIRVault/issues) ## ⭐ 星标历史 如果你发现 DFIRVault 有用,请考虑在 GitHub 上为该项目标星! [![Star History Chart](https://api.star-history.com/svg?repos=dfirvault/DFIRVault&type=Date)](https://star-history.com/#dfirvault/DFIRVault&Date)
用心构建,为 DFIR 社区而献 ❤️
标签:7-Zip, AES-256, CSV报告, DFIRVault, Elasticsearch, HTML报告, JSON报告, Python, Windows平台, 企业级, 取证工具, 同步, 威胁扫描, 安全分析, 性能优化, 数字取证, 数据摄取, 无后门, 检测绕过, 漏洞评估, 结构化文件夹, 统一控制台, 自动化任务, 自动化脚本, 调查工具, 逆向工具, 链式保管