该攻击链采用独特的多层级阶段来传播类似 Agent Tesla 变种、Remcos RAT 或 XLoader 的恶意软件。攻击者越来越依赖这种复杂的传播机制来逃避检测、绕过传统沙盒,并确保成功传播和执行有效载荷。我们分析的网络钓鱼活动使用伪装成订单发布请求的欺骗性电子邮件来传播恶意附件。
此多层攻击链利用多条执行路径来规避检测并增加分析难度。
该攻击活动以带有附件的电子邮件形式发送给受害者。这些附件包含基于脚本的恶意软件,最终会感染主机。
我们的分析展示了如何追踪和缓解依赖于多阶段传播机制的威胁。此外,我们还重点介绍了分析基于 AutoIt 的恶意软件和调试 Shellcode 的技术,旨在帮助分析师提升威胁搜寻能力。尽管攻击者采用了这种多层攻击方法,但Advanced WildFire能够有效检测每个阶段,确保我们的客户能够更好地抵御此类攻击。
此外,Palo Alto Networks 客户可以通过以下产品更好地抵御上述威胁:
-
为下一代防火墙提供云安全服务,包括高级 URL 过滤和高级 DNS 安全
-
Cortex XDR和XSIAM
攻击链技术分析
通过虚假订单发货发布钓鱼邮件
我们将本文重点关注此特定的攻击链,因为它不常见地使用了 AutoIt 编译的可执行文件,这是我们在 2024 年 12 月独家观察到的。此活动仅被发现投放了 Agent Tesla 变体。
此特定攻击链的网络钓鱼邮件看似官方通讯,谎称已付款,并催促收件人查看附件中的订单文件。附件doc00290320092.7z包含一个 JavaScript 编码 ( .jse ) 文件。
执行后,此.jse文件会启动感染链。该脚本充当下载程序,检索并执行 PowerShell 脚本。
恶意存档:伪装的订单审核脚本
打开doc00290320092.7z附件后,潜在受害者会发现其内容,即一个名为doc00290320092.jse的文件。请注意,ZIP 文件名和 JSE 文件名均以doc开头,这让人误以为 JSE 文件是合法文档。
JSE 文件是一个简单的下载器,旨在从远程服务器检索并执行 PowerShell 脚本。JSE 文件中的脚本未经混淆,因为此攻击链依赖于多层方法,而非重度混淆。
PowerShell 传递编码的有效载荷
PowerShell 脚本非常简单,包含一个 Base64 编码的有效载荷,它会对其进行解码,然后写入临时目录并执行。图 4 展示了 PowerShell 脚本的示例。
发散执行 - .NET 或 AutoIt
分析来自不同电子邮件的多个 PowerShell 有效载荷后发现,下一阶段的有效载荷包含两种类型的文件。这些植入程序要么是 .NET 编译的可执行文件,要么是 AutoIt 编译的可执行文件。这表明攻击者采用了多种执行路径来增强弹性并逃避检测。正如前几个阶段所见,攻击者的重点仍然在于多层攻击链,而不是复杂的混淆技术。
.NET 编译可执行文件
.NET 文件包含下一阶段的有效载荷,该载荷使用 AES 或 Triple DES 加密。解密后,有效载荷将被注入正在运行的RegAsm.exe进程中。
我们观察到此攻击链中的多个 .NET 样本具有相似性。下图 5 通过在dnSpy中显示两个不同的 .NET 样本来突出显示这些相似性,揭示了对RegAsm.exe进程的注入,从而强化了攻击者采用的多层攻击方法。
所示的两个.NET 样本加载了不同的恶意软件家族。第一个样本将 AgentTelsa 的变种(可能是 Snake 键盘记录器)注入到RegAsm.exe进程中。第二个样本采用了类似的注入技术,但加载的是 XLoader。
AutoIt 编译可执行文件
AutoIt 编译的可执行文件为攻击链添加了一个附加选项,进一步增加了检测和分析的复杂性。可执行文件中的 AutoIt 脚本包含一个加密的有效载荷,用于加载恶意软件最终阶段的 Shellcode。这最终会导致将一个 .NET 文件注入RegSvcs进程,进而加载 Agent Tesla 变体。
AutoIt 编译后可执行文件中 AutoIt 脚本的示例。它还包含解密的有效载荷,其中揭示了用于解密和注入最终恶意软件的 Shellcode。
IDA Pro 中的 AutoIt Dropper 分析
我们在 IDA Pro 中调试了 AutoIt 可执行文件,以探索此基于 AutoIt 的恶意软件所使用的调试方法。
AutoIt 中用于跟踪 Shellcode 执行的关键函数之一是DLLCALLADDRESS 。为了找到负责处理DLLCALLADDRESS的函数,我们可以搜索交叉引用DLLCALLADDRESS字符串的文本。唯一的引用出现在构建查找表的函数中。
分析此函数表明,指向DLLCALLADDRESS字符串的指针被移动到内存地址0x493684,而函数指针被移动到0x493684+0xC,如下图所示。
进一步追踪,沿着调用链中的几个函数,我们到达负责执行 shellcode 的函数。
Shellcode 中动态解析的 API 调用表明其执行流程简单明了。Shellcode 遵循一个常见模式。它首先将加密的有效载荷加载到内存中,解密后最终将其注入 RegSvcs 进程。然后,注入的有效载荷反射加载另一个 .NET 编译的可执行文件,该可执行文件最终执行一个使用 .NET Reactor 加壳的 Agent Tesla 变体。
这个最终的有效载荷是 Agent Tesla 变体,是一个有据可查的信息窃取程序。
结论
本次分析突显了攻击者如何日益依赖多层传播机制和多条执行路径来规避检测。通过堆叠简单的阶段而非专注于高度复杂的技术,攻击者可以创建弹性攻击链,从而加大分析和检测的难度。
原文始发于微信公众号(Khan安全团队):级联阴影:一种逃避检测并复杂化分析的攻击链方法
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论