Lazarus最新活动分析
2023-11-1 11:32:0 Author: www.4hou.com(查看原文) 阅读量:8 收藏

导语:研究人员发现开发被利用软件的软件供应商之前曾多次成为Lazarus的受害者。

sl-abstract-malicious-binary-code-1200-1200x600.jpg今年上半年,一家软件供应商受到了Lazarus恶意软件的攻击,该恶意软件是通过未打补丁的正版软件传播的。值得注意的是,这些软件漏洞并不是新的,尽管供应商发出了警告和补丁,但许多供应商的系统仍继续使用有漏洞的软件,允许攻击者利用它们。幸运的是,研究人员的主动响应发现了对另一个供应商的攻击,并有效地挫败了攻击者的努力。

经过进一步调查,研究人员发现开发被利用软件的软件供应商之前曾多次成为Lazarus的受害者。这种反复出现的漏洞表明,一个持久的攻击者的目标可能是窃取有价值的源代码或篡改软件供应链,他们继续利用公司软件中的漏洞,同时瞄准其他软件制造商。

1.png

攻击时间

攻击者表现出了高度的复杂性,采用了先进的逃避技术,并引入了SIGNBT恶意软件来控制受害者。此外,在内存中发现的其他恶意软件包括Lazarus著名的LPEClient,这是一种以受害者分析和有效负载传播而闻名的工具,此前曾在针对国防承包商和加密货币行业的攻击中被观察到。

执行情况如下:

1.一个软件供应商通过利用另一个备受瞩目的软件而受到威胁。

2.这次攻击中使用的SIGNBT恶意软件采用了多种攻击链和复杂的技术。

3.在这次攻击中使用的LPEClient被观察到执行一系列与Lazarus组织相关的目标攻击。

SIGNBT加载程序

在2023年7月中旬,研究人员发现了一系列针对几名受害者的攻击,这些攻击是通过合法的安全软件进行的,这些软件旨在使用数字证书加密网络通信。该软件被利用来传递恶意软件的确切方法仍然难以捉摸。然而,研究人员在正版软件的进程中发现了利用后的活动。

在检查受害者系统中受攻击安全软件的内存时,研究人员发现了带有shellcode的SIGNBT恶意软件的存在,这个shellcode负责直接在内存中启动Windows可执行文件。

攻击者使用各种策略在受攻击系统上建立和维护持久性。这包括在系统文件夹中创建一个名为ualapi.dll的文件,该文件在每次系统引导时由spoolsv.exe进程自动加载。此外,在几个样本中,记录了注册表项以执行合法文件,以进行恶意的侧加载,从而进一步确保了持久性攻击机制。

2.png

加载最终有效负载方法

利用spoolsv.exe进程进行劫持是Lazarus的长期策略。每次重启后自动加载ualapi.dll文件并不是这个攻击者独有的新技术,研究人员在过去看到过类似的策略被Gopuram恶意软件使用。

恶意的ualapi.dll文件是使用名为Shareaza Torrent Wizard的公开源代码开发的,shareaza是一款在国外评价极高并且相当流行的开放源代码的p2p软件(简称raza),Shareaza集合了edonkey、gnutella(1和2)和bt四种流行p2p网络类型,并可以用于http下载,在以后的版本将会支持ftp下载,由于其优秀的界面(支持换肤)、简洁的操作以及极强的可制定性,所以在国外广为流传,其评价已跃居所有p2p软件的前5之列,并且许多p2p的下载站点已将其指定为bt的官方下载工具。

Wizard 是基于Laravel开发框架开发的一款开源项目(API)文档管理工具。  目前支持三种类型的文档管理Markdown。它遵循典型的Lazarus组织攻击方法,利用公共源代码作为基础,并向其中注入特定的恶意功能。这个加载程序恶意软件有一个程序来验证受害者,它通过从Windows注册表中读取受害者的MachineGuid来查看其是否存在其中,然后将其与嵌入的MachineGuid值进行比较。为了访问这个嵌入式MachineGuid值,恶意软件定位序列“43 EB 8C BD 1D 98 3D 14”,并读取紧随其后的DWORD。只有当受害者的MachineGuid与预期的匹配时,恶意软件才会进行下一步。然后,恶意软件从硬编码的文件路径读取有效负载并继续其恶意活动。

