enclaive/vmgrab

GitHub: enclaive/vmgrab

VMgrab 是一款验证虚拟机内存加密是否正确启用的攻防安全工具,通过内存转储和敏感数据搜索来评估机密计算的实际防护效果。

Stars: 3 | Forks: 0

``` ____ ,-.----. ,' , `. ,----.. ,-.----. ,---, \ / \ ,---. ,-+-,.' _ | / / \ \ / \ ' .' \ | : \ /__./| ,-+-. ; , ||| : : ; : \ / ; '. | | .\ : ,---.; ; | ,--.'|' | ;|. | ;. / | | .\ : : : \ . : |: | /___/ \ | || | ,', | ':. ; /--` . : |: | : | /\ \ | | \ : \ ; \ ' || | / | | ||; | ; __ | | \ : | : ' ;. : | : . / \ \ \: |' | : | : |,| : |.' .'| : . / | | ;/ \ \; | |`-' ; \ ' .; . | ; |--' . | '_.' :; | | \ ' : | \ \ ,'| | ; \ \ '| : | | , ' ; : \ || | ;\ \| | ' '--' : ' | \ ` ;| : ' |/ ' | '/ .': ' | \.'| : : : : : : \ |; | |`-' | : / : : :-' | | ,' | | : '---" | ;/ \ \ .' | |.' `--'' `---'.| '---' `---` `---' `---` VMgrab — VM memory dump validator OffSec tool to validate VM memory encryption and confidential computing enablement. Use for authorised penetration tests and security assessments only. [!] AUTHORIZED TESTING ONLY — Run only against systems you own or have explicit written permission to test. (c) 2025 enclaive.io | Repo: https://github.com/enclaive/vmgrab | License: MIT 🎯 Attacking VM: neo4j-vm1 📥 [1/3] Dumping memory... ━━━━━━━━━━━━━━━━━━━━━━━━ 100% | 4.2 GB 🔍 [2/3] Searching for pattern: 117-66-8129 Found at offset 0x2a4f8000: ...NHS:117-66-8129,Name:John Smith... ✅ Result: VULNERABLE - Sensitive data exposed! ``` ## 概述 标准虚拟机会在客户机 RAM 中暴露明文代码和数据。Confidential VM(机密虚拟机,例如 AMD SEV-SNP、Intel TDX)旨在保持客户机内存在运行时加密,并最小化 hypervisor/宿主机的攻击面。VMgrab 是一款面向技术评估人员的攻防安全工具,它自动化了 VM 内存获取技术,并生成取证工件和测试向量,以评估机密性保证在实践中是否有效。它专为渗透测试人员、红队成员、审计员和事件响应人员设计,用于实证验证加密/认证行为,识别实施差距,并记录可复现的发现。 ## VMgrab 的主要功能 虚拟机会在 RAM 中暴露易失性客户机状态——代码、密钥和运行时数据。Confidential VM 技术(特别是 AMD SEV-SNP 和 Intel TDX)提供运行时内存加密及相关认证机制,以限制宿主机/hypervisor 的可见性。VMgrab 是一个攻防工程工具集,它: - 使用云和本地 hypervisor 常见的宿主机级获取向量,自动化受控的 VM 内存获取; - 生成规范化的内存转储和审计工件,以便进行可重复分析; - 验证并核查机密性和认证声明(例如,页面在静态/传输中是否保持加密,固件/宿主机组件是否泄露客户机明文,以及客户机密钥/TEE 是如何管理的); - 帮助量化 SEV/TDX 部署中的真实攻击面和实施差距,并生成适用于技术报告和修复规划的凭据。 目标受众: - 经验丰富的攻防安全工程师 - 取证分析师 - 执行授权安全评估的系统架构师 用例: - 安全研究与渗透测试 - 机密计算演示 - 内存加密教育研讨会 - 合规审计(证明数据保护) **重要提示:仅对您拥有明确书面授权的资产使用。** ## 功能特性 - **多后端内存转储支持:** - `procmem` — 基于通用的 `/proc/pid/mem` 转储(适用于任何 hypervisor,包括 Kata Containers) - `libvirt` — 基于 virsh 的转储,用于 libvirt 管理的 VM - `qemu` — 直接 QMP socket 通信 - 搜索内存转储中的敏感数据(NHS 号码、SSN、电子邮件等) - 对比经典 VM 与 Confidential VM(带内存加密的 cVM) - 从 QEMU 命令行自动检测 SEV-SNP/SEV/TDX - 针对 enclave 运行自动化攻击 ## 系统要求 - 带有 KVM/QEMU 的 Linux 宿主机操作系统 - `sudo` 权限(用于 `/proc/pid/mem` 访问) - Go 1.22+(用于从源代码构建) - 可选:`virsh` 用于 libvirt 后端 ## 安装 ``` # 使用 Makefile 构建(推荐 - 包含版本信息) make build # 二进制文件位于 bin/vmgrab ./bin/vmgrab --version # 或安装到 /usr/local/bin make install # 或手动构建 go build -o bin/vmgrab ``` ## 配置 创建 `.vmgrab.yaml` 配置文件以进行自定义设置: ``` ./bin/vmgrab config init ``` 有关配置选项,请参阅 `.vmgrab.yaml.example`。 ## 命令 - `list` - 列出所有 VM 及其安全状态(SEV-SNP vs 易受攻击) - `dump` - 将 VM 内存转储到文件 - `search` - 在内存转储中搜索模式(支持正则表达式) - `attack` - 对单个 VM 进行完整攻击演示(转储 + 搜索 + 清理) - `demo` - 对比标准 VM 与 Confidential VM 的全自动化演示 - `disk-search` - 从宿主机搜索 VM 磁盘文件(验证 LUKS 加密) - `config` - 管理配置(init, show, validate) ## 使用示例 ``` # 列出所有 VM 及其安全状态 ./bin/vmgrab list # Dump VM memory (auto-selects best backend: procmem) sudo ./bin/vmgrab dump -o /tmp # Force specific backend sudo ./bin/vmgrab dump -o /tmp --backend procmem sudo ./bin/vmgrab dump -o /tmp --backend libvirt # Search memory dump for patterns ./bin/vmgrab search /tmp/-*.dump "password" ./bin/vmgrab search /tmp/-*.dump "123-45-6789" # Run complete attack on single VM sudo ./bin/vmgrab attack --pattern "sensitive-data" # Run full demo (standard VM vs confidential VM) sudo ./bin/vmgrab demo ``` ## 后端 | 后端 | 方法 | 适用场景 | |---------|--------|----------| | `procmem` (默认) | `/proc/pid/mem` | 通用 - 适用于包括 Kata 在内的所有环境 | | `libvirt` | `virsh dump --memory-only` | libvirt 管理的 VM | | `qemu` | QMP `dump-guest-memory` | 直接 QEMU 访问 | 默认后端是 `procmem`,因为它适用于任何带有 QEMU 进程的 Linux 系统,包括: - 标准 libvirt VM - Kata Containers(其 QMP socket 被运行时占用) - 任何直接 QEMU 进程
标签:EVTX分析, EVTX分析, HTTP工具, SecList, VM内存转储, 内存加密验证, 内存取证, 内存抓取, 动态调试, 安全测试, 攻击性安全, 敏感数据泄露, 数据防护, 日志审计, 机密计算, 虚拟机安全, 身份验证强制, 隐私计算