新闻公告使用手机扫一扫查看
< 返回

虚拟机快照取证利器

2026-05-28 12:01 作者:数掘云算 阅读量:4

前言

在实际内网攻防演练中,一个极具挑战性的场景是:攻击者历经多层突破后成功进入虚拟化集群挂载的 NAS 存储,发现其中保存着域控、管理员工作站等关键虚拟机的 .vmdk.vmsn.sav 等文件。然而,由于网络带宽受限,一个上百 GB 的磁盘镜像往往需要数天才能完整传输。长时间的数据外传不仅效率极低,同时也会显著增加被 SOC 平台发现并切断渗透链路的概率。

虚拟机在运行过程中,其内存状态能够被完整序列化并保存至磁盘,也就是常见的 Snapshot(快照)或挂起状态文件。这些文件实际上保留了虚拟机当时的全部内存内容,包括尚未落盘的 LSASS 进程数据、域管理员 NTLM 哈希、Kerberos 票据、BitLocker 密钥等敏感信息。

工具介绍

VMkatz 是一款基于 Rust 编写的命令行工具,可直接解析虚拟机内存快照文件(.vmsn)、虚拟磁盘文件(.vmdk.qcow2.vdi)以及 LSASS Minidump 文件,并从中提取 Windows 系统中的主流凭据数据。

整个工具编译后仅约 3MB,为静态二进制文件,无需额外依赖,可直接在 ESXi、Proxmox 或 NAS 等环境中运行。

VMkatz 主要特性

1. 高隐蔽性

无需传输大型镜像、无需启动虚拟机、不会产生系统日志,网络流量仅 KB 级别。

2. 高效率

上传一个 3MB 的工具后,仅需执行一条命令即可快速提取凭据。

3. 多场景适配

支持私有云、IDC 虚拟化平台、混合云以及 NAS 存储环境。

4. 零依赖运行

采用静态编译方式,可直接在 Linux / ESXi 等环境裸跑,无库依赖冲突问题。

支持提取的凭据类型

VMkatz 基本实现了 Mimikatz 所支持的主流 SSP 凭据提取能力,支持以下数据类型:

类型 说明
NTLM 哈希 提取本地账户及域账户的 NT/LM Hash
Kerberos 票据 可导出为 .kirbi.ccache 格式,用于票据传递
DPAPI 主密钥 生成适用于 Hashcat 的 $DPAPImk$ 格式哈希
LSA Secrets 提取服务账户密码、自动登录信息、机器账户密钥
SAM 哈希 获取本地账户 NT/LM Hash 及账户状态
缓存域凭据 提取 DCC2 格式的缓存域登录信息
NTDS.dit 从域控磁盘直接导出完整 AD 哈希
BitLocker FVEK 从内存池中提取 BitLocker 全卷加密密钥

工具使用

VMkatz 使用方式较为简单,可前往 GitHub 获取源码自行编译,或直接下载 Release 版本使用。

以下示例基于笔者此前创建的 VMware Windows 10 虚拟机文件进行测试。

提取到的 Hash 数据还可通过 cmd5 等平台进行识别或验证。

常见使用场景

(1)从 VMware 快照提取 LSASS 凭据

直接解析 .vmsn 快照文件

./vmkatz snapshot.vmsn

配合虚拟磁盘解析分页内存

./vmkatz --disk disk.vmdk snapshot.vmsn

该方式可恢复更多已换出的内存内容,提取结果更完整。


(2)从虚拟磁盘提取 SAM / LSA / DCC2

VMkatz 会自动解析磁盘中的 NTFS 文件系统,定位并读取注册表 Hive(SAM、SYSTEM、SECURITY),进而提取本地账户 Hash、LSA Secrets 与缓存域凭据。

VMDK 格式

./vmkatz disk.vmdk

QCOW2 格式(适用于 Proxmox/KVM)

./vmkatz disk.qcow2

(3)从域控磁盘提取完整 AD 哈希

该操作效果等同于执行一次 ntdsutil 或卷影复制导出,但无需登录域控系统,也不会产生运行时痕迹。

./vmkatz --ntds dc-disk.qcow2

(4)自动识别虚拟机目录

VMkatz 能自动发现目录中的 .vmsn.vmdk 等文件并进行综合分析,适用于已获取 datastore 访问权限后的批量处理场景。

./vmkatz /path/to/vm-directory/

(5)递归扫描整个存储池

可一次性扫描整个存储中的所有虚拟机。

扫描 ESXi Datastore

./vmkatz -r /vmfs/volumes/datastore1/

(6)解析离线注册表 Hive 文件

适用于单独获取到注册表文件的场景,例如通过 Volume Shadow Copy 导出的副本。

./vmkatz SAM SYSTEM SECURITY

(7)解析 LSASS Minidump

兼容标准 Minidump 格式,可替代传统 Mimikatz 的离线解析方式,适用于无法直接运行 Mimikatz 的环境。

./vmkatz lsass.dmp
联系我们
返回顶部