LODEINFO 恶意软件是什么?
LODEINFO 是一种无文件恶意软件,自 2019 年 12 月以来在以鱼叉式网络钓鱼电子邮件开始的活动中观察到。已知当用户打开鱼叉式网络钓鱼电子邮件中附加的恶意 Word 文件(以下简称 Maldoc)时就会发生感染。 (Excel 文件在早期也被滥用。)
根据安全厂商公布的信息,利用LODEINFO的APT活动主要针对日本媒体、外交、公共机构、国防工业和智库。鉴于其方法和恶意软件的相似性,也有人认为臭名昭著的 APT 组织 APT10 也参与其中。
LODEINFO 恶意软件:截至 2022 年发布的信息
APT10 HUNTER RISE ver3.0:击退新恶意软件 LODEINFO、DOWNJPIT 和 LilimRAT
APT10:追踪 LODEINFO 2022,第一部分•揭露 MirrorFace:针对日本政治实体的 LiberalFace 行动
打击 LODEINFO:调查基于开源的持续网络间谍活动• LODEINFO,一种针对日本组织的恶意软件
LODEINFO 恶意软件的演变
2023 年,使用 LODEINFO 的攻击仍在继续,并发现了该恶意软件的多个版本。该恶意软件仍在积极开发中,其版本更新的频率就证明了这一点。
图 1. LODEINFO 的演变
有关 2022 年 9 月之前的版本更新信息,请参阅以下文章:
APT10:追踪 LODEINFO 2022,第二部分
我们分析了 LODEINFO 恶意软件的每个版本并发现了变化。
根据我们的分析,该恶意软件已更新了新功能,以及反分析(避免分析)技术的更改和新功能的实现。这表明攻击者专注于隐藏他们的策略、技术和程序 (TTP),包括恶意软件。
由于检测信息有限,预计 LODEINFO 的检测将会变得困难。 2023年,仅发现了有限数量的LODEINFO样本,其调查和分析结果并未广泛公开。
截至本文发布(2024 年 1 月 24 日),我们观察到了 LODEINFO 的新版本 v0.7.3。在本文中,我们将详细介绍从 2022 年底到 2024 年 1 月观察到的 LODEINFO 更新,包括 v0.7.3。
LODEINFO分析
感染流程
以下是2023年观察到的LODEINFO的感染流程。它显示了与之前版本相比的一些变化。
下载器 Shellcode 的更新
初始感染路径与之前版本相同。感染从恶意Word文档(Maldoc)开始,LODEINFO最终被注入内存导致感染。
2023 年,此 Maldoc 中的 VBA 代码已更新。具体来说,添加了嵌入 32 位和 64 位下载器 Shellcode 的 VBA 代码,并根据目标环境选择适当的 shellcode。
在 Windows 操作系统中采用 64 位架构对许多组织来说是一个挑战,LODEINFO 也很可能已经进行了更改以适应 64 位架构。
图 2. 自 LODEINFO v0.6.8 以来实施的新感染流程
感染流程的变化是从2023年或更高版本观察到的v0.6.8到v0.7.1实施的。
远程模板注入
在 LODEINFO v0.6.9 中,我们还观察到在上述感染流程中使用远程模板注入的更复杂的情况。
什么是远程模板注入?
Microsoft Word 具有“模板”功能,允许用户根据其他用户创建的模板创建文件。当打开插入模板的Word 文件时,将从本地或远程计算机下载模板。使用上述“模板”功能,攻击者可以在其服务器上托管包含恶意宏的 Word 模板文件 (.dotm),并在受害者每次打开包含以下内容的 Word 文件时从攻击者的服务器检索并执行恶意模板:模板。
使用远程模板注入打开一个 Word 文件,它从攻击者的 C2 服务器下载并读取模板。
下载的模板是相当于上述 Maldoc 的恶意软件,它包含嵌入了 Downloader Shellcode 的 VBA 代码。这最终调用LODEINFO主体。下图是添加了远程模板注入的感染流程图。
图 3. 添加了远程模板注入的感染流
附加的 Word 文件本身仅读取模板,因此很难检测为恶意活动。该技术可能旨在逃避安全产品的检测。
为了使用远程模板注入进一步分析Word文件的结构,我们可以检查word_relssettings.xml.relsword文件中的文件内容。这将表明该文件被设计为读取模板文件https://45.76.222[.]130/template.dotm。
图 4. 使用远程模板注入的 Word 文件的结构
Maldoc
接下来,我们将介绍Maldoc中包含的VBA。
Maldoc 中嵌入的 VBA 代码
Maldoc 中嵌入的 VBA 代码包含 64 位和 32 位下载程序 Shellcode。
图 5. Maldoc 中嵌入的部分 VBA 代码
宏首先检查目标设备的操作系统架构,然后执行与该架构匹配的下载器 Shellcode。
每个 Downloader Shellcode 均使用 Base64 进行编码,并分成尽可能多的分割部分。这被认为是一种逃避安全产品检测的技术。
当宏执行时,分割的部分重新组装后,使用Base64解码的Shellcode被注入到内存中。
图 6. 重新组装 Base64 编码和分割的 Shellcode
Microsoft Office 语言检查
检查 Microsoft Office 语言设置的代码部署在 v0.7.0 Maldoc 中。我们确认的示例检查 Office 设置是否为日语。这被认为是为了仅在目标语言环境中运行而创建的。
有趣的是,这个功能在 v0.7.1 中被攻击者删除了。此外,Maldoc 本身的文件名已从日语更改为英语。由此,我们认为 v0.7.1 很可能被用来攻击日语以外的语言环境。
下载器 Shellcode
LODEINFO v0.7.1中使用的Downloader Shellcode是一种恶意软件,它从C2服务器下载并解密伪装成PEM文件(以下简称Fake PEM)的文件,最终创建文件来感染LODEINFO。
Shellcode本身是一个非常简单的下载器,因此我们将分享从Fake PEM文件中解密数据过程的分析结果。
什么是 .pem 文件?
隐私增强邮件文件的缩写。公钥基础设施 (PKI) 中使用的密钥和证书的文件格式之一。它最初是为了提高电子邮件的安全性而创建的,现在已成为互联网安全的标准。PEM 文件用于 Web 服务器、电子邮件服务器和安全通信协议(例如 HTTPS)的设置。
假PEM文件解密
Downloader Shellcode 从 C2 服务器下载假 PEM 文件。然后使用以下步骤解密该文件:
假 PEM 文件的页眉和页脚被删除。
使用 Base64 对步骤 1 中的数据进行解码。
步骤 2 中解码的数据的前 3 个字节被删除。
HMAC 是使用 SHA1 哈希算法根据下载 Shellcode 中硬编码的密码生成的。
步骤 4 中生成的 HMAC 用作 AES 的密钥,并且使用 AES 解密步骤 3 中的数据。
使用单字节 XOR 密钥进一步对步骤 5 中解密的数据进行解码。
什么是 HMAC(基于哈希的消息验证码)?
一种使用单向哈希函数确保消息完整性和真实性的代码和技术。它广泛用于需要验证数据发送者或数据在传输过程中未被篡改的安全通信。
我们研究的样本中的密码采用以下格式进行硬编码。如果没有这个密码,即使成功获取了Fake PEM文件,解密后续数据也极其困难。
图 8. 解密假 PEM 文件所需的硬编码密码
部署加载到内存中的 LODEINFO 后门 Shellcode
步骤6中解密的数据被设计有独特的数据结构。诸如恶意软件之类的对象Frau.dll被嵌入其中以供下一步使用。我们将解释该结构的细节。
图 9. 从假 PEM 文件恢复的数据结构
恢复的数据包含以下多个对象:
Elze.exe
Frau.dll
Elze.exe_bak
每个对象均由下载程序 Shellcode 在文件中创建并安装在受感染的端点上。然后,Elze.exe被执行。Elze.exe它本身是一个合法文件,但它Frau.dll使用 DLL 侧面加载来加载恶意文件。Frau.dll是一个非常简单的恶意软件,它将 LODEINFO 后门 Shellcode 作为有效负载加载到内存中。
然而,在 v0.6.6、v0.6.8 和 v0.6.9 中,通过使用控制流扁平化 (CFF) 和垃圾代码进一步加强了混淆。如下图所示,左边的程序流程非常复杂。图中右侧的代码是对应代码的一部分,但大部分代码都充满了CFF(黄色)和垃圾代码(灰色),只有少量的恶意代码(白色)被实际使用。这也表明攻击者正在专注于阻碍分析。
图 10. 程序流程以及被 CFF 和垃圾代码混淆的代码示例。
最后,该Elze.exe_bak文件是通过单字节 XOR 编码的 LODEINFO 后门 Shellcode 的数据,被读取Frau.dll并解码为有效负载。
什么是控制流扁平化?
一种使程序结构难以理解的技术。简单处理被条件分支和循环取代,因此控制流中垂直流动的处理通过条件分支和循环变成水平排列。随着控制流程变得扁平化,程序处理流程变得复杂且难以分析。攻击 Emotet 的控制流扁平化 – Sophos 新闻
与已知下载器 DOWNIISSA 的相似之处
通过进行详细分析,我们确认发现的Downloader Shellcode与已知的下载器DOWNIISSA具有三个相似之处。
然而,我们认为 DOWNIISSA 和我们分析的 Downloader Shellcode 根据其结构来自不同的恶意软件家族。
相似之处:
自修补机制隐藏恶意代码
C2服务器信息的编码方法
从假 PEM 文件解密的数据结构
相似点一:自补丁机制隐藏恶意代码
第一个相似之处是解码 Shellcode 本身的修补机制。
据 2022 年报道,DOWNIISSA 有一个在执行 Shellcode 时修补 Shellcode 本身的过程。新发现的Downloader Shellcode还具有自修补机制。
图 11. Downloader Shellcode 中的自修补机制
虽然与 DOWNIISA 类似,都是在 Shellcode 内执行自修补,但也存在明显的差异。 DOWNIISSA 使用 Base64,但当前的 Downloader Shellcode 使用 XOR 解码。 XOR密钥被一一使用,从0x00增加到0xFF。
相似点2:C2服务器信息的编码方式
第二个相似之处是Shellcode中嵌入的C2服务器信息的编码方式是相同的。 Downloader Shellcode包含两个C2服务器地址,用单字节XOR编码。嵌入方法也很相似,不仅仅是编码方法。
图 12. C2 服务器信息和下载器 Shellcode 中嵌入的假 PEM 文件
相似之处 3:从假 PEM 文件解密的数据结构
如上所述,从Fake PEM文件中解密出来的数据结构是一种独特的结构,并且已经证实其采用了与DOWNIISA解密时相同的数据结构。
LODEINFO 后门 Shellcode
LODEINFO 后门 Shellcode 是一种无文件恶意软件,允许攻击者远程访问和操作受感染的主机。以下特征与已发布信息相同。
C2服务器地址使用独特的数据结构。
引用嵌入数据的地址的机制是其特征。
使用 2 字节 XOR 隐藏后门命令 ID。
与C2服务器的通信数据的结构和加密非常复杂,如下图所示。
上述加密多次使用维吉尼亚密码。
图 13. 用于与 C2 服务器通信的独特数据结构和加密概述
我们对 2023 年发现的多个 LODEINFO 样本的分析显示,与之前发布的信息存在以下差异:
更改获取API函数名称的哈希计算算法
添加后门命令
变更一:获取API函数名称的哈希计算算法发生变化
v0.7.0版本相比v0.6.9使用了新的哈希计算算法。此更改使得无法使用与之前示例相同的规则来匹配签名。
恶意软件使用哈希计算算法来计算API函数名称的哈希并解析函数地址。哈希计算逻辑包括每个样本都不同的硬编码 XOR 密钥。该密钥用于异或解码,因此每个样本中嵌入的哈希值是不同的。
图 14. 哈希计算算法的变化
变更2:添加后门命令
LODEINFO实施以下后门命令来控制受感染的主机:
v0.6.5中后门命令数量减少到11个,但v0.7.1恢复了6个命令并添加了新runas命令,使总数达到18个。
此外,在 v0.7.2 和 v0.7.3 中删除的四个命令(keylog、ps、pkill、autorun)已恢复。此外,之前显示“不可用”的命令内容config也已实现。
攻击者基础设施
基于迄今为止LODEINFO的分析结果,我们将介绍从每个样本中获得的通信目的地的特征。
我们在 2023 年观察到的攻击者基础设施的趋势在各个版本中是一致的,并且攻击者更喜欢使用 AS-CHOOPA 的趋势仍在继续。
图 15.LODEINFO 攻击者基础设施。
概括
2023年还观察到了LODEINFO的多个版本,2024年1月观察到了v0.7.3。继续小心很重要,因为未来很可能会融入各种新功能和检测规避技术。
作为对策,由于LODEINFO的Downloader Shellcode和后门Shellcode都是无文件恶意软件,因此有必要引入一种能够扫描和检测内存中恶意软件的产品,以便将其检测出来。根据我们迄今为止的研究成果,我们不仅推出了可以在内存中扫描的产品,而且还采取了专门针对LODEINFO的各种措施。今后我们将继续扩大研究和对策。
我们希望继续与面临网络安全威胁并需要分析的组织中的 CERT 交换有关 LODEINFO 威胁的信息。
最后,JSAC2024 安排了两场关于 LODEINFO 的演讲。
虽然参展申请已结束,但部分资料将在稍后发布,请利用它们来获取最新信息。
国际奥委会
MD5 of samples:
69dd7fd355d79db0325816569ae2129a - Maldoc
E82d98bae599cd172bb194adbdc76873 – zip file of above Maldoc
D1a925ddb6d0defc94afb5996ed148bd - Maldoc
9598b2af9dd1493dd213dbca56912af4 - Maldoc
2a9012499d15145b5f63700c05adc426 - Loader module
508aed3687c146c68ad16326568431ab - Loader module
60dea5b5f889f37f5a9196e040bce0eb – BLOB:encrypted LODEINFO v0.6.9
3d910e8ab29362ae36de73c6b70a7e09 – BLOB:encrypted LODEINFO v0.7.1
290c5f33a4f4735e386b8193b1abdcf9 –Artifact:unique data structure for malware set
C2:
167.179.106[.]224
167.179.77[.]72
172.104.112[.]218
202.182.116[.]25
45.76.197[.]236
45.76.222[.]130
45.77.183[.]161
参考链接: https://blog-en.itochuci.co.jp/entry/2024/01/24/134100
图片来源网络目标可联系删除