数据库

新型勒索软件Nokoyawa简析

字号+作者:益华科技来源:IT科技2025-11-05 11:26:35我要评论(0)

历史追溯和影响Nokoyawa是今年早些时候出现的一种新型基于Windows平台开发的勒索软件。收集的最早样本是于2022年2月编译的,并且与原勒索软件Karma具有大量代码存在相似之处Karma是另

历史追溯和影响

Nokoyawa是新型今年早些时候出现的一种新型基于Windows平台开发的勒索软件。收集的勒索最早样本是于2022年2月编译的,并且与原勒索软件Karma具有大量代码存在相似之处(Karma是软件另一种可以上溯到Nemty的勒索软件,而Nemty是简析相关研究人员在2019年报告的勒索软件家族)。

最近,新型我们获得了这个勒索软件活动的勒索一个新变种,并观察到它一直在通过对于其它勒索软件的软件开源代码的重用来不断地改进自身。在本文中,简析我们将讨论Nokoyawa Ransomware的新型一般行为以及它最近添加的新功能,即以最大限度地增加可以加密的勒索文件数量。

受影响的软件平台:Windows受影响方:Windows 用户影响:文件可能丢失严重级别:中概览

本节提供了Nokoyawa如何工作的一般性描述,以避免重复其他已经发布的简析相关信息。

需要说明的新型是,b2b供应网与其所谓的勒索勒索软件前身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新变种所做的改进。它还展示了威胁行为者如何通过重用的开源代码,以最小的努力快速为其恶意软件添加新功能。

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 但是有一种情况就比较揪心,就是当分区出现问题而不能识别的时候,这时在Win下要专业的工具才能格式化,而在Ubuntu下可以借助命令模式强行格式化。 首先执行sudo fdisk -l查看你的u盘的序号,通常是/dev/sdb之类的,U盘分区通常是/dev/sdb1 对于u盘我们一般格式化为FAT格式或者FAT32格式,不过在linux下这些会都显示为FAT格式。我们只需要执行命令: sudo mkfs.vfat -F 32 /dev/sdb1即可将u盘格式化为fat32格式。 假如你要把指定磁盘格式化为NTFS格式那么你需要sudo apt-get install ntfsprogs来安装ntfs读写工具,然后执行sudo mkfs.ntfs /dev/sda1,此过程会很慢。对于要格式化为linux ext格式的分区就更容易了: sudo mkfs.ext4 /dev/sda1 # 格式化为ext4分区 sudo mkfs.ext3 /dev/sda1 # 格式化为ext3分区 sudo mkfs.ext2 /dev/sda1 #格式化为ext2分区 PS:对于要格式化的分区必须要先用umount卸载掉才能格式化哦。

    但是有一种情况就比较揪心,就是当分区出现问题而不能识别的时候,这时在Win下要专业的工具才能格式化,而在Ubuntu下可以借助命令模式强行格式化。 首先执行sudo fdisk -l查看你的u盘的序号,通常是/dev/sdb之类的,U盘分区通常是/dev/sdb1 对于u盘我们一般格式化为FAT格式或者FAT32格式,不过在linux下这些会都显示为FAT格式。我们只需要执行命令: sudo mkfs.vfat -F 32 /dev/sdb1即可将u盘格式化为fat32格式。 假如你要把指定磁盘格式化为NTFS格式那么你需要sudo apt-get install ntfsprogs来安装ntfs读写工具,然后执行sudo mkfs.ntfs /dev/sda1,此过程会很慢。对于要格式化为linux ext格式的分区就更容易了: sudo mkfs.ext4 /dev/sda1 # 格式化为ext4分区 sudo mkfs.ext3 /dev/sda1 # 格式化为ext3分区 sudo mkfs.ext2 /dev/sda1 #格式化为ext2分区 PS:对于要格式化的分区必须要先用umount卸载掉才能格式化哦。

    2025-11-05 10:40

  • Win7进程优化教程(Win7进程管理技巧及优化方法,轻松解决电脑卡顿问题)

    Win7进程优化教程(Win7进程管理技巧及优化方法,轻松解决电脑卡顿问题)

    2025-11-05 09:48

  • 24寸电视的优缺点及使用体验(探索适合家庭娱乐的理想尺寸和性能)

    24寸电视的优缺点及使用体验(探索适合家庭娱乐的理想尺寸和性能)

    2025-11-05 09:26

  • 华为手机安卓的优势和特点(探索华为安卓手机的领先地位与高性能)

    华为手机安卓的优势和特点(探索华为安卓手机的领先地位与高性能)

    2025-11-05 08:45

