黑客碟中谍:LockBit 3.0 勒索软件构建器泄露导致出现数百个新变体
导语:LockBit勒索病毒于2019年9月首次被发现,最开始被称作为ABCD勒索病毒,因为它加密后的文件后缀名为abcd。
LockBit勒索病毒于2019年9月首次被发现,最开始被称作为ABCD勒索病毒,因为它加密后的文件后缀名为abcd。后来,它加密后的文件后缀修改为lockbit,于是他们的名字也被更名为LockBit。2021年6月LockBit2.0出现,并加入了磁盘卷影和日志文件删除等新功能,同时还推出了它的专用窃密木马StealBit,对受害者进行双重勒索攻击。2022年3月,微软公司发现LockBit2.0存在代码缺陷,可以在不支付赎金的情况下实现文件解密。
于是LockBit组织于2022年6月底发布了LockBit3.0又名LockBit Black,并向全世界的研究人员提供“漏洞赏金”计划,谁能帮忙找到这款勒索软件的Bug和漏洞,就可以得到赏金。
2022年8月初,LockBit在其数据泄露网站上公布了安全公司“Entrust”的数据,随后LockBit的运营网站因遭受到了DDoS攻击而导致停止运行。这应该是Entrust的报复行动,此后,LockBit下架了Entrust数据的公开途径,并转为私下分享。
不久之后,LockBit重新开展业务,声称拥有更强大的基础设施,可以防御DDos的攻击,并且开始招募DDoS选手。这样,LockBit 试图将其打造成三重勒索“的模式,即不支付赎金就不解密,不支付赎金就把这些数据泄密,不支付赎金就用DDoS再次攻击。
可以说,Lockbit是目前最流行的勒索软件,另外它还附带了一个附属勒索软件即服务(RaaS)计划,可以让攻击者得到高达80%的赎金,如上所述,它还包括一个漏洞奖励计划,用于那些检测和报告漏洞的人,这些漏洞允许在不支付赎金的情况下解密文件。目前,该组织已经支付了高达5万美元的赏金。除了这些功能外,Lockbit还提供了一个可搜索的门户网站,可以查询这个勒索软件家族针对的公司泄露的信息,甚至还为那些身上带有Lockbit标志的人提供贷款。
如上所述Lockbit 3.0,也被称为Lockbit Black,于2022年6月首次被检测到,这对分析师和自动化分析系统来说是一个挑战。最具挑战性的特征是以下3点:
1.它支持使用随机生成密码的加密可执行文件。这会阻止执行并阻碍自动分析,除非在命令行中提供适当的密码。
2.有效负载包括针对逆向工程分析的强大保护技术。
3.它包括许多未记录的内核级Windows函数。
Lockbit 3.0允许任何人创建自己的自定义版本的勒索软件。两个不同的用户发布了创建不同风格的勒索软件所需的文件:
Lockbit生成器已上传到GitHub
根据分析,Twitter用户@protonleaks和@ali_qushji发现了两种不同的变体。根据时间戳分析证实,这两个的二进制文件builder.exe略有不同。protonleaks的版本注册的编译日期为2022年9月9日。同时,ali_qushji的版本于2022年9月13日编译。在恶意软件的模板二进制文件(用于构建准备发布的最终版本的恶意软件的嵌入式和不完整版本)中发现了类似的编译时间差异。
PROTONLEAKS泄漏生成器
在GERT团队的事件响应中,发现了一个利用Lockbit 3.0勒索软件变体加密关键系统的攻击。卡巴斯基实验的保护系统确认并检测到该攻击为“Trojan.W32.Inject.aokvy”。
攻击包括TTP,类似于卡巴斯基威胁情报团队2022年8月在报告中强调的TTP,该报告涉及勒索软件攻击背后的八个主要勒索软件组织,包括侦察、枚举、收集和部署策略。
尽管该变体被确认为Lockbit,但赎金要求程序与已知由这种攻击者实施的程序截然不同。这起事件背后的攻击者决定使用另一个勒索通知,其标题与NATIONAL HAZARD AGENCY有关。
原始的Lockbit勒索通知
管理事件勒索通知
NATIONAL HAZARD AGENCY 并不是唯一使用泄露的 LockBit 3.0 构建器的网络犯罪团伙。已知利用它的其他一些黑客犯罪团伙包括Bl00dy 和 Buhti。
本示例中NATIONAL HAZARD AGENCY使用的勒索通知直接描述了获得密钥所需支付的金额,并将通信定向到Tox服务和电子邮件,这与使用自己的通信和协商平台的Lockbit组织不同。
BL00DY勒索软件组织
GetLucky勒索通知
GERT分析构建器和有效负载的方法
卡巴斯基的GERT团队决定分析构建器,以了解其构建方法,并定义额外的分析机会。
分析构建器解决了勒索软件负载带来的一些挑战:
构建器不包含任何保护机制,因为它将被攻击者使用,并且不应该被公开,没有反调试(至少在构建器本身中),没有阻止反转,没有代码混淆,示例模板作为资源嵌入(解密器,EXE, DLL,反射DLL)。
现在我们已经知道了如何在不需要对最终二进制进行逆向工程的情况下将配置参数嵌入有效负载中。
构建器提供了强制嵌入到恶意软件中的不同配置参数。
嵌入式资源
加密器和解密器模板嵌入到构建器的资源部分:
100: LockBit 3.0 Decryptor (EXE)
101: LockBit 3.0 Encryptor (EXE)
103: LockBit 3.0 Encryptor (DLL)
106: LockBit 3.0 Encryptor (反射DLL)
提出了一种方法,基于构造配置参数的方法以及如何将其添加到选定的有效负载中,以计算:
1.如何执行参数配置解析;
2.如何应用数据转换;
3.如何对配置进行加密,然后将其存储在最终二进制文件中。
有效负载嵌入配置
逆向工程分析确定,该配置嵌入到名为.pdata的部分中,该部分首先使用带有从随机种子派生的密钥的XOR函数对其进行加密,然后压缩以将其嵌入到有效负载中。
如果将示例配置为使用密码进行加密,则该配置将类似地首先嵌入二进制文件中,然后使用唯一密钥对样本进行加密。
.pdata包含嵌入式配置
嵌入式数据(加密和压缩)
XOR密钥的创建(用于解密嵌入到节中的内容)依赖于二进制源代码中嵌入的两个随机密钥和其他固定值。
解密和随后的解压缩会产生一组示例配置参数,其中一些参数具有易于识别的加密机制。
解密部分
解压缩部分
下一步是解释字段,并对每个字段应用所需的解密,将它们转换为可理解的值。
构建器使用一个自定义哈希函数,该函数为配置参数white_folders、white_files、white_extens和white_hosts中输入的每个值生成一个4字节的值。其他字段使用Base64和ROR13存储。
最后,解释配置中字段的含义。json文件和字段之间的关系允许我们确认:
1.大多数配置字段很容易根据其名称和内容进行解释;
2.某些字段只接受值列表中的值;
3.在加载到负载配置之前,使用ROR13存储许多带有字符串值的字段;
4.某些字段使用“;”分隔符接受多个列表值;
5.凭据必须以
Config.json 字段的含义
基于这些结果,我们定义了一个样本分析程序,并将其应用于多个样本,以确定有效负载的攻击类型、目标和结构偏好。
本文分析的目的是了解不同攻击者应用的参数,以构建在野外检测到的样本中配置的恶意软件。
研究人员分析了396个不同的样本。根据时间戳,检测到的大多数样本都是由原来的开发者创建的,但也发现了2022年6月和7月的未知开发者。
嵌入式配置的统计信息:
1.许多检测到的参数对应于构建器的默认配置,只有一些包含微小的更改。这表明这些样本可能是为满足紧急需求而开发的,也可能是由懒惰的攻击者开发的。
2.最常见的加密目标是本地磁盘和网络共享,避免隐藏文件夹。
3.示例通常运行单个实例并启用以下参数:
kill service kill process kill defender delete logs self-destruct
4.所识别的大多数样本都没有启用系统关闭选项。
5.在90%的示例中配置了PSEXEC的网络部署,而在72%的示例中配置了GPO的部署。
很少有示例能与C2通信。
详细统计
C2通信配置显示它很少被使用,并且包括三个测试域。在分析的样本中没有发现可疑或恶意域,这表明人们对使用泄漏的有效负载建立C2通信没有兴趣。
此外,在配置中,模拟数据列表(在有效负载配置中注册的凭据)使用默认的暴力列表记录常规数据。但也有可能检测到其他具有特定数据的二进制文件,从而识别受攻击的组织或个人。
重要的是要记住,Lockbit有效负载和其他勒索软件攻击者将这类信息集成在样本中,必须正确处理此类样本,以避免信息泄露。
研究方向发现,77个样本在勒索通知中没有引用“Lockbit”字符串(不区分大小写),根据LB TTP,这很不寻常。
修改后的勒索通知没有提及Lockbit或使用不同的联系地址,比如邮件/URL,这表明有攻击者盗用了Lockbit。
发表评论