Agent Tesla 最近一次的攻击部署在 RTF 文件里使用了多个 OLE 对象构建了复杂的感染链,虽然不是新技术手段,但在野利用仍然十分有效。
基本介绍
自从 2014 年开始,Agent Tesla 就开始在网上进行出售了。Agent Tesla 在很多暗网论坛中宣传自己是合法的监控软件,不是用于恶意用途的恶意软件。但它却提供了广泛的密码提取功能,许多攻击者都将其用于攻击行动中。
Deep Instinct 近期发现了 Agent Tesla 新的感染链,该感染链的独特之处是阶段很多且复杂。从鱼叉邮件的 RTF 文档附件开始,到失陷主机释放 Agent Tesla 可执行文件结束。感染链的多个阶段中在 RTF 文档中使用 OLE 对象,在 OLE 对象的 OOXML 中包含混淆的 VBA 代码,VBA 代码执行 Powershell 代码,最终释放 Agent Tesla 程序。近期发现数十个类似的 RTF 文档 Dropper 处于活动状态,Agent Tesla 可能利用该方式发起了一波攻击。
感染过程
鱼叉邮件附件
感染链从 RTF 文件开始,该文件作为鱼叉邮件的附件进行发送。受害者执行后会向用户连续显示 5 个启用宏的请求。这五个请求时由 RTF 带有的 5 个嵌入式 OLE 对象产生的,每个对象都包含一个 OOXML。每个 OOXML 内部都含有一个 VBA 宏,当用户启用宏代码时,其中一个宏将会被执行。
每个 OOXML 中的 VBA 代码都很短,而且带有很多空格和换行符来阻碍研究人员进行分析。
为了阻止对代码进行静态分析,代码使用的变量包含在每个 OOXML 中表格的特定单元格内。其中一个主要变量是较长的混淆字符串,在 OOXML 的 xl/sharedStrings.xml 中。
实际上,诸如 oletools 和 oledump 之类的静态分析工具无助于提供有关 VBA 代码的任何详细信息。此外,使用 ViperMonkey 对 VBA 进行动态分析也并不成功。通过手动调试这 5 个 VBA 代码片段,可以发现每段代码都负责创建 Powershell 代码的一部分,合起来构成感染的下一个阶段。
一旦五个部分都成功运行,将开始执行生成的 Powershell 代码。
Powershell 执行
合并而来的 Powershell 代码是高度混淆的:
调试函数 af23a 后可以发现代码仍然是混淆的,但是功能逻辑已经很清晰了。Powershell 代码的主要目的是尝试绕过 AMSI 并使用 WebClient().DownloadFile 下载文件。
通过 AmsiScanBuffer 函数提供的缓冲区来尝试进行 AMSI 绕过(上图红色正方形部分),Powershell 中的 af23a 函数对其进行混淆处理。过去 Agent Telsa 也已经使用过这种方法。
下载文件的 URL 地址被混淆成 09411248125b1a495b0d044707560e0753075b040c1b05570c4e5b04501804470217030e580416041950,去混淆后是 hxxps://cleranoffacem[.]com/nbhyerd/bomb[.]exe(上图蓝色部分)。
Agent Tesla 下载执行
Agent Tesla 通过 URL 下载到 AppDataRoamingu565.exe,随后可执行文件开始执行:
使用 schtasks.exe 创建计划任务,确保 AgentTesla 可执行
使用 reg.exe 通过注册表禁用任务管理器(REG add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem /v DisableTaskMgr)
使用 netsh wlan show 搜索 WIFI 密码
窃取诸如 putty/WinSCP、浏览器、FTP 与 邮箱的凭据
将窃取的凭据发送到 dir.fb@tolipgoldenplaza.com
使用过的技术
有趣的是,早在 2018 年 3 月也发现了一个非常相似的感染链,也是包含 5 个 OLE 对象的 RTF 文件。区别是释放的恶意软件是 Lokibot,尽管这两者有着惊人的相似性,但是我们没有其他证据来证明他们有关。
该方法已经被使用了数年,现在仍然可以有效的在野利用,最近发现了数十个利用该方式进行传播的 RTF 文件。
结论
本文提到的感染链虽然不是新兴技术,但仍然在野被广泛利用。这种多个阶段的攻击链难以分析而且可以逃避检测。每个阶段只是完整攻击的一小部分,这也让检测完整感染链变得困难。此外,攻击者也滥用了 Windows 自带工具。
参考链接
DeepInstinct