网友点评
精彩导读
在过去的几个星期,(几乎)每次都有消息 Ubuntu 15.04在启动时检测到系统程序错误 跑出来“欢迎”我。那时我是直接忽略掉它的,但是这种情况到了某个时刻,它就让人觉得非常烦人了!检测到系统程序错误(System program problem detected)你想立即报告这个问题吗?我肯定地知道假如你是一个Ubuntu用户,你可能曾经也遇到过这个恼人的弹窗。在本文中,我们将探讨在Ubuntu 14.04和15.04中遇到检测到系统程序错误(system program problem detected)时 应该怎么办。怎么解决Ubuntu中检测到系统程序错误的错误对不起,Ubuntu发生了一个内部错误是个Apport(LCTT 译注:Apport是Ubuntu中错误信息的收集报告系统,详见Ubuntu Wiki中的Apport篇),它将会进一步的打开网页浏览器,然后你可以通过登录或创建Launchpad帐户来填写一份漏洞(Bug)报告文件。你看,这是一个复杂的过程,它要花整整四步来完成。但是我想帮助开发者,让他们知道这个漏洞啊 !对,也不对。假如你想的话,在你第一次看到它的时候报告它。你可以在上面图片显示的“显示细节(Show Details)”中,查看崩溃的程序。但是假如你总是看到它,或者你不想报告漏洞(Bug),那么我建议你还是一次性摆脱这个问题吧。修复Ubuntu中“检测到系统程序错误”的错误我的建议是删除这些错误报告。打开一个终端,执行下面的命令:复制代码代码如下:假如你这样做,系统中任何程序崩溃时,系统都不会再通知你。假如你想问问我的看法的话,我会说,这不是一件坏事,除非你愿意填写错误报告。假如你不想填写错误报告,那么这些错误通知存不存在都不会有什么区别。要禁止Apport,并且彻底地摆脱Ubuntu系统中的程序崩溃报告,打开一个终端,输入以下命令:复制代码代码如下:复制代码代码如下:# 设置0表示禁用Apportw,或者1开启它。# 你可以用下面的命令暂时关闭它:# sudo service apport start force_start=1enabled=1把enabled=1改为enabled=0。保存并关闭文件。完成之后你就再也不会看到弹窗报告错误了。很显然,假如我们想重新开启错误报告功能,只要再打开这个文件,把enabled设置为1就可以了。

在过去的几个星期,(几乎)每次都有消息 Ubuntu 15.04在启动时检测到系统程序错误 跑出来“欢迎”我。那时我是直接忽略掉它的,但是这种情况到了某个时刻,它就让人觉得非常烦人了!检测到系统程序错误(System program problem detected)你想立即报告这个问题吗?我肯定地知道假如你是一个Ubuntu用户,你可能曾经也遇到过这个恼人的弹窗。在本文中,我们将探讨在Ubuntu 14.04和15.04中遇到检测到系统程序错误(system program problem detected)时 应该怎么办。怎么解决Ubuntu中检测到系统程序错误的错误对不起,Ubuntu发生了一个内部错误是个Apport(LCTT 译注:Apport是Ubuntu中错误信息的收集报告系统,详见Ubuntu Wiki中的Apport篇),它将会进一步的打开网页浏览器,然后你可以通过登录或创建Launchpad帐户来填写一份漏洞(Bug)报告文件。你看,这是一个复杂的过程,它要花整整四步来完成。但是我想帮助开发者,让他们知道这个漏洞啊 !对,也不对。假如你想的话,在你第一次看到它的时候报告它。你可以在上面图片显示的“显示细节(Show Details)”中,查看崩溃的程序。但是假如你总是看到它,或者你不想报告漏洞(Bug),那么我建议你还是一次性摆脱这个问题吧。修复Ubuntu中“检测到系统程序错误”的错误我的建议是删除这些错误报告。打开一个终端,执行下面的命令:复制代码代码如下:假如你这样做,系统中任何程序崩溃时,系统都不会再通知你。假如你想问问我的看法的话,我会说,这不是一件坏事,除非你愿意填写错误报告。假如你不想填写错误报告,那么这些错误通知存不存在都不会有什么区别。要禁止Apport,并且彻底地摆脱Ubuntu系统中的程序崩溃报告,打开一个终端,输入以下命令:复制代码代码如下:复制代码代码如下:# 设置0表示禁用Apportw,或者1开启它。# 你可以用下面的命令暂时关闭它:# sudo service apport start force_start=1enabled=1把enabled=1改为enabled=0。保存并关闭文件。完成之后你就再也不会看到弹窗报告错误了。很显然,假如我们想重新开启错误报告功能,只要再打开这个文件,把enabled设置为1就可以了。

热门资讯