BlackMatter是一种勒索软件变体,它使用Salsa20和1024位RSA加密文件,并需要大量加密货币进行解密。与许多其他勒索软件组织一样,BlackMatter通过泄露数据的威胁来增加获得支付赎金的机会。BlackMatter作为一种勒索软件即服务(RaaS)运行。
2022年6月,LockBit发布了其勒索软件3.0版。在这篇文章中,我们将详细讨论其攻击过程,以及其与BlackMatter勒索软件的相似之处。
2022年3月,也就是LockBit2.0首次出现不到一年后,研究人员发现了即将推出的LockBit勒索软件新变种。LockBit3.0,又名“LockBitBlack”,要到6月下旬才会发布,与此同时,该组织推出了新的漏洞泄露网站和漏洞奖励计划。此后,一位研究人员分享了LockBit3.0的样本,以及他对新变体的初步分析。
detect it easy是一款跨平台的PE查壳工具,研究人员使用这个工具发现这个特定的LockBit3.0样本是一个Win32.exe文件,其中包含多个部分,由未知的加壳器封装(图1)。根据样本的原始来源,恶意软件使用此参数执行:
{04830965-76E6-6A9A-8EE1-6AF7499C1D08}.exe-kLocalServiceNetworkRestricted-passdb66023ab2abcb9957fb01ed50cdfa6a
LockBit3.0示例随后会删除一个.ico文件,该文件的文件名与附加到%PROGRAMDATA%文件夹中加密文件的文件名相同(图2)。
LockBit3.0的文件属性
%PROGRAMDATA%文件夹中的.ico文件
作为其加密过程的一部分,LockBit3.0附加了扩展名HLJkNskOq(图3),并将加密文件的图标更改为上述.ico文件的图标。
带有新文件名和扩展名的加密文件,以及LockBit的勒索信
然后,勒索软件释放其勒索信,其中提到了“IlonMusk”和欧盟的通用数据保护条例(GDPR)。最后,它会更改受害者计算机的壁纸,以通知他们尽快缴纳赎金。
LockBit3.0勒索信的内容
LockBit3.0的桌面壁纸
与BlackMatter勒索软件的相似之处
研究人员指出,LockBit 3.0的部分代码似乎借鉴了BlackMatter勒索软件,因此LockBit 3.0又被称为LockBit Black。同样地,我们在调试LockBit3.0示例期间发现了BlackMatter和新的LockBit变体之间存在相似之处。从我们对解压样本的检查和研究员ChuongDong提供的分析中,我们发现LockBit3.0需要一个pass参数来解密其主程序。研究人员已经观察到其他勒索软件家族,如Egregor也表现出了相同的行为,其中需要参数才能继续执行该程序。如果参数不可用,这会使二进制文件更难反转。
使用-pass参数解密部分
LockBit 3.0通过哈希DLL的API名称来执行API收集,然后将其与勒索软件所需的API列表进行比较。这个程序与BlackMatter相同,因为重命名BlackMatter的API的外部可用脚本也适用于LockBit 3.0。
LockBit3.0的API收集程序
BlackMatter的API收集程序
LockBit3.0用于重命名API的XOR密钥
BlackMatter用于重命名API的XOR密钥
LockBit 3.0没有直接调用收集到的API的地址,而是实现了一个蹦床指针,该指针指向一个已分配的堆,其中包含一个反汇编代码,然后该代码将跳转到NtTerminateProcess API的API地址。堆中包含的代码是从这组代码中随机选择的:
随机数ROR;
随机数ROL;
异或密钥;
通过随机数ROR,然后异或到密钥;
ROL随机数,然后异或到密钥;
LockBit3.0的蹦床指针代码
LockBit3.0对NtTerminateProcessAPI的蹦床调用
LockBit3.0和BlackMatter也实现了相同的反调试技术:两者都通过NtSetThreadInformationAPI将线程信息设置为ThreadHideFromDebugger(0x11),以导致任何调试器在这个线程上设置断点时崩溃。
通过NtSetThreatInformation的ThreadHideFromDebugger
与BlackMatter一样,LockBit3.0在使用API时使用线程而不是直接调用API,这可能是为了让研究人员更难分析。它使用的字符串使用简单的按位XOR程序、按位XOR和NOT程序或涉及线性同余生成器(LCG)算法以生成伪随机密钥的解密程序。除了添加了按位XOR和NOT程序,其他都类似于BlackMatter的操作方式。
LockBit3.0用于字符串解密的按位异或程序
LockBit3.0的按位XOR和NOT用于字符串解密
LockBit的3.0字符串解密使用LCG算法
LockBit3.0的配置使用相同的XOR程序和从LCG伪随机数生成器获得的密钥进行解密,然后使用称为APLib的压缩库进行解压缩。
LockBit3.0的配置列表
LockBit3.0还会检查受害计算机的UI语言,以避免用这些语言攻击计算机:
阿拉伯语(叙利亚);
亚美尼亚语(亚美尼亚);
阿塞拜疆语(西里尔语阿塞拜疆);
阿塞拜疆语(拉丁语阿塞拜疆);
白俄罗斯语(白俄罗斯);
格鲁吉亚语(格鲁吉亚);
哈萨克语(哈萨克斯坦);
吉尔吉斯(吉尔吉斯斯坦);
罗马尼亚语(摩尔多瓦);
俄语(摩尔多瓦);
俄语(俄罗斯);
塔吉克语(西里尔塔吉克斯坦);
土库曼(土库曼斯坦);
鞑靼语(俄罗斯);
乌克兰语(乌克兰);
乌兹别克语(西里尔文乌兹别克斯坦);
乌兹别克语(拉丁乌兹别克斯坦);
LockBit3.0还保留了这些BlackMatter程序,以用于提权升级:
使用UACMe的方法绕过用户帐户控制(UAC),这是在dllhost.exe下使用ICMLuaUtil COM接口;
复制Explorer.exe令牌以供自己使用;
执行32位或64位shellcode注入以提升其令牌。
LockBit3.0和BlackMatter都用作加密文件扩展名、勒索信名称以及壁纸和图标名称的字符串是Base64编码的哈希。然而,这两种勒索软件之间的一个关关键区别在于,LockBit3.0选择使用嵌入在其配置中的RSA公钥,并使用MD5对其进行哈希处理,而BlackMatter使用具有相同算法对API进行哈希处理的MachineGUID。这使得被同一样本感染的所有计算机的字符串看起来都相似,这可能是LockBit的操作人员的一种尝试,以便他们更容易识别加密文件所需的RSA私钥对。
BlackMatter(左)和LockBit3.0(右)的字符串生成
与BlackMatter一样,LockBit3.0也执行以下程序:
尝试使用其配置列表中的凭据登录,以确定受感染的系统是否是将用于以后程序的域管理员的一部分;
一个类似于BlackMatter的程序会终止并从其配置列表中删除进程和服务;
擦除每个驱动器的回收站文件夹;
检查计算机名哈希列表,以避免从其配置列表中删除;
如果设置了标志,则从其配置列表连接到C&C服务器;
如果在其配置标志中设置,则加密网络共享和Exchange邮箱;
从其配置列表中获取要避免使用的文件、文件夹和扩展名列表;
加密.lnk文件时使用指向文件;
在任何可用的打印机上打印勒索信并修改桌面壁纸;
使用与BlackMatter相同的加密算法;
LockBit3.0对卷影副本的删除显然是从BlackMatter的代码中删除的,因为这是使用WindowsManagementInstrumentation(WMI)通过COM对象执行的,而不是LockBit2.0使用vssadmin.exe。
LockBit3.0通过WMI删除卷影副本
这个最新的LockBit迭代只在提供特定参数时才会执行一些程序。LockBit 3.0只接受表2中列出的参数,而BlackMatter只接受-safe、-wall和-path参数。
LockBit3.0接受的参数列表
新的LockBit变体使用哈希和基于代码检查参数,它被设计为只执行一个来自参数的例程,除了-pass,它需要在检查其他参数之前执行。如果提供了-wall参数,则打印勒索信和更改受害计算机墙纸的程序也类似于BlackMatter的程序。像BlackMatter一样,只要提供了-safe参数,LockBit3.0也可以在安全模式下重新启动并通过RunOnce注册表执行。
然而,它们的配置标志之间有一个关键的区别:BlackMatter只有9个标志,而LockBit3.0有24个,详见表3。
可以在LockBit 3.0的配置中设置的标志
第三个LockBit版本的一个值得注意的行为是它的文件删除技术:它不使用cmd.exe执行将执行删除的批处理文件或命令,而是删除并执行从二进制文件中解密的.tmp文件。但是,只要提供了-gspd参数,它就会保留LockBit2.0的一些功能,例如早期版本通过组策略更新进行横向移动的能力。
执行的.tmp文件会覆盖勒索软件二进制文件的内容,然后使用基于原始文件名长度的新文件名多次重命名该二进制文件,例如,一个名为1.exe的文件,它有五个字符(包括文件扩展名),被重命名为AAAAA,然后是BBBBB,直到ZZZZZ。重命名文件后,LockBit3.0最终将其删除。该程序可能是LockBit勒索软件组织试图避免通过取证工具进行恢复,并通过完全删除任何勒索软件的痕迹来掩盖他们的踪迹。
LockBit3.0多次重命名勒索软件文件
LockBit3.0在反复重命名后删除勒索软件文件
VirusTotal上的LockBit3.0
最近,一位研究人员在VirusTotal上发现了另一个LockBit 3.0示例,在撰写本文时,在撰写本文时检测到了19个。这个特定的示例是一个包含两层模糊代码的PowerShell脚本。在对脚本进行去混淆之后,我们发现LockBit 3.0能够通过反射加载将DLL注入内存,使用的代码与BlackMatter自己的PowerShell代码相同。
截至2022年7月21日在VirusTotal上发现的LockBit3.0样本
LockBit3.0的第一层混淆代码
LockBit3.0的第二层混淆代码
LockBit3.0的反混淆PowerShell脚本
LockBit3.0的主要功能
BlackMatter的主要功能
此特定示例具有通过Base64压缩和加密的有效负载。为了访问它,我们修改了脚本以转储有效负载而不是执行它。通过转储有效载荷,我们能够获得LockBit3.0的主要二进制文件。
执行时,该脚本表现出与之前发现的LockBit3.0示例相同的行为。此特定示例将19MqZqZ0附加到加密文件的文件名。
LockBit3.0的有效载荷
转储LockBit3.0的有效负载
LockBit3.0的主要二进制文件
LockBit3.0的加密文件,其名称后附有19MqZqZ0
这个特定的LockBit 3.0示例的有效负载只检查3个哈希参数,而之前的LockBit3.0示例检查了8个。它的DLL有效负载是反射式加载的,其通过管理共享和组策略传播程序的代码是为PE(便携式可执行文件)二进制文件设计的,而不是为PowerShell脚本设计的,这可能解释了为什么某些程序不起作用。另一种可能性是,LockBit3.0的勒索软件构建器可能会选择禁用某些程序。即使检查了-pass参数,这个带有PowerShell脚本的LockBit3.0示例也不需要传递“密钥”来运行,尽管它的其余程序与上面提到的带有Win32 .exe文件的示例相同。
LockBit3.0示例中带有PowerShell脚本的哈希参数
勒索软件攻击的缓解方法
LockBit勒索软件组织在2022年第一季度引领了“勒索软件即服务”(Raas)活动,共有220起自称成功实施了Raas和勒索攻击。据报道,一次引人注目的攻击发生在1月份,在此期间,LockBit的运营商声称侵入了法国司法部。如果BlackMatter的一些子公司加入了LockBit的行列,也就不足为奇了,因为LockBit最近比较火,这也就解释了这两个勒索软件之间的许多相似之处。
随着这个最新变种的发布以及LockBit的漏洞赏金计划,研究人员预计LockBit勒索软件组织在未来一段时间会更加活跃。研究人员建议组织和最终用户对这种新变种保持警惕,特别是因为漏洞赏金程序可能会帮助运营商使他们的勒索软件变得更加可怕。降低勒索软件攻击风险的最佳做法包括:
遵循3-2-1规则,以两种不同格式备份文件的三份副本,其中一份副本存储在异地。这是一种预防措施,可避免勒索软件攻击时数据丢失。
对社会工程电子邮件保持警惕,以降低勒索软件感染的风险,因为勒索软件通常通过恶意垃圾邮件附件传播。
保持应用程序和程序的更新。定期打补丁可确保及时解决勒索软件攻击者可作为入口点利用的软件漏洞。
这几种办法可以帮助保护系统的可能入口点(端点、电子邮件、Web和网络)。
本文翻译自:https://www.trendmicro.com/en_us/research/22/g/lockbit-ransomware-group-augments-its-latest-variant--lockbit-3-.html如若转载,请注明原文地址