Nanocore等多个远控木马滥用公有云服务传播

攻击者越来越多的采用云来构建自己的基础设施,这样不仅能够使攻击者以最少的时间或金钱部署攻击基础设施,也能让追踪攻击行动变得更困难。

从 2021 年 10 月 26 日开始,研究人员发现多个远控木马开始通过云服务进行投递传播。

感染链从带有恶意 ZIP 附件的钓鱼邮件开始,ZIP 文件中包含一个带有恶意程序的 ISO 镜像文件。恶意程序的多种多样,如 JavaScript、Windows 批处理文件或 Visual Basic 脚本。脚本执行后,会通过下载服务器下载下一阶段的攻击载荷,攻击者将下载服务器部署在基于 Azure 的 Windows 服务器或基于 AWS 的 EC2 实例上。

△ 感染链

攻击者使用的远控木马是 Netwire、Nanocore 和 AsyncRAT,并且利用免费动态 DNS 服务 DuckDNS 注册了多个恶意域名。

攻击载荷

Nanocore

Nanocore 通常是 32 位 .NET 可执行文件,在 2013 年被首次发现,后来被各种攻击者广泛使用。

从发现的 Nanocore 样本中提取配置信息后,可以确认攻击者使用的是 1.2.2.0 版本(已泄露版本)的 Nanocore。样本的构建日期为 2021 年 10 月 26 日,使用的 C&C 服务器为 mback5338.duckdns.org。

△ Nanocore 配置文件

后续发现的 Nanocore 样本也会使用其他不同的 C&C 服务器和端口号:

nanoboss.duckdns.org justinalwhitedd554.duckdns.org

样本中携带的是 Client 插件和 SurveillanceEx 插件,前者用于处理与 C&C 服务器的通信,后者用于提供对音视频的捕获和远程桌面。

Netwire

Netwire 通常会窃取受害者的密码、登录凭据和信用卡数据等隐私信息,同时兼具命令执行和窃取文件的功能。

通过写入注册表进行持久化:

代码语言:javascript
复制
HKEY_CURRENT_USER\Software\NETwIRe\HostId
HKEY_CURRENT_USER\Software\NETwIRe\Install Date
HKEY_CURRENT_USER\SOfttware\Microsoft\WIndows\CurrentVersion\Run\SysWOW32

AsyncRAT

AsyncRAT 通常会通过加密链接远程监控和控制计算机,攻击者还可以通过 AsyncRAT 对失陷主机进行击键记录、屏幕录像等操作。

AsyncRAT 创建互斥体 AsyncMutex_6SI8OkPnk作为失陷主机的感染标记。

△ AsyncRAT 互斥量

从 AsyncRAT 配置文件提取相关信息,C&C 域名是 asyncmoney.duckdns.org,使用的端口有 7829、7840、7841 和 7842。

△ AsyncRAT 连接 C&C 服务器

感染链

感染链起始的附件是一个 ISO 镜像文件,其中包含恶意的加载程序。如下所示,攻击者利用发-票文件来引诱用户点击打开:

△ 钓鱼邮件示例

ZIP 文件的起始字符是随机生成的,可能与特定的攻击行动有关。发现的一些文件名如下所示:

WROOT_Invoice_Copy.zip YUEOP_Invoice_Copy.zip HOO8M_Invoice_Copy.zip TROOS_Invoice_Copy.zip TBROO1_Invoice_Copy.zip

JavaScript Downloader

JavaScript Downloader 是一个有着四层混淆的脚本。

第一层

第一层去混淆由 ejv()完成,该函数将混淆数据的每个字符保存在数组中,执行算术运算进行解密。

△ 解密函数

紧接着继续解密:

△ 解密函数

第二层

其余加密内容在第二层进行解密,将 ejv()解密的结果传递给解密函数。

去混淆的结果包含另一个解密函数 Ox$(),这是第三层解密函数。

△ 解密函数

第三层

第三层去混淆的结果是另一个混淆函数,包含多个函数调用来进行解密:

△ 部分混淆恶意代码

