攻击者越来越多的采用云来构建自己的基础设施,这样不仅能够使攻击者以最少的时间或金钱部署攻击基础设施,也能让追踪攻击行动变得更困难。
从 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_USERSoftwareNETwIReHostId
HKEY_CURRENT_USERSoftwareNETwIReInstall Date
HKEY_CURRENT_USERSOfttwareMicrosoftWIndowsCurrentVersionRunSysWOW32
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_USERSoftwareMicrosoftWindowsCurrentVersionRun进行持久化 通过 schtasks.exe配置计划任务
△ 计划任务命令
通过 http://gg1592661.duckdns.org:7924/vre下载攻击载荷。下载的是 Netwire、Nanocore 和 AsyncRAT 的变种,保存在临时文件夹并执行。 尝试通过 Alternate Data Stream隐藏下载来源 通过 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProductId收集设备信息
通过遥测数据,除了 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