
卡巴斯基实验室指出,他们发现了一种新型勒索软件家族利用为人熟知的Petya勒索软件加密用户数据,并修改Petya代码以控制其执行。
Petya出现于去年三月份,因为能控制MBR(主引导记录)从而控制设备而不是像其他勒索软件那样加密用户文件而引起了研究人员的注意。不久之后Petya跟Mischa勒索软件合体发展为一种勒索软件即服务。
这款新型勒索软件名为PetrWrap (Trojan-Ransom.Win32.PetrWrap),它利用Petya达成恶意目的,不过并非基于勒索软件即服务。PetrWrap的传播是手动式的:攻击者针对某个组织机构的网络发动攻击将其攻陷,然后使用合法的PsExec工具将PetrWrap安装到所有的端点和服务器上。
PetrWrap用C语言编程并通过微软Visual Studio编译,它打包了要给特别的模块从而能够使用Petya勒索软件v3样本感染目标机器,而且还在运行过程中修改Petya的代码以控制其执行。PetrWrap还有自己的加密程序。
启动后,PetrWrap会将执行延迟一个半小时,随后从数据段解密Petya的主DLL并调用导出函数ZuWQdweafdsg345312。Petya通过这个函数为下一步行动做准备并开启MBR覆写进程。由于它需要先勾住Petya的函数,因此PetrWrap阻止Petya自行运行。
随后,PetrWrap会进行必要的加密计算,勾住两个Petya程序,随后将执行传递给Petya。PetrWrap会完全用一个独立的实现替代Petya的ECDH部分,这样就可以利用自己的私钥和公钥。这款勒索软件带有内嵌式公钥,为每个感染生成一对会话密钥,计算ecdh_shared_digest,拦截Petya的salsa密钥并通过ecdh_shared_digest加密,构建一个user_id,随后将这个ID传给Petya,让其当做自己的数据来使用。
PetrWrap勾住Petya的两个程序并用自己的程序进行替代,这样就能够保存由Petya生成的salsa密钥以供之后使用;修复Petya引导程序代码和勒索文本;将执行传给原始程序;调用原始程序;生成user_id并用这个新生成的user_id替代Petya的id字符串。
所有的这些变化都能让PetrWrap锁定受害者及其并安全地对NTFS分区的MFT进行加密,并且显示并不会提及Petya的锁屏。另外,这种方式还会让PetrWrap的开发人员在不必自己编写代码的情况下加密引导程序。
由于这个勒索软件家族使用了强大的加密算法,因此目前尚未有免费解密工具。卡巴斯基表示,受害者可以尝试通过第三方工具如R-Studio恢复自己的文件。
卡巴斯基表示,针对组织机构发动攻击且主要目标是加密数据的情况已变得越来越多。在攻击中使用勒索软件的攻击者通常会尝试找到易受攻击的服务器或者带有不受保护的RDP访问权限的服务器。渗透到组织机构的网络后,它们会使用特别的框架如Mimikatz来获取必要凭证从而在整个网络中安装勒索软件。
本文由测腾代码卫士编译,不代表测腾观点,转载请注明“转自测腾代码卫士www.codesafe.cn”。

