解密VMware Workstation密码(附工具)

渗透技巧 11个月前 admin
232 0 0
声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。

来源:Medium,作者:@David Azria、@Zur Ulianitzky


现在只对常读和星标的公众号才展示大图推送,建议大家把潇湘信安设为星标”,否则可能看不到了


0x00 概述

我们一直在努力研究攻击者用来攻击您的 VMware 环境的技术,您将要阅读的内容是我们持续研究的成果。


您可能认为您的 VMware 密码是安全的。但对于经验丰富的黑客来说,即使是这些也是可以争夺的。


当您从 VMware Workstation 连接到 ESXi 或 Vsphere 服务器时,您可以选择在计算机上保存连接详细信息,包括密码。下次连接到服务器时,您无需再次输入凭据。


经典的“记住我”功能。

解密VMware Workstation密码(附工具)


使用逆向工程的方法,我们分析了解密流程,发现我们可以自行解密保存的 VMware 凭据。如果我们能做到,那么经验丰富的黑客也能做到。


在此博客中,我们将逐步向您展示黑客如何窃取您的 VMware 凭据。最后,我们将向您展示我们创建的工具,它可以做到这一点,让红队队员的生活更轻松。


让我们进入研究。


0x01 解密流程

我们通过假设凭据保存在本地文件或注册表项中来开始研究。为了准确找到位置,我们使用了 SysInternals 工具中的 Procmon。


我们可以看到,当我们通过工作站添加或删除凭据时,会访问以下文件:

解密VMware Workstation密码(附工具)

我们来看看这两个文件:

%AppData%VMwarepreferences-private.ini
解密VMware Workstation密码(附工具)

%AppData%VMwareace.dat
解密VMware Workstation密码(附工具)

这些文件似乎已加密。所以我们需要了解如何,以及到解密它们。我们将从 preferences-private.ini 文件开始。


0x02 preferences-private.ini

该文件包含以下属性:.encoding

encryption.userKeyencryption.keySafeencryption.data

encryption.userKey 值使用数据保护 API (DPAPI) 加密,可通过第一个常量 ~60 字节元数据识别。

解密VMware Workstation密码(附工具)


DPAPI 允许使用来自当前用户的信息加密数据。因此,只有执行加密的用户才能解密数据。


让我们编写一个使用 Unprotect 函数并尝试解密数据的简单 .Net 应用程序:

解密VMware Workstation密码(附工具)


我们执行应用程序并获得解密数据:
解密VMware Workstation密码(附工具)


我们得到了一种加密算法类型 AES-256——我们也得到了一个密钥。我们称它为 KEY_1。


我们现在需要解密在 preferences-private.ini 文件中找到的其他属性的值,即 encryption.keySafe 和 encryption.data。为此,我们需要知道每个属性、使用的算法、初始化向量 (IV) 和密钥。


为了找到这些未知数,我们将使用静态和动态逆向工程分析技术。查看 Procmon 中的调用堆栈向我们展示了哪些 DLL 文件和函数需要访问加密文件。

解密VMware Workstation密码(附工具)


我们在vmwarebase.dll文件中找到了对BCryptDecrypt函数的调用,这是一个用于解密数据的 WinAPI 函数:
https://learn.microsoft.com/en-us/windows/win32/api/bcrypt/nf-bcrypt-bcryptdecrypt
解密VMware Workstation密码(附工具)


就在函数调用之前,我们可以看到 IV,以及发送到函数的加密数据和返回的解密数据,它们被推送到堆栈。查看 MSDN 文档告诉我们,发送给函数的最后一个参数 hKey 是用于解密数据的密钥的句柄。
https://learn.microsoft.com/en-us/windows/win32/api/bcrypt/nf-bcrypt-bcryptgeneratesymmetrickey

这个句柄是从BCryptGenerateSymmetricKey密钥创建函数中获得的:
解密VMware Workstation密码(附工具)


pbSecret 参数包含用于加密和解密过程的密钥(在 base64 解码之后)。


动态分析应该可以帮助我们获得实际的 IV 和密钥值,并了解完整的解密流程。


下面我们用WinDBG调试vmware.exe,用IDA同步地址基础镜像,插入断点,分析流程。