1.有效负载路径:C:\Windows\system32\config\systemprofile\appdata\Local\tw-100a-a00-e14d9.tmp

加载程序进程从tw-100a-a00-e14d9.tmp中检索前32个字节,并使用该数据作为AES解密密钥来解密其余内容。一旦解密,负载(标识为SIGNBT的Windows可执行文件)将直接加载到内存中。在这种情况下,加载的有效负载也从相同的路径读取配置文件,但文件名略有不同。

配置文件:C:\Windows\system32\config\systemprofile\appdata\Local\tw-100b-a00-e14d9.tmp,

该文件内部是一个base64编码的字符串,这与之前的SIGNBT恶意软件方法中使用的方法类似。该字符串的前32个字符作为AES解密密钥,后面的数据包含恶意软件使用的配置信息。解密后的配置数据包括三个C2地址(称为代理)、睡眠间隔、版本信息、监视的目标以及对恶意软件操作至关重要的各种其他参数等详细信息。

SIGNBT

大多数SIGNBT恶意软件样本是通过恶意软件加载程序启动的,该加载程序只在内存中运行。在执行时,恶意软件在初始化其配置数据后,通过发送信标开始与C2服务器通信。在其C2通信中,恶意软件使用以SIGNBT开头的独特字符串。这一独特的特点为它赢得了SIGNBT的称号。此外,恶意软件在其C2操作的每个阶段使用不同的前缀来验证和维护其活动。

3.png

恶意软件采用多步骤过程来创建一个24字节的值,用于各种目的。首先,它通过以下组件生成这个值:

1.8字节的硬编码值(SIGNBTLG):这是值的固定部分,用于验证客户端连接的合法性。

2.主机名MD5哈希的8个字节:包括受害者计算机名MD5哈希的前8个字节,有助于区分每个受害者。

3.随机生成的8字节标识符:另外8字节随机生成,可能用于会话标识符。

在创建了这个24字节的值之后,恶意软件会生成另外24字节的随机数据。然后使用另一个随机生成的24字节密钥将这两组24字节组合在一起。随后,结果值和24字节密钥都用base64编码。最后,将这些编码值与三个或七个随机生成的HTTP参数名组合在一起。在未来的所有C2通信中,恶意软件使用类似的结构,这使得检测和分析其通信更具挑战性。

4.png

HTTP POST数据结构

恶意软件使用一种机制来验证从C2服务器接收到的响应数据。具体来说,它检查响应数据是否包含硬编码的HTML脚本。

5.png

在验证过程中,恶意软件使用base64解码来自C2服务器的前12个字节,用加号替换空格以创建一个7个字符的字符串,然后对接下来的12个字节重复此过程。然后将每个集合中的前七个字符异或处理并与“success”字符串进行比较,此重复过程应用于每个HTTP通信序列,以验证响应是否符合预期的“success”标准。

接下来,恶意软件发送带有SIGNBTKE头的HTTP请求,如果它收到来自C2服务器的“success”消息,它会激活CCBrush类中的getInfo函数。该功能收集受害者计算机的各种信息,如计算机名称、产品名称、操作系统详细信息、系统正常运行时间、CPU信息、系统区域设置、时区、网络状态和恶意软件配置数据。在发送此特定于系统的信息之后,恶意软件发送另一个带有SIGNBTGC前缀的HTTP请求,这次使用从100个可能的参数名称列表中随机选择的嵌入式HTTP参数。

6.png

使用AES和从SIGNBTLG HTTP请求获得的解密密钥对从C2服务器接收到的数据进行解密。如果解密的数据是“keep”,恶意软件使用SIGNBTSR前缀响应“OK”消息,表示通信成功。如果存在问题,恶意软件使用SIGNBTFI前缀来传达问题或通信失败的性质。综上所述,C2通信过程可以描述如下:

