freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Quasar RAT 开始使用双重 DLL 侧加载技术
2023-10-27 09:53:27

Quasar RAT 对传统的侧加载技术进行了复杂的改造,创造了全新的双重 DLL 侧加载技术,十分巧妙地利用了两个微软的应用程序:ctfmon.exe 与 calc.exe。双重 DLL 侧加载技术不仅利用了这两个文件在 Windows 生态系统中的信任,还对威胁检测机制提出了更大的挑战。本文详细介绍了该技术的设计与执行,解释了攻击者如何利用该技术运行 Payload。

Quasar RAT 也称为 CinaRAT 或 Yggdrasil,是使用 C# 编写的轻量级远控木马。该远控木马在 GitHub 已开源,具备收集系统信息、运行程序信息、传输文件、记录按键、屏幕截图、摄像头拍照、恢复系统密码、远程桌面连接与执行远程命令等功能。

侧加载技术

侧加载被各路攻击者广泛使用,了解该技术对防御者来说至关重要。QuasarRAT 就提供了一个很好的契机,借此机会对其使用的侧加载技术进行介绍。

1698370768_653b14d0959b1395dcfe4.png!small?1698370768781

侧加载过程

2022 年,研究人员发现 Qbot 正在使用 calc.exe 进行 DLL 侧加载攻击,攻击者在不断调整攻击技术。到了 2023 年,攻击者使用 ctfmon.exe 与 calc.exe 进行 DLL 侧加载。QuasarRAT 使用了分两阶段的侧加载技术如下所示:

  1. 初步执行:初始阶段,攻击者利用 ctfmon.exe 加载恶意 DLL 文件。执行后,攻击者获取第一阶段的 Payload,攻击者将其作为后续行为的核心。
  2. Payload 释放:这时的 Payload 有双重作用,将合法的 calc.exe 文件与恶意 DLL 文件释放到系统中。
  3. 第二阶段:攻击者利用 calc.exe 加载恶意 DLL 文件,释放 QuasarRAT 到计算机内存中。
  4. Process Hollowing:QuasarRAT 驻留在计算机内存中,会采用被称为 Process Hollowing 的技术,将自身代码嵌入合法系统进程中,进一步提升隐蔽性。

技术分析

从最初的 ISO 文件中,可以提取三个文件:

  • eBill-997358806.exe:合法 Windows 文件,实际名为 CTFMON.EXE
  • Monitor.ini:合法 Windows 文件,实际名为 MsCtfMonitor.DLL
  • MsCtfMonitor.dll:恶意 DLL 文件

QuasarRAT 的进程树如下所示:

1698370796_653b14eca4231f1346319.png!small?1698370796885

进程树

文件 eBill-997358806.exe 执行时,会通过侧加载技术加载 MsCtfMonitor.dll 恶意 DLL 文件。DLL 文件中,包含加密的资源段。加密数据共 5AC00 字节,如下所示:

1698370819_653b15038aab9047c9939.png!small?1698370819738

加密数据

恶意代码通过一系列 API 访问加密数据,如下所示:

1698370835_653b15135215cf2d2ce07.png!small?1698370835558

加载资源数据

解密数据的密钥大小 F2 字节,利用 Systemfunction032 来对数据进行解密。这是一个未公开的 API,会间接调用 BCryptGeneratesymmetrykey、CryptEncrypt 和 CryptDestroyKey 来解密 RC4 加密的数据。密钥也被存储在资源段中,如下所示:

1698370853_653b15257dde311dbf528.png!small?1698370853839

解密密钥

解密后的数据为 PE 文件,即第一阶段中的 FileDownloader.exe:

1698370872_653b1538d1f54870a44e5.png!small?1698370873412

解密数据

通过以下 API 序列将该 PE 文件注入 Regasm.exe:

CreateProcess
GetThreadContext
ReadProcessMemory
VirtualAllocEx
WriteProcessMemory
GetThreadContext
SetThreadContext
ResumeThread

下图可以看出 Regasm.exe 进程内存中的 Payload:

1698370894_653b154e60141f6e6e720.png!small?1698370895560

内存中的 Payload

第一阶段:FileDownloader.exe