我们在BCryptGenerateSymmetricKey函数调用上插入断点,然后我们在栈上显示第五个参数pbSecret的内容,也就是秘钥。

解密VMware Workstation密码(附工具)


经过base64编码后,我们得到:

mXhLLOJnBFo0tNr7PVaxuzmaxwOsWsR/i0k8RAJf9cs=


这就是我们的KEY_1,由上面的DPAPI解密得到。


现在我们在 BCryptDecrypt 函数调用上插入一个断点,然后我们将看到使用此密钥解密了哪个有效负载以及使用了哪个 IV:

解密VMware Workstation密码(附工具)


堆栈上的第二个参数是加密的有效负载,第五个是 IV:
解密VMware Workstation密码(附工具)


经过base64编码后,我们可以看到这个数据对应于preferences-private.ini文件中的encryption.keySafe值。前 16 个字节是 IV,其余是加密数据。


解密结果为:

解密VMware Workstation密码(附工具)


简而言之,KEY_1 用于解密 encryption.keySafe 值,解密后的值是另一个密钥,我们称之为 KEY_2:
解密VMware Workstation密码(附工具)


接下来,我们可以使用相同的方法,调试对 BCryptDecrypt 函数的调用,以完成我们对解密流程的理解。


使用 KEY_2,我们能够解密 encryption.data 属性。同样,前 16 个字节是 IV,使用 AES-256 算法,解密后的值为:

解密VMware Workstation密码(附工具)

很好,我们成功解密了配置,我们有了主机名和用户名。但是……密码仍然是加密的。密码的解密密钥是什么?


为此,我们将继续处理工作站保存的第二个文件 ace.dat。


0x03 ace.dat

这是文件的内容:
%AppData%VMwareace.dat
解密VMware Workstation密码(附工具)

您可以看到数据值已加密。我们将其称为 DATA_1。


跟踪对 BCryptGenerateSymmetricKey 函数的堆栈调用会将我们带到 vmwarebase.dll 文件中的硬编码密钥。此密钥用于解密 ace.dat 文件内容:

解密VMware Workstation密码(附工具)


让我们使用它并解密 DATA_1 值,这是解密后的数据:
解密VMware Workstation密码(附工具)

数据包含密钥派生函数 PBKDF2-HMAC-SHA-1、盐和加密数据值,我们称之为 DATA_2。


PBKDF2 算法用于根据秘密值和盐生成密钥。秘密值硬编码在 vmwarebase.dll 文件中:

解密VMware Workstation密码(附工具)


让我们生成密钥并将其命名为 KEY_3:
解密VMware Workstation密码(附工具)


使用 KEY_3,我们将解密 DATA_2 值,这是解密后的数据:

解密VMware Workstation密码(附工具)


我们得到另一把钥匙,使用此密钥,我们从上面解密的配置中解密密码。
解密VMware Workstation密码(附工具)

使用的 IV 是加密密码的前 16 个字节。


最后,这是明文密码!

解密VMware Workstation密码(附工具)

0x04 工具解密

面的解密流程很长很复杂,所以我们也写了一个工具来完成这项工作;只需运行它,它就会解密 VMware Workstation 配置文件,包括密码。

它还可以通过尝试连接到服务器来验证提取的凭据是否有效。

解密VMware Workstation密码(附工具)

点击下方名片进入公众号

回复关键字【230429】获取工具链接



信 安 考 证



需要考以下各类安全证书的可以联系我,价格优惠、组团更便宜,还送【潇湘信安】知识星球1年!

CISP、PTE、PTS、DSG、IRE、IRS、NISP、PMP、CCSK、CISSP、ISO27001…

解密VMware Workstation密码(附工具)

推 荐 阅 读




解密VMware Workstation密码(附工具)
解密VMware Workstation密码(附工具)
解密VMware Workstation密码(附工具)

解密VMware Workstation密码(附工具)

原文始发于微信公众号(潇湘信安):解密VMware Workstation密码(附工具)

版权声明:admin 发表于 2023年6月22日 上午8:32。
转载请注明:解密VMware Workstation密码(附工具) | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...