7.png

C2通信过程

如果传递的数据不等于“keep”,表明需要特定的指令或操作,则恶意软件继续调用相应的类和函数进行后门攻击,SIGNBT恶意软件配备了一套广泛的功能,旨在对受害者的系统施加控制。为了执行这些功能,恶意软件以类名、函数名和任何必要参数的形式从C2服务器接收指令。然后,它执行嵌入在恶意软件代码库中的相关功能。

8.png

每个后门命令的名称都很简单,实现了常用的Windows命令,如ping、netstat和systeminfo。需要注意的是,后门能够为自动执行植入额外的有效负载,内部命名为“deploy”。这个后门函数通过使用AES解密的命令行参数接收文件路径,使用这个命令,可以观察到SIGNBT植入了如上所述的SIGNBT加载程序部分已经描述过的魔幻DLL。

经过分析,攻击者最初对受害者的攻击涉及利用软件漏洞,然后,他们开始使用DLL侧加载技术部署SIGNBT恶意软件。此外,攻击者使用后门功能“deploy”来为自动执行植入额外的有效负载。这种多方面的攻击表明了攻击的高度复杂程度。

LPEClient

使用如上所述的综合后门,攻击者在受害者的内存中部署了额外的恶意软件。值得注意的是,这些新发布的恶意软件变体主要只在系统内存中执行,而不干扰磁盘。根据研究人员的追踪分析,他们已经观察到攻击者向受害者设备提供了LPEClient和凭据转储实用程序等工具。

9.png

SIGNBT提供的额外有效负载

LPEClient恶意软件并不新鲜,最早是在2020年对国防承包商攻击的调查中发现的,它旨在收集受害者信息并从远程服务器下载额外的有效负载以在内存中运行。虽然之前已经有过报道,但最近的发现表明LPEClient已经发生了重大的迭代。它现在采用先进的技术来改进其隐身性并避免检测,例如禁用用户模式系统调用挂钩和恢复系统库内存部分。这表明攻击者在不断努力提高其恶意软件的复杂性和有效性。

与其他攻击活动的联系

此次攻击中使用的一种名为LPEClient的恶意软件在最近被认为是Lazarus组织开发的表现最为突出的攻击活动。这种特殊的恶意软件一直作为初始攻击载体,加速了有效负载的传播。在很长一段时间里,专门针对国防承包商和核工程师。

在最近的一次事件中,攻击者通过木马化的VNC或Putty客户端发送LPEClient进行中间攻击,从而攻击目标。另一个针对加密货币行业的活动是在2023年7月发现的,在这个以经济动机的攻击活动中,攻击者利用了与3CX供应链攻击有关的Gopuram恶意软件。有趣的是,在该样本中,攻击者还使用了LPEClient恶意软件。在引入Gopuram集群之前,LPEClient被用于传播后续的恶意软件。这三个被认为是Lazarus在2023年发起的攻击,说明了不同的初始攻击载体和攻击链,但它们始终依赖于LPEClient恶意软件来传递最终的有效负载。

10.png

2023年Lazarus攻击的三此活动的攻击链

总结

在当今的网络安全领域,Lazarus组织仍然是一个高度活跃和多才多艺的攻击者。攻击者已经展示了对IT环境的深刻理解,改进了他们的策略,包括利用高知名度软件中的漏洞,这种方法允许他们在初始攻击完成后有效地传播恶意软件。此外,这个臭名昭著的攻击者的活动超越了地理界限和行业部门,他们针对不同的行业有不同的目标,使用不同的工具、战术和技术,这突出表明他们最近的活动具有复杂的方法和明确的动机。

文章翻译自:https://securelist.com/unveiling-lazarus-new-campaign/110888/如若转载,请注明原文地址

  • 分享至

取消 嘶吼

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟


文章来源: https://www.4hou.com/posts/vx6V
如有侵权请联系:admin#unsafe.sh