gl0bal01/volatility-toolkit

GitHub: gl0bal01/volatility-toolkit

自动化跨平台内存取证工具,基于 Volatility 3 提供一键式分析与报告。

Stars: 0 | Forks: 0

# Volatility 工具包 [![Lint](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/c9801473ea173446.svg)](https://github.com/gl0bal01/volatility-toolkit/actions/workflows/lint.yml) [![License: AGPL v3](https://img.shields.io/badge/License-AGPLv3-blue.svg)](LICENSE) [![Volatility 3](https://img.shields.io/badge/Volatility-3-blue)](https://github.com/volatilityfoundation/volatility3) [![Shell](https://img.shields.io/badge/Shell-Bash%204%2B-green)](scripts/vol-analyze.sh) [![DFIR](https://img.shields.io/badge/DFIR-Toolkit-critical)](https://gl0bal01.com/intel-codex/category/analysis) **Windows、Linux 和 macOS 的内存取证自动化。** 自动检测操作系统,并行运行合适的插件,提取 IOC 并生成结构化报告。 ## 演示 ## 快速开始 ``` git clone https://github.com/gl0bal01/volatility-toolkit.git cd volatility-toolkit # Option A: 全局安装 sudo make install vol-analyze memory.raw # auto-detects OS # Option B: 直接运行 chmod +x scripts/vol-analyze.sh ./scripts/vol-analyze.sh memory.raw ``` ## 功能 1. **自动检测**转储是 Windows、Linux 还是 macOS 2. 计算 MD5 和 SHA256 以确保可追溯性 3. 并行运行所有相关插件(批处理) 4. 分离标准输出与标准错误(错误不会污染输出) 5. 显示每个插件的耗时和成功/失败状态 6. 生成结构化摘要报告(文本和可选的 JSON) 7. 可选提取 IOC 字符串(IP、URL、域名、邮箱、文件路径) 8. 可选转储文件和注册表项(Windows) ## 平台支持 | 操作系统 | 插件数量 | 亮点 | 先决条件 | |----------|----------|------|----------| | **Windows** | 30 | 进程、DLL、网络、注册表、服务、恶意软件检测、内核驱动、SSDT | 无(Volatility 3 中已捆绑符号) | | **Linux** | 21 | 进程、bash 历史记录、内核模块、网络、根检测(系统调用/IDT/凭据) | [需要内核符号](#linuxmacos-memory-dumps) | | **macOS** | 20 | 进程、kext、网络、TrustedBSD、kauth 监听器、系统调用/系统控制检查 | [需要内核符号](#linuxmacos-memory-dumps) | ## 功能特性 | 功能 | 描述 | |------|------| | **OS 自动检测** | 分析转储以选择正确的插件集合 | | **并行执行** | 同时运行最多 N 个插件(`-j 8`) | | **彩色输出** | 绿色表示成功,黄色表示警告,并显示各插件耗时 | | **IOC 提取** | 从字符串中提取 IP、URL、域名、邮箱和文件路径 | | **JSON 报告** | 包含各插件状态的机器可读摘要 | | **可追溯性链** | 在分析开始前计算 MD5 和 SHA256 | | **非交互式** | 默认不提示 — 适用于脚本和 CI | | **注册表导出** | 转储原始 hive 文件以供离线分析(Windows) | | **错误隔离** | 标准错误捕获到 `.err` 文件 — 绝不混入结果 | ## 使用方法 ``` vol-analyze [options] OPTIONS --os TYPE Target OS: windows, linux, mac, auto (default: auto) -o, --output DIR Output directory (default: volatility_output) -j, --jobs N Max parallel plugins (default: 4) --dump-registry Dump registry hives to disk (Windows only) --dump-files Dump files from memory (Windows only) --extract-strings Extract and categorize IOC strings --json Generate JSON summary report --interactive Enable interactive prompts --no-color Disable colored output -h, --help Show help -v, --version Show version ENVIRONMENT VOL3_CMD Volatility 3 command (default: vol) MAX_PARALLEL Default parallel jobs (default: 4) NO_COLOR Set to disable colors (any value) ``` ### 示例 ``` # 自动检测操作系统,默认输出 vol-analyze memory.raw # Windows 分析(包含所有附加组件) vol-analyze memory.raw --os windows \ -o case-001/ -j 8 \ --dump-files --dump-registry --extract-strings --json # Linux 转储(LiME 格式)— 需要内核符号 vol-analyze memory.lime --os linux --extract-strings --json # macOS 分析 — 需要内核符号 vol-analyze memory.raw --os mac -o mac-case/ # CI 友好模式 — 无颜色,JSON 输出 vol-analyze memory.raw --json --no-color 2>/dev/null ``` ## 输出结构 ``` volatility_output/ ├── info.txt # OS info plugin output ├── pslist.txt # Process listing ├── pstree.txt # Process tree ├── netscan.txt / sockstat.txt # Network (OS-dependent) ├── malfind.txt # Malware detection ├── *.err # Per-plugin error logs ├── ... # (all plugin outputs) ├── strings/ # (with --extract-strings) │ ├── all.txt # Raw strings │ ├── ipv4.txt # IPv4 addresses │ ├── urls.txt # URLs │ ├── domains.txt # Domain names (by frequency) │ ├── emails.txt # Email addresses │ └── windows_paths.txt # Windows paths (Windows) │ └── unix_paths.txt # Unix paths (Linux/macOS) ├── dump_files/ # (Windows --dump-files) ├── registry_dump/ # (Windows --dump-registry) ├── analysis_summary.txt # Human-readable report └── analysis_summary.json # (with --json) ``` ## 文档 实用、有观点的指南 — 不仅仅是命令参考。 - **[Windows 速查表](docs/vol3-cheatsheet.md)** — 30 个插件及工作流上下文 - **[Linux 速查表](docs/linux-cheatsheet.md)** — 21 个插件,包括根检测 - **[macOS 速查表](docs/mac-cheatsheet.md)** — 20 个插件,包括 TrustedBSD 和 kauth - **[恶意软件分析指南](docs/vol3-malware-analysis.md)** — 在内存中挖掘恶意软件 - **[调查方法论](docs/investigation-methodology.md)** — 结构化 DFIR 工作流 ## Tab 补全 Bash 和 Zsh 补全已包含 — 可补全标志、`--os` 值和内存转储文件。 ``` # Bash — 通过 `make install` 自动安装,或手动源码安装: source completions/vol-analyze.bash # Zsh — 复制到您的 fpath: cp completions/vol-analyze.zsh ~/.zsh/completions/_vol-analyze ``` ## 外部资源 - [SOP:恶意分析](https://gl0bal01.com/intel-codex/Security/Analysis/sop-malware-analysis) — 标准操作流程 - [分析知识库](https://gl0bal01.com/intel-codex/category/analysis) — 指南和技术文章 - [二进制精炼 — 实用指南](https://gl0bal01.com/reverse/binary-refinery-practical-guide) — 二进制分析工作流 - [Volatility 3 文档](https://volatility3.readthedocs.io/) - [Volatility 基金会](https://volatilityfoundation.org/) ## 要求 - [Volatility 3](https://github.com/volatilityfoundation/volatility3) — 系统中需有 `vol`(或设置 `VOL3_CMD`) - Bash 4.0+ - 标准 Unix 工具:`strings`、`md5sum`、`sha256sum`、`grep`、`sort`、`uniq` ### Linux/macOS 内存转储 Linux 和 macOS 分析需要匹配的内核符号。请参阅速查表进行设置: - [Linux 符号生成](docs/linux-cheatsheet.md#symbol-requirements) - [macOS 符号生成](docs/mac-cheatsheet.md#symbol-requirements) ## 许可证 **[AGPL-3.0](LICENSE)** — 自由用于开源和个人用途。 如果您希望在商业产品或闭源服务中使用本工具且不公开修改内容,则需要商业许可。如需详细信息,请联系 [@gl0bal01](https://github.com/gl0bal01)。 由 [@gl0bal01](https://github.com/gl0bal01) 构建 | [gl0bal01.com](https://gl0bal01.com)
标签:Cutter, Homebrew安装, HTTPS请求, HTTP请求, IOC提取, IP提取, JARM, JSON报告, Linux取证, macOS取证, MD5, OS自动识别, SecList, SHA256, Shell脚本, URL提取, Volatility 3, Windows取证, Windows注册表, 内存分析, 内存取证, 反编译, 取证工具包, 取证报告, 取证框架, 取证自动化, 域名提取, 字符串提取, 并行插件, 应用安全, 开源取证, 数字取证, 文件提取, 文件路径提取, 注册表提取, 自动化取证, 自动化脚本, 邮箱提取, 链式保管