历史追溯和影响
Nokoyawa是今年早些时候出现的一种新型基于Windows平台开发的勒索软件。收集的最早样本是于2022年2月编译的,并且与原勒索软件Karma具有大量代码存在相似之处(Karma是另一种可以上溯到Nemty的勒索软件,而Nemty是相关研究人员在2019年报告的勒索软件家族)。
最近,我们获得了这个勒索软件活动的一个新变种,并观察到它一直在通过对于其它勒索软件的开源代码的重用来不断地改进自身。在本文中,我们将讨论Nokoyawa Ransomware的一般行为以及它最近添加的新功能,即以最大限度地增加可以加密的文件数量。
- 受影响的平台:Windows
- 受影响方:Windows 用户
- 影响:文件可能丢失
- 严重级别:中
概览
本节提供了Nokoyawa如何工作的一般性描述,以避免重复其他已经发布的相关信息。
需要说明的是,与其所谓的勒索软件前身Karma不同,此勒索软件可以在32位和64位Windows上运行,本文只涉及到64位 Windows平台样本。
Nokoyawa为自定义执行提供了几个命令行选项:
- help:打印命令行选项列表
- network:加密所有驱动器和卷上的文件(本地和网络)
- file filePath:加密单个文件
- dir dirPath:加密指定目录和子目录中的所有文件
如果没有提供参数,Nokoyawa默认加密所有本地驱动器和卷。值得一提的是,“help”参数比较有意思,因为它表明勒索软件开发人员可能是独立于在受感染机器上部署和执行勒索软件的运营商团队。
为了提升加密的速度和效率,Nokoyawa创建了多个线程来加密不以 .exe、.dll 或 .lnk 扩展名结尾的文件。名称中带有NOKOYAWA的文件也会被跳过。此外,一些目录及其子目录通过将其名称的哈希与硬编码的哈希列表进行比较而被排除在加密之外。
对于每个样本,勒索软件运营商都会生成一对新的椭圆曲线加密(ECC)公钥和私钥(又名密钥对),然后将公钥嵌入到勒索软件二进制文件中。这对密钥可以被视为在支付赎金时解密文件所必需的“主”密钥。假设每个样本都是为不同的受害者部署的,勒索软件运营商消除了受害者使用提供给另一个受害者的解密器的可能性,因为每个受害者都链接到一个单独的“主”密钥对。
在加密每个文件之前,Nokoyawa会为每个文件创建一个新的临时密钥对(受害者文件密钥)。使用受害者文件的私钥和来自威胁参与者的“主”公钥,使用椭圆曲线ECDH生成一个64字节的共享密钥。这个共享密钥的前32个字节与硬编码的nonce‘lvcelvce’一起用作密钥,用于加密每个文件的内容。
SHA1哈希是基于先前生成的共享密钥和文件内容生成的,并与受害者文件的公钥和字符串“NOKOYAWA”一起附加在每个加密文件的末尾。此散列很可能用于在解密期间检查数据完整性。
因此,需要受害者文件的公钥和勒索软件运营商拥有的“主”私钥来重新生成Salsa20密钥以解密每个加密文件。
被勒索软件加密的文件会附加一个.NOKOYAWA扩展名。赎金记录被写入每个包含用于加密的目录中的NOKOYAWA_readme.txt中。
相关勒索代码
2022年4月样本包含三个新功能,以最大限度地增加Nokoyawa可以加密的文件数量。这些功能已经存在于当代勒索软件系列中,它们的添加只是表明Nokoyawa开发人员试图在技术能力方面赶上其他勒索软件运营商。
实验室的研究人员能够确定,大部分添加的代码都是从公开来源复制的,包括2021年9月泄露的现已失效的Babuk勒索软件的来源。
这种公开复制的一个例子是包含终止进程和服务的功能,以减少被其他程序锁定的文件数量,以便加密代码可以加密这些文件。代码(包括进程列表和服务名称)与Babuk中的实现完全匹配。图1中的图像显示了从Babuk泄露的源代码(左)和Nokoyawa的反编译代码(右)中获取的服务查杀功能的比较。
图1 Babuk和Nokoyawa的服务查杀代码比较
受Nokoyawa影响的应用程序和服务包括Microsoft Office应用程序、电子邮件客户端、浏览器、备份程序、安全产品和数据库服务器。
它还包括枚举和挂载卷以加密这些卷上的文件的代码,再次重用从泄露的Babuk源复制的确切代码。
在收集的最新样本中,它通过使用IOCTL_VOLSNAP_SET_MAX_DIFF_AREA_SIZE (0x53c028) 控制代码的DeviceIoControl API将卷影副本快照的分配空间大小调整为1字节来删除卷快照。此大小太小而无法存储快照,将导致Windows删除它们。之前曾有其它研究,报道过这种技术的使用,其实现似乎是从公开可用的PoC代码中复制而来的。
要使上述功能正常运行,需要管理员权限。由于我们没有观察到样本正在执行任何Windows用户访问控制 (UAC) 绕过,因此操作员很可能在执行勒索软件之前使用其他方式升级或获取管理权限。
赎金票据
赎金票据以及受害者与肇事者沟通的方式在新变种中也发生了重大变化。在2022年2月的旧样本中,受害者被指示通过电子邮件联系勒索软件运营商,如图2所示:
图2 2022年2月的Nokoyawa样本赎金票据
但是,在2022年4月的样本中,电子邮件地址已被删除。它们被替换为通过TOR浏览器通过.onion URL联系勒索软件运营商的说明。每个样本在赎金记录中使用相同的.onion域,假定为受害者标识符的id参数对于每个样本都是唯一的,如下图所示:
图3 2022年4月Nokoyawa样本中的赎金票据
新的赎金付款页面
访问Onion URL会进入一个带有在线聊天框的页面,用于与运营商进行沟通以协商和支付赎金。研究人员观察到可能的受害者(公司)和勒索软件运营商(用户)之间的持续对话。根据此聊天记录,威胁参与者提供最多3个文件的免费解密,以证明他们可以解密受害者的文件,如图4所示:
图4 赎金付款页面
“说明”页面显示了赎金金额,在本例中为 1,500,000(可能是美元),可以用BTC(比特币)或XMR(门罗币)支付。付款后,勒索软件运营商声称提供解密受害者文件的工具(图 5)。
图5 赎金付款指导页面
鉴于某些勒索软件活动的专业化程度越来越高,这个TOR网站可能是一种改进的尝试,也可能是让一个单独的团队处理赎金谈判的一种方式。
值得关注的是,勒索信中包含以下信息:“联系我们以达成协议,否则我们会将您的黑屎泄露给媒体”,这表明受害者的数据可能在感染期间被泄露。然而,我们并没有在Nokoyawa样本中发现这种能力。事实上,除了枚举网络驱动器之外,根本没有观察到与其它行为。运营商可能会单独执行数据泄露,或者他们可能只是虚张声势,进一步迫使受害者支付赎金。
总结
在本文中,我们重点介绍了对Nokoyawa Ransomware新变种所做的改进。它还展示了威胁行为者如何通过重用的开源代码,以最小的努力快速为其恶意软件添加新功能。