由于虚拟机使用可移植的,独立于硬件的环境来执行与实际计算机基本相同的任务,在虚拟机内部执行的用户活动大部分保留在虚拟机映像文件中,而不在主机上,因此很自然地限制了跟踪的数量和威胁性。一些最受欢迎的虚拟机包括VirtualBox,Parallels和VMWare。虽然Microsoft提供了Hyper-V(在Windows 10上创建虚拟机的工具),但是Hyper-V提供了有限的加密选项,需要将Windows Server作为主机操作系统。由于这样或那样的原因,Hyper-V(微软的一款虚拟化产品,是微软第一个采用类似Vmware ESXi和Citrix Xen的基于hypervisor的技术)很少被攻击者使用。
将虚拟机作为犯罪工具
可以对攻击者使用的许多类型的虚拟机进行安全加密,使用加密的虚拟机可以使攻击者有机会隐瞒其在虚拟保护伞下的活动,降低了犯罪证据意外泄漏的风险。
虚拟机通常具有多种攻击优势,主要优势是与正常工作环境完全隔离。即使存在多种攻击,这不会引起什么注意,如虚拟机逃脱。另一方面,虚拟机可提供完整的桌面体验,可以针对虚拟机的特定用途进行完全调整。其中大多数是合法用途,比如虚拟环境中的计算机取证分析。
在调查犯罪嫌疑人的计算机时,取证专家不仅可以简单地对硬盘进行映像,还可以制作功能齐全的虚拟机,以便进行进一步的取证现场调查,模拟真实计算机的工作。这提供了更多的可能性,例如从内存中提取数据和密码,在虚拟机上启动取证映像。
当然,这是一把双刃剑。犯罪分子也使用虚拟机,今天比以往任何时候都要频繁。这听起来像是一个好主意,收集为达到目的所需的所有工具,准备发起恶意软件传播或DDoS攻击,破坏远程系统等。所有这些都不再是一劳永逸的工作,需要大量软件、脚本和数据。
相反,他们需要准备所需的一切,将其打包为虚拟机,将映像上传到快速可靠的托管服务器,并随身携带仅带有裸机的笔记本电脑。到达最终位置后,他们可以快速下载映像,运行该映像,然后从本地驱动器中将其删除,具体请查看《Maze勒索软件攻击者如何通过虚拟逃避检测》。
在上面的描述中,我故意省略了关键步骤。像大多数数据一样,虚拟机映像可以受密码保护。在已经发现的攻击样本中,就有攻击者使用了多个受密码保护的虚拟机。不过本文的研究方法是通过提取密码哈希来手动恢复密码,然后使用文中提取的工具恢复它们,本文提到的工具是Distributed Password Recovery,其开发者已经将手动恢复密码功能添加到其中了。
如果虚拟机需要新的密码,例如,有Windows帐户密码或BitLocker保护,请使用Elcomsoft System Recovery 。进入后,我建议首先运行Elcomsoft Internet Password Breaker ,以收集保存在Web浏览器中的所有密码。
如何破解加密的虚拟机:恢复VMWare、Parallels和VirtualBox的密码
如上所述,虚拟机使用可移植的,独立于硬件的环境来执行与实际计算机基本相同的角色。在虚拟保护伞下执行的活动将线索留在虚拟机映像文件中,而不是在主机上。执行数字调查时,分析虚拟机的功能变得至关重要。
攻击者使用的许多类型的虚拟机均具有安全加密功能,由于只有在可以提供原始加密密码的情况下,才能访问存储在加密的虚拟机映像中的证据。因此取证人员构建了一个工具,使专家可以对密码执行硬件加速的分布式攻击,从而保护由VMWare,Parallels和VirtualBox创建的加密拟机映像。
虚拟机加密
可以加密整个映像的最常见虚拟机是Parallels,VMWare和VirtualBox。但是,这些虚拟机之间的加密强度和由此产生的密码恢复速度差异很大。让取证人员看一下这三个虚拟机的开发人员为保护其内容所做的工作。
(1) Parallels
Parallels Desktop 被称为 macOS 上最强大的虚拟机软件。可以在 Mac 下同时模拟运行 Win、Linux、Android 等多种操作系统及软件而不必重启电脑,并能在不同系统间随意切换。
虽然如此,Parallels在这三家公司中的保护力度最弱,虽然Parallels使用AES-128 CBC算法对数据进行加密,但加密密钥是通过过时的MD5哈希函数的仅有的两次迭代获得的。因此,Parallels的攻击速度最快。在Intel i7处理器上,研究人员已经能够达到每秒1900万个密码的速度。有了这样的速度,即使没有GPU加速,也可以恢复相当复杂的密码。这样的速度足以使用普通的暴力破解来发现简单的密码,而更复杂的密码仍然需要使用字典攻击。
(2) VMware
VMvare使用相同的AES-128加密算法,但是,其实际保护与Parallels相比则不同。 VMware使用10000轮更强的PBKDF-SHA1哈希从密码中获得加密密钥。纯CPU攻击每秒可产生约10000个密码,因此强烈建议使用受支持的GPU辅助恢复。单个NVIDIA GeForce 2070 RTX板的使用将恢复速度提高到每秒160万个密码,这样可以找到相当复杂的密码。尽管如此,还是建议使用具有合理变异设置的目标字典。
(3) VirtualBox
VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。
不过Oracle VirtualBox提供了最强的保护和最安全的加密,加密算法可以是AES-XTS128-PLAIN64或AES-XTS256-PLAIN64,而SHA-256哈希函数用于通过密码派生加密密钥。哈希迭代的次数取决于AES加密密钥的长度,高达120万哈希迭代的惊人值。因此,仅使用cpu的攻击速度非常慢,恢复速度只有每秒15个密码。GPU辅助的攻击速度要快得多,在单个NVIDIA GeForce 2070 RTX板上每秒可提供多达2700个密码。除了良好的GPU外,取证人员强烈建议你使用针对性的字典和合理的变异设置。
攻击虚拟机加密的步骤
取证人员将使用 Elcomsoft Distributed Password Recovery 来打开加密的虚拟机,并设置对其密码的攻击。
为此,你将需要使用Elcomsoft Distributed Password Recovery 4.30或更高版本才能攻击虚拟机密码。为了发动攻击,你不需要打开整个容器,它可能非常大。相反,我们将使用虚拟机文件夹中相对较小的文件。对于Parallels,取证人员需要config.pvs文件。对于VirtualBox,取证人员需要.vbox文件。对于VMware,则是.vmx文件。这些文件很小(只有几个KB),是发动攻击所需的全部文件。
(1) 启动Elcomsoft Distributed Password Recovery 4.30 或更高版本;
(2) 如下图所示打开虚拟机,对每种类型的虚拟机使用相应的文件。
对于Virtualbox,打开.vbox文件:
对于VMware,打开.vmx文件:
对于Parallels,从包含虚拟机的文件夹中打开config.pvs文件。
(3) 使用字典,变体或新的“规则”选项卡配置并启动攻击,以使用John the Ripper语法设置混合攻击,你可以在此文中了解有关混合攻击的更多信息。John the Ripper是一个快速的密码破解工具,用于在已知密文的情况下尝试破解出明文,支持目前大多数的加密算法,如DES、MD4、MD5等。它支持多种不同类型的系统架构,包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS,主要目的是破解不够牢固的Unix/Linux系统密码。
除了在各种Unix系统上最常见的几种密码哈希类型之外,它还支持Windows LM散列,以及社区增强版本中的许多其他哈希和密码。它是一款开源软件,Kali中自带John。
一旦你发动攻击,你可以观察恢复速度。Parallels将是最快的攻击,即使只有一个CPU:
对于攻击者来说,虚拟机的使用正在增加。普通虚拟机提供的易用性和保护级别使他们可以在虚拟保护伞下悄悄发起攻击,从而减少了意外泄漏定罪证据的风险。本文所讲的取证者构建了一个工具,该工具将通过尽最大努力在尽可能短的时间内破解加密密码来帮助执法机构访问存储在加密虚拟机中的证据。
本文翻译自:
https://blog.elcomsoft.com/2020/10/the-rise-of-the-virtual-machines/ https://blog.elcomsoft.com/2020/10/breaking-encrypted-virtual-machines-recovering-vmware-parallels-and-virtualbox-passwords/