位置:首页 > 安全分类 > WEB安全

STRRAT木马又伺机发起攻击

  • 2022-02-17 15:01:54
简介 由于运输和接收货物是大多数航运企业的日常工作,攻击者经常将伪造有关的运输标题作为钓鱼电子邮件的诱饵,例如虚假发票、运输事宜的更改或与虚拟购买相关的通知,以诱使收

由于运输和接收货物是大多数航运企业的日常工作,攻击者经常将伪造有关的运输标题作为钓鱼电子邮件的诱饵,例如虚假发票、运输事宜的更改或与虚拟购买相关的通知,以诱使收件人打开恶意附件和无意中下载恶意软件。

FortiGuard实验室最近发现了一封这样的邮件,该电子邮件随后被发现包含 STRRAT 恶意软件的变体作为附件。

本文将详细分析网络钓鱼邮件及其恶意负载。

检查网络钓鱼邮件

STRRAT是一个多功能的远程访问木马,至少可以追溯到 2020 年年中。不同寻常的是,它是基于 Java 的,通常通过网络钓鱼电子邮件发送给受害者。

2021年5月,微软的安全情报团队发现了新型恶意软件攻击,通过包含恶意的 PDF 附件进行大规模传播。这些 PDF 附件中包含了名为 StrRAT,这是一个可远程访问的木马程序,可用于窃取密码和用户凭证。除了窃取凭证甚至控制系统之外,微软研究人员还发现,这种恶意软件可以将自己伪装成伪造的勒索软件。

关于该恶意软件的推文中,微软表示:

“一旦系统被感染,StrRAT 就会连接 C2 服务器。1.5版明显比以前的版本更加模糊和模块化,但后门功能大多保持不变:收集浏览器密码,运行远程命令和PowerShell,记录键盘输入等”。

与大多数网络钓鱼攻击一样,以前的 STRAAT 活动使用了附加到电子邮件的中间释放器(例如恶意 Excel 宏),在打开时下载最终有效负载。本示例不使用这种策略,而是将最后的有效载荷直接附加到钓鱼电子邮件中。

欺骗性电子邮件发件人和主题

如图 1 所示,这个样本显然不是来自马士基航运公司,攻击者显然不希望接收者看得太仔细。通过进一步挖掘电子邮件标题,电子邮件的来源的完整线索变得很明显:。

电子邮件标头

在离开发件人的本地基础设施后,消息最终会通过“acalpulps[.]com”,然后传递给最终收件人。该域名是在 2021 年 8 月才注册的,因此该域名有些可疑。此外,“Reply-To”地址中使用的域“ftqplc[.]in”最近也被注册(2021 年 10 月),因此也非常可疑。

电子邮件正文鼓励收件人打开有关预定装运的附件。

电子邮件正文

截至发文,信函正文中包含的域“v[.]al”尚未解析。

电子邮件附件

直接附加到示例电子邮件的是一个 PNG 图像和两个 Zip 文件。“maersk.png”只是一个图像文件,如上图所示。然而,两个 Zip 文件“SHIPMENTDOCUMENTSINV-PLIST01256_BL PDF[.]zip”和“SHIPMENT_DOCUMENTS_INV-PLIST01256_BL PDF (2)[.]zip”包含STRRAT 的嵌入副本。

检查 STRRAT 附件

“SHIPMENT_DOCUMENTS_INV-PLIST01256_BL PDF[.]zip”和“SHIPMENT_DOCUMENTS_INV-PLIST01256_BL PDF (2)[.]zip”是相同的文件,这从它们各自的 SHA256 哈希值可以看出。

 “SHIPMENT_DOCUMENTS_INV-PLIST01256_BL PDF[.]zip”的 SHA256 哈希

 “SHIPMENT_DOCUMENTS_INV-PLIST01256_BL PDF (2)[.]zip”的 SHA256 哈希

解压缩这些文件会显示文件“SHIPMENT_DOCUMENTS_INV-PLIST01256_BL PDF[.]jar”。但是,在 Jar Explorer 中打开文件后,一些事情会立即显现出来。

Jar Explorer 中“SHIPMENT_DOCUMENTS_INV-PLIST01256_BL PDF[.]jar”的初始视图

首先,大量的 Java 类文件是这个包的一部分。其次,“FirstRun”类字符串似乎被打乱或编码。附加有“ALLATORIxDEMO”的行表示存在 Allatori Java 混淆处理程序。

这可以通过尝试执行 jar 文件来验证。

尝试执行“SHIPMENT_DOCUMENTS_INV-PLIST01256_BL PDF[.]jar”时显示的闪屏

使用Allatori确认这一点有助于分析过程,因为有开源工具可以回滚它并揭示jar文件中的实际内容。Java Deobfuscator 对Allatori工作得特别好,并成功地恢复了原始字符串内容,如下所示。

“FirstRun” 类的相同视图现在已反混淆

与STRRAT 中的类文件独立编码的是配置文件(config.txt)。在第一个视图中,它是 base 64 编码的,如下图所示。

Base 64 编码的“config.txt”

不幸的是,当解码时,文件仍然被加码处理了。

“解码”配置文件

通过搜索“config.txt”的代码,我们可以看到配置文件是使用 AES 加密的,并且使用了“strigoi” hXXp://jbfrost[.]live/strigoi/server/?hwid=1&lid=m&ht=5的密码。现在可以解密配置文件了。

解密的配置文件

上图中的最后一项特别令人感兴趣,因为该示例出现在 Log4Shell 事件中。Khonsari 是利用该特定漏洞的勒索软件变种的名称。然而,在这里,这个词起到了软件密钥的作用,没有证据表明这两个恶意软件之间有任何联系。

大多数恶意软件都需要在重启和会话期间保持持久性,这样它们才能完成已经设置的任务。STRRAT通过将自身复制到一个新目录中,然后将条目添加到Windows注册表中以在系统启动时运行来实现这一点。

修改注册表的代码

修改后的注册表

STRRAT 在启动时查询主机以确定其架构和防病毒功能,它还查询正在运行的进程、本地存储和网络能力。

就功能而言,STRRAT可以记录攻击键并维护一个基于html的日志来存储感兴趣的项目。

创建键盘日志文件的代码

准备好发送的键盘日志文件

STRRAT还可以通过删除远程访问工具HRDP来促进对受感染系统的远程控制。

HRDP

其他功能包括从 Chrome、Firefox 和 Microsoft Edge 等浏览器和 Outlook、Thunderbird 和 Foxmail 等电子邮件客户端提取密码。

STRRAT 中最奇怪的模块之一是它的伪勒索软件功能。

伪勒索软件模块

代码循环浏览用户主目录中的文件,并为它们附加一个“.crimson”的文件扩展名。没有对文件进行加密,这使得它只适合作为诱饵,或者作为对不太精明的用户的恐吓策略。在代码中未找到赎金记录模板。

在网络方面,我们看到STRRAT希望在启动时扩展和下拉几个Java依赖项。

Java 依赖项

如上图所示,此示例将 IP 地址 198[.]27.77.242 用于 C2(命令和控制)。检查 Wireshark 中的流量显示 STRRAT 异常嘈杂。这可能是由于 C2 通道在调查时处于离线状态。为了获得进一步的指令,该示例尝试以1秒(在某些情况下甚至更多)的时间间隔通过端口1780和1788进行通信。

Wireshark 中尝试的 C2 通信

上图还显示了一个包含域“jbfrost[.]live”的 URL,这似乎是恶意软件 C2 基础设施的一部分,但似乎没有被使用(至少目前没有),该域当前未解析。

很赞哦! (119)