未知APT组织Angry Likho对俄罗斯开展网络攻击

Angry Likho(一些供应商将其称为 Sticky Werewolf)是我们自 2023 年以来一直在监控的一个 APT 组织。它与我们之前分析过的Awaken Likho 非常相似,因此我们将其归类到 Likho 恶意活动集群中。然而,Angry Likho 的攻击往往具有针对性,其基础设施更紧凑,植入范围有限,并且主要针对大型组织的员工,包括政府机构及其承包商。鉴于诱饵文件是用流利的俄语编写的,我们推断攻击者很可能是俄语母语人士。
我们已经确定俄罗斯有数百名受害者,白俄罗斯有数名受害者,其他国家也有类似事件。我们认为攻击者主要针对俄罗斯和白俄罗斯的组织,而其他受害者则是偶然的受害者——可能是使用沙盒环境或 Tor 和 VPN 网络出口节点的研究人员。
2024 年初,多家网络安全供应商发布了有关 Angry Likho 的报告。然而,我们在 6 月检测到了该组织的新攻击,并在 2025 年 1 月发现了恶意负载,证实了在我们进行研究时该组织仍在继续活动。
技术细节
初始攻击向量
Angry Likho 使用的初始攻击媒介包括带有各种附件的标准化鱼叉式网络钓鱼电子邮件。以下是包含恶意 RAR 存档的此类电子邮件的示例。
[
邀请受害者加入视频会议的鱼叉式网络钓鱼电子邮件的内容
该档案包含两个恶意 LNK 文件和一个合法诱饵文件。
[
鱼叉式网络钓鱼电子邮件中的诱饵文件,邀请受害者加入视频会议
该文档的内容与钓鱼邮件的正文几乎完全相同。
此示例说明了攻击者如何访问受害者的系统。所有这些电子邮件(以及我们收集的其他类似电子邮件)都可以追溯到 2024 年 4 月。我们没有观察到该组织的进一步活动,直到我们发现了一种不寻常的植入物,如下所述。根据我们的遥测,攻击者会定期进行操作,暂停他们的活动一段时间,然后使用略微修改的技术恢复。
此前未知的 Angry Likho 植入物
2024 年 6 月,我们发现了一个与此 APT 相关的非常有趣的植入体。该植入体以 FrameworkSurvivor.exe 的名称从以下 URL 分发:
hxxps://testdomain123123[.]shop/FrameworkSurvivor.exe
此植入程序使用合法的开源安装程序 Nullsoft Scriptable Install System 创建,并作为自解压存档 (SFX) 运行。我们之前曾在多个Awaken Likho活动中观察到这种技术。
以下是使用 7-Zip 存档程序打开的档案内容。
[
恶意 SFX 档案的内容
该档案包含一个文件夹 $INTERNET_CACHE,其中包含许多没有扩展名的文件。
自解压档案的安装脚本
为了了解 SFX 存档在启动时如何感染系统,我们必须找到并分析其安装脚本。 7-Zip 的最新版本不允许提取此脚本,但可以使用旧版本检索。 我们使用的是 7-Zip 版本 15.05(支持提取安装脚本的最后一个版本):
[
使用 7-Zip 15.05 版本打开的恶意 SFX 存档内容
安装脚本名为[NSIS].nsi,并且部分经过混淆。
[
安装脚本的混淆内容
经过反混淆后,我们能够确定其主要目的:
[
恶意 SFX 植入程序的反混淆安装脚本
该脚本使用 $INTERNET_CACHE 宏在受害者的系统上搜索文件夹,将存档中的所有文件提取到其中,将文件“Helping”重命名为“Helping.cmd”,然后执行它。
Helping.cmd 命令文件
以下是 Helping.cmd 文件的内容:
[
Helping.cmd 文件的内容
该文件经过了严重混淆,每个实际脚本命令之间都插入了几行无意义的垃圾行。一旦去混淆,脚本的逻辑就变得清晰了。以下是代码,其中几行经过修改以提高可读性:
[
反混淆的帮助.cmd
Helping.cmd 脚本以文件 i.a3x 作为参数启动合法的 AutoIt 解释器 (Child.pif)。i.a3x 文件包含已编译的 AU3 脚本。考虑到这一点,我们可以假设该脚本实现了恶意植入的核心逻辑。
AU3 脚本
为了恢复创建 i.a3x 文件时使用的原始 AU3 文件,我们使用基本的 AutoIt 脚本创建了一个虚拟可执行文件,将其内容与 i.a3x 交换,然后使用专门的工具提取原始 AU3 脚本。
我们最终得到了原始 AU3 文件:
[
恢复 AU3 脚本
该脚本经过了高度混淆,所有字符串均已加密。在对代码进行反混淆和解密后,我们对其进行了分析。该脚本首先进行了一些验证程序:
[
AU3脚本检查环境
该脚本会检查与安全供应商的模拟器和研究环境相关的工件。如果发现匹配项,它会终止或延迟 10,000 毫秒执行以逃避检测。
有趣的是,我们在 Awaken Likho 植入体中看到了类似的检查。这表明这两个活动背后的攻击者共享相同的技术,或者属于同一组织,针对不同的目标和任务使用不同的工具。
脚本接下来通过从 kernel32.dll 调用 SetErrorMode() 并使用标志 SEM_NOALIGNMENTFAULTEXCEPT、SEM_NOGPFAULTERRORBOX 和 SEM_NOOPENFILEERRORBOX 来设置错误处理模式,从而隐藏系统错误消息和报告。如果此调用失败,脚本将终止。
之后,脚本通过调用 FileDelete(“i”)从磁盘中删除自身并生成一个大文本块,如下所示。
[
生成“shellcode”的代码
该块可能是将被加载到内存并执行的 shellcode。但是,它也经过了打包和加密。一旦解包和解密,AU3 脚本就会尝试将恶意负载注入合法的 AutoIt 进程。
[
AU3 脚本的最终活动
主要载荷
为了获取 shellcode,我们在 AU3 恶意脚本完全处理完解密和解包的有效载荷后保存了转储。从转储中删除不必要的字节后,我们恢复了攻击的原始有效载荷。结果发现它不是 shellcode,而是一个成熟的 MZ PE 可执行文件。
[
解密并解包的有效载荷—MZ PE 文件
我们的产品检测到此有效载荷并做出以下判断:
- 特洛伊木马
- HEUR:特洛伊木马.Win32.Generic
我们检查了这个有效载荷并得出结论,它是 Lumma 木马窃取程序 (Trojan-PSW.Win32.Lumma)。
Lumma 窃取程序会从受感染的设备中收集系统和已安装软件的信息,以及 cookie、用户名、密码、银行卡号和连接日志等敏感数据。它还会窃取 11 种浏览器的数据,包括 Chrome、Chromium、Edge、Kometa、Vivaldi、Brave、Opera Stable、Opera GX Stable、Opera Neon、Mozilla Firefox 和 Waterfox,以及 Binance 和 Ethereum 等加密货币钱包。此外,它还会窃取加密钱包浏览器扩展程序 (MetaMask) 和身份验证器 (Authenticator) 的数据,以及远程访问软件 AnyDesk 和密码管理器 KeePass 等应用程序的信息。
命令服务器
该样本包含经过编码和加密的命令服务器地址。利用可执行文件代码中的简单解密程序,我们恢复了用作命令服务器的原始域名。
- averageorganicfallfaw[.]shop
- distincttangyflippan[.]shop
- macabrecondfucews[.]shop
- greentastellesqwm[.]shop
- stickyyummyskiwffe[.]shop
- sturdyregularrmsnhw[.]shop
- lamentablegapingkwaq[.]shop
- Innerverdanytiresw[.]shop
- standingcomperewhitwo[.]shop
通过识别此恶意软件变体的命令服务器名称,我们能够识别其他相关样本。结果,我们发现了 60 多个恶意植入程序。其中一些具有相同的有效负载,并且我们设法找到了其他攻击者控制的命令服务器(下面列出的地址与原始命令服务器一起用于已识别的样本):
- uniedpureevenywjk[.]shop
- spotlessimminentys[.]商店
- specialadventurew[.]shop
- stronggemateraislw[.]shop
- wishyhollowsk[.]shop
- beautifullydicrwop[.]shop
- softcallousdmykw[.]shop
我们确信,该 APT 组织的主要目标是使用窃取程序窃取敏感数据,并通过恶意远程管理实用程序对受感染的机器建立完全控制。
我们确信,该 APT 组织的主要目标是使用窃取程序窃取敏感数据,并通过恶意远程管理实用程序对受感染的机器建立完全控制。
新活动
我们自 2024 年 6 月以来一直在跟踪此活动的攻击。然而,正如我们的 F6(以前称为 FACCT)同事所报告的那样,在 2025 年 1 月,攻击者的活动再次激增。我们分析了他们发布的入侵指标,并发现了可能出现新一波攻击的迹象,这些攻击很可能至少从 2025 年 1 月 16 日就开始准备了:
[!
在 Angry Likho 的有效载荷存储库中找到的文件
我们设法下载了 1 月份 Angry Likho 攻击中出现的存储库中托管的恶意文件,当时这些文件仍可访问。对文件 test.jpg 和 test2.jpg 的分析表明,它们包含相同的基于 .NET 的有效负载,使用 Base64 编码。去年,我们记录了使用包含恶意代码的图像文件的 Angry Likho 攻击。此外,文件名与我们最近发现的样本的文件名相匹配。
这进一步证实了,负责这些攻击的 Angry Likho 组织仍然是一个活跃的威胁。我们将继续监控这一威胁,并提供有关该威胁以及该组织使用的 TTP 的最新网络情报数据。
受害者
在我们调查期间,我们的遥测数据显示俄罗斯有数百名受害者,白俄罗斯也有数人。大多数 SFX 档案的文件名和诱饵文件都是俄语,主题与俄罗斯政府机构有关。这些机构及其承包商是此次活动的主要目标。
归因
我们高度确信此次攻击活动是 APT 组织 Angry Likho 发起的。它与我们在BI.ZONE和F6 的同事的发现以及该组织先前的攻击有某些相似之处:
- 相同的初始植入结构(具有类似内容的档案,通过电子邮件发送)。
- 类似的诱饵文件,具有相同的命名模式和主题,大多以俄语撰写。
- 用于安装植入体的命令文件和 AutoIt 脚本也经过了类似的混淆处理。较新的版本包含更复杂的安装脚本,并采用额外的混淆层来使分析复杂化。
- 本报告中描述的植入程序包含一个已知有效载荷——Lumma 窃取程序 (Trojan-PSW.Win32.Lumma)。我们之前从未见过 Angry Likho 活动使用过此工具,但早期的攻击显示了类似的数据泄露策略,这表明该组织仍以加密钱包文件和用户凭据为目标。
结论
我们将继续监控 Angry Likho APT 的活动,该组织针对俄罗斯组织。该组织最近的攻击使用了 Lumma 窃取程序,该程序从受感染的设备收集大量数据,包括浏览器存储的银行详细信息和加密钱包文件。与以前一样,复杂的感染链包含在通过电子邮件分发的自解压档案中。我们认为攻击者制作了针对特定用户的鱼叉式网络钓鱼电子邮件,并附加了旨在吸引他们兴趣的诱饵文件。此外,我们根据常见的命令服务器和存储库确定了更多与此活动相关的恶意样本。
让我们总结一下,重点介绍一下此活动和其他类似活动的显着特点:
- 攻击技术随着时间的推移保持相对一致,只有微小的修改。尽管如此,攻击者仍成功实现了他们的目标。
- 攻击者偶尔会暂停他们的活动,但经过一段时间后就会发起新一波攻击。
- 该组织依赖从暗网论坛获取的现成恶意实用程序,而不是开发自己的工具。他们自己做的唯一工作就是编写恶意软件传送到受害者设备的机制并制作有针对性的网络钓鱼电子邮件。
妥协指标
文件哈希
植入物
f8df6cf748cc3cf7c05ab18e798b3e91
ef8c77dc451f6c783d2c4ddb726de111
de26f488328ea0436199c5f728ecd82a
d4b75a8318befdb1474328a92f0fc79d
ba40c097e9d06130f366b86deb4a8124
b0844bb9a6b026569f9baf26a40c36f3
89052678dc147a01f3db76febf8441e4
842f8064a81eb5fc8828580a08d9b044
7c527c6607cc1bfa55ac0203bf395939
75fd9018433f5cbd2a4422d1f09b224e
729c24cc6a49fb635601eb88824aa276
69f6dcdb3d87392f300e9052de99d7ce
5e17d1a077f86f7ae4895a312176eba6
373ebf513d0838e1b8c3ce2028c3e673
351260c2873645e314a889170c7a7750
23ce22596f1c7d6db171753c1d2612fe
0c03efd969f6d9e6517c300f8fd92921
277acb857f1587221fc752f19be27187
有效载荷
faa47ecbcc846bf182e4ecf3f190a9f4
d8c6199b414bdf298b6a774e60515ba5
9d3337f0e95ece531909e4c8d9f1cc55
6bd84dfb987f9c40098d12e3959994bc
6396908315d9147de3dff98ab1ee4cbe
1e210fcc47eda459998c9a74c30f394e
fe0438938eef75e090a38d8b17687357
诱饵文件
e0f8d7ec2be638fbf3ddf8077e775b2d
cdd4cfac3ffe891eac5fb913076c4c40
b57b13e9883bbee7712e52616883d437
a3f4e422aecd0547692d172000e4b9b9
9871272af8b06b484f0529c10350a910
97b19d9709ed3b849d7628e2c31cdfc4
8e960334c786280e962db6475e0473ab
76e7cbab1955faa81ba0dda824ebb31d
7140dbd0ca6ef09c74188a41389b0799
5c3394e37c3d1208e499abe56e4ec7eb
47765d12f259325af8acda48b1cbad48
3e6cf927c0115f76ccf507d2f5913e02
32da6c4a44973a5847c4a969950fa4c4
恶意域名
testdomain123123[.]shop
averageorganicfallfaw[.]shop
distincttangyflippan[.]shop
macabrecondfucews[.]shop
greentastellesqwm[.]shop
stickyyummyskiwffe[.]shop
sturdyregularrmsnhw[.]shop
lamentablegapingkwaq[.]shop
innerverdanytiresw[.]shop
standingcomperewhitwo[.]shop
uniedpureevenywjk[.]shop
spotlessimminentys[.]shop
specialadventurousw[.]shop
stronggemateraislw[.]shop
wishyhollowsk[.]shop
prettylydicrwop[.]shop
softcallousdmykw[.]shop