在分析另一个发现的 JavaScript 脚本时,与首次发现的不相同。这说明代码有可能是自动生成和随机化的,攻击者想通过高度混淆使检测变得更困难。

△ 部分混淆恶意代码

第四层

第四层是最后一层,在去混淆后可以发现这些代码不仅仅是一个 Downloader,还具有其他功能。例如:

通过HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run进行持久化 通过 schtasks.exe配置计划任务

△ 计划任务命令

通过 http://gg1592661.duckdns.org:7924/vre下载攻击载荷。下载的是 Netwire、Nanocore 和 AsyncRAT 的变种,保存在临时文件夹并执行。 尝试通过 Alternate Data Stream隐藏下载来源 通过 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductId收集设备信息

通过遥测数据,除了 JavaScript 还发现了 Batch 和 VBScript 的脚本。

Batch Downloader

脚本中包含一个混淆命令,用以执行 PowerShell 下载攻击载荷,本例中通过 Azure Cloud 上的服务器 13.78.209.105进行下载。

△ Batch Downloader 示例

VBS Downloader

脚本通过 PowerShell 命令连接到服务器,服务器部署在 AWS EC2 上的 52.27.15.250。

△ VBScript Downloader 示例

PowerShell Dropper

在 Azure 的服务器上发现了一个使用 HCrypt 构建的 PowerShell 脚本。该脚本会在失陷主机上下载并运行 AsyncRAT 的变种,类似的程序也被趋势科技的研究人员在名为 Water Basilisk的攻击中发现。

△ PowerShell Droper 示例

去混淆后的数据就是二进制文件本身。这个包含 Payload 的字符串,连同一个包含注入 .NET 程序 DLL 模块的字符串,一同被传递给函数 H2 转换为二进制字节数组。

△ 去混淆注入

这个数组将会被加载注入:

去混淆 PowerShell 命令

脚本会尝试启动进程 aspnet_compiler.exe并注入 Payload 执行。样本连接的 C&C 服务器是 yuri101.duckdns.org,部署在 64.188.16.134。

△ PowerShell 感染链

攻击基础设施

攻击者维护了一个分布式攻击基础设施,包括下载服务器、C&C 服务器和恶意域名,下载服务器利用 Microsoft Azure 或 AWS 的云服务。

利用的 Azure 云服务包括:

13.78.209.105 在美国西部区域,FQDN 名称为 GOOGLE 23.102.1.5 在北欧区域,并启用了 SMB 身份验证 40.85.140.7 在北欧区域 52.150.26.35 在美国东部区域,FQDN 为 spinxamp 13.82.65.56 在美国东部区域 137.135.65.29 在美国东部区域,FQDN 为 sj-2nd并启用了 SMB 身份验证

利用 AWS 云服务是 52.27.15.250,FQDN 为 ec2-52-27-15-250.us-west-2.compute.amazonaws.com,但不确定此实例的操作系统。

一些下载服务器运行的是 Apache 服务器:

△ 开放目录

每个远控木马都根据配置文件连接对应的 C&C 服务器,IP 地址如下所示:

103.151.123.194 185.249.196.175 64.188.16.134

恶意域名如下所示:

asyncmoney.duckdns.org nwire733.duckdns.org mback5338.duckdns.org yuri101.duckdns.org

恶意域名

攻击者利用免费的动态 DNS 服务 DuckDNS 创建恶意域名,一些域名绑定在 Azure Cloud 上的服务器,另一些域名绑定在 C&C 服务器上。

从域名请求来看,攻击行动应该是从 2021 年 10 月开始的。

△ gg1592661.duckdns.org 的 DNS 请求

受害者

通过遥测数据,受害者主要来自美国、加拿大、意大利和新加坡,少量分布在西班牙和韩国。

△ 受害者分布

结论

攻击者正在积极利用云服务构建自己的攻击基础设施,研究发现 Nanocore、Netwire 和 AsyncRAT 就正在这么做。攻击通过钓鱼邮件进行传播,电子邮件仍然是需要防范的重点位置。

参考来源

https://blog.talosintelligence.com/2022/01/nanocore-netwire-and-asyncrat-spreading.html