当前位置: 首页 > 科技观察

如何对加密虚拟机进行取证分析?

时间:2023-03-20 13:23:17 科技观察

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