第一阶段的 Payload 是 64 位 MSIL 文件,其中的资源段包含以 ZIP 压缩格式存储的三个二进制文件。

1698370920_653b15687a976c8fbfd6e.png!small?1698370921273

第一阶段的资源段

解压后将所有文件写入 Public Pictures 文件夹中:

  • Calc.exe:合法 Windows 文件
  • Secure32.dll:恶意 DLL 文件
  • Winsecu32.dll:合法 Windows 文件

第二阶段:Calc.exe

接下来,利用 c:\Users\Public\Pictures\Calc.exe /quit来执行 Calc.exe。/quit表示程序在启动时立即关闭,但会加载名为 Secure32.dll 的恶意 DLL 文件。攻击者再次利用 DLL 侧加载技术,DLL 文件中也包含一个加密的资源段。

1698370946_653b1582e87aa5e93d69a.png!small?1698370947242

加密数据

如前所述,通过 Systemfunction32 解密数据后,可以获得一个 PE 文件:

1698370969_653b159997c7365147235.png!small?1698370971175

解密数据

该 PE 文件通过 Process Hollowing 技术注入 Regasm.exe 的内存。特别的,在调用 VirtualAllocEx 时会显式传递 regasm.exe 的默认内存地址,并将其替换为恶意 PE 文件。

1698370994_653b15b2cd79163b1adc0.png!small?1698370996169

调用 VirtualAllocEx

最终 Payload

通过前述操作释放的 Payload,是经过 Smart assembly 混淆的 MSIL 可执行文件。该文件的版权为 Copyright © MaxXor 2020,可能灵感来自 Quasar RAT 的作者 MaxXor。

去混淆后,可以看到函数名中代表的功能,包括按键记录、文件传输与命令执行等:

1698371013_653b15c582551fa723f42.png!small?1698371014007

函数与功能

恶意软件随后释放一个 .bat 脚本,在 %Temp% 目录中创建重新启动批处理文件,随后执行 chcp 65001 && ping -n 10 localhost命令。

1698371037_653b15dd7cd77f62cefa5.png!small?1698371037657

bat文件

远控木马创建连接到 C&C 服务器的套接字(3[.]94[.]91[.]208 >> ec2-3-94-91-208[.]compute-1[.]amazonaws.com),发送受害者的各种信息(IP 地址、国家代码等)。

1698371060_653b15f4e8cd25c47bfd4.png!small?1698371062411

收集失陷主机信息

去混淆后,可以看到与 Quasar RAT 有关的字符串,如 Quasar Server:

1698371084_653b160c36d141802f8b0.png!small?1698371085210

各种字符串

内存中也有许多 base64 编码的内容, 解码后也是一些要执行的命令:

SELECT * FROM Win32_OperatingSystem WHERE Primary='true'
SELECT * FROM Win32_BaseBoard
SELECT * FROM FirewallProduct
SELECT * FROM Win32_Processor
SELECT * FROM AntivirusProduct

远控木马查看 WMI 的 AntiVirusProduct 和 Firewall 类,获取有关 BIOS 架构、GPU 信息、主机名等信息。Quasar RAT 的反向代理功能如下所示:

1698371131_653b163b3a3e17c1ec731.png!small?1698371131887

反向代理

为了持久化,恶意软件还创建了一个 Windows 注册表项:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\WindowsCalculator "c:\Users\Public\Pictures\Calc.exe /quit"

IOC

e4eb623a0f675960acb002d225c6f1d6
B625C18E177D5BEB5A6F6432CCF46FB3
7074832F0EFB8A2130B1935EAE5A90D6
B0DB6ADA5B81E42AADB82032CBC5FD60
32DE5C2E0BA35CEAC3C515FA767E42BF
5da8c98136d98dfec4716edd79c7145f
d07e4afd8f26f3e2ce4560e08b7278fb
f11c63cb70a726f1f0b6accd5934e83
532AF2DB4C10352B2199724D528F535F
3[.]94[.]91[.]208
ec2-3-94-91-208[.]compute-1[.]amazonaws.com

参考来源

Uptycs

# 远控木马 # DLL侧加载 # Quasar RAT
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录