执行摘要
OPSWAT 我们发现了一个大范围的感染活动,很可能是出于经济动机,利用伪造的人工智能软件引诱人们下载一个新发现的恶意软件家族,我们将其命名为 "JavaSquid",因为它有多个回避/狡猾的 JavaScript 部件。
通过MetaDefender 监测能力,我们评估该攻击活动仍在持续进行,其启动时间约为2024年7月中旬。与该活动相关的威胁行为者此前曾成功实施攻击,窃取了多家中国企业的数字证书。
除发现新型恶意软件家族及活跃攻击活动外,本次研究与监测成果还显著提升了Sandbox特征/指标识别能力。此外,我们的调查提供了充分依据,可MetaDefender 中提供的IOC(入侵指标)及特定MITRE ATT&CK映射关系,全面构建入侵分析钻石模型实例。
揭开运动的神秘面纱
OPSWAT Sandbox Threat Research 发现了一个以人工智能软件为诱饵的感染活动,但实际上并没有在其攻击或恶意软件中使用人工智能。调查始于我们观察到的可疑域名 https[://]my-profai[.]com。虽然该域名似乎已经被撤下,但它的注册日期是 2024-09-05,这意味着该活动是最近发起的,而且根据我们在调查过程中收集到的信息,该活动很可能仍在进行中。
根据他们网站的标题 "Epivaravomw:让您的静态图片栩栩如生",似乎他们将提供一种基于人工智能的工具来为图片添加动态效果,这表明这是一种潜在的灌水攻击,它还利用其他网站上的恶意广告来引导用户下载恶意软件。不过,这很可能是假冒https://proai.co,因为可供下载的 Windows 可执行文件名为 ProAI.exe,也就是我们将要分析的恶意软件样本。

这种初始入侵技术表明,该活动背后的威胁行为者正在寻求机会性感染,因此很可能是出于经济动机,有可能是作为 IAB(初始访问经纪人)行事。根据提交样本的地点,该活动的目标很可能主要是欧洲。
用于欺骗受害者和提供恶意软件的灌水漏洞域名受 Cloudflare 保护。但是,他们的恶意软件样本会联系一个不同的域名,该域名解析成的 IP 地址也被许多其他域名指向。许多指向同一 IP 地址的不同域名似乎也与人工智能技术引诱和冒充其他公司有关。
有趣的是,我们的 OSINT 研究表明,C2 IP 地址以前与 Lumma 和 Poseidon 窃取程序有关。据报道,Lumma 窃取程序是基于古老的 Mars 窃取程序,而 Poseidon 则是最近发现的用 AppleScript 编写的恶意软件系列,因此以 iOS 环境为目标。这种新型系列是用 JavaScript 编写的,这可能表明幕后的威胁行为者可能正在转向一种可用于不同环境的脚本语言。另一个需要强调的事实是,IP 地址属于中国的一家 ISP(常威科技有限公司),而主机的地理位置在俄罗斯联邦境内。
在我们第一次分析最初的恶意软件样本时(2024 年 11 月 9 日),其数字签名是由一家中国公司 "太谷福隆电子科技有限公司 "签发的。 但是,我们在调查过程中发现,该签名已经被撤销。

在使用我们的Sandbox 猎取引擎研究类似样本时,我们发现了一组使用相同的可能被盗数字证书的同族样本,但也发现了两组新样本。其中一组没有任何数字签名,而另一组则使用了不同的数字证书。所有样本都采用了相同的模式和技术,即根据不同的给定名称(ai_Generation.exe、sweethome3d.exe、Installer_capcut_pro_x64.exe......)伪装成某种合法的实用工具。

根据我们的调查结果,这一活动大约从 7 月中旬开始,目前仍在继续,因为我们在 2024 年 10 月的最后一周不断观察到该系列的新样本。此外,虽然初始样本中的证书在我们调查期间已被撤销,但发现的另一个不同系列的证书仍然有效,而且是在 9 月初签发的,这可能表明证书签发者可能已受到威胁,直到我们联系他们报告他们的证书被用于恶意软件时他们才意识到。
了解恶意软件
尽管MetaDefender 检测到原始PE文件及其后续阶段的多种功能(详见下文说明),但在本文撰写之时,该恶意软件初始样本仍能完全逃避大多数杀毒厂商的检测。

该PE文件是经过编译的JavaScript恶意软件,利用pkg工具将JavaScript代码转换为Windows PE格式。 编译型JavaScript在威胁态势中呈现上升趋势,正如其他研究人员近期报告所示。该工具通过嵌入Node JS/V8解释器将JavaScript有效载荷封装为Windows PE,并支持将代码编译为V8字节码,从而实现明文代码或JavaScript编译字节码的PE嵌入。 虽然在多数情况下提取明文版本较为简单,MetaDefender 编译后的代码提取为JSC(JavaScript编译文件)并进行反汇编,以便后续深入分析。

JavaScript有效载荷将相关有效载荷进行Base64编码,解码后通过eval函数执行。解码后的有效载荷首先执行快速内存大小检测,此举很可能旨在规避分析环境中的执行。尽管多数传统沙箱无法通过此检测MetaDefender 会对所有JavaScript代码进行深度分析,从而触发相关指标。

检查通过后,示例将向 google 日历事件 URL 执行 HTTP 请求,该 URL 的描述中存储了 base64 格式的第二个 URL。

解码后的 URL 指向攻击者控制的域,攻击者会在相应请求后提供新的 base64 有效负载。解码后的新 JavaScript 有效载荷也会立即使用 eval 函数执行。这些附加 JavaScript 代码使用 AES 加密解密并执行附加层硬编码有效载荷。


有趣的是,IV 和 AES 密钥是从最后一次 HTTP 请求的响应标头中获取的,而我们观察到每次请求的响应标头都不同,这意味着每次向 C2 请求时都会动态创建所提供的有效载荷和标头,并使用不同的密钥进行解密。此外,解密后的有效载荷似乎总是相同的,但混淆程度不同,这表明不仅加密,而且混淆也是在每次请求中动态进行的。 这种技术不仅会妨碍事件发生时的取证分析或威胁研究,而且还会逃避基于签名的检测,因为每次请求的混淆都是不同的。
这个新解密的模块被高度混淆,并通过添加额外库的代码为样本带来了更多的功能,主要是使用 adm 模块处理文件操作和压缩功能。此外,它还使用随机命名法将不同的文件放入不同的子目录 %appdata%\Local。
其中一个被删除的文件是名为 run.ps1 的 PowerShell 脚本,其中包含安装 NodeJS MSI 安装程序的代码,以便以后使用安装的 NodeJS 而不是初始编译的 JavaScript 有效载荷启动最终的 JavaScript 有效载荷。

此时,执行程序将以弹出窗口的形式向用户触发错误信息,可能会让受害者误以为预期的 "人工智能软件"(ProAI.exe)可能无法在其系统上运行,从而将注意力从正在进行的 JavaSquid 感染上转移开。这个后期阶段的 JavaScript 有效载荷还将使用相同的机制下载最后一个 JavaScript 文件,即联系谷歌日历,然后使用 HTTP 响应标头联系其受控域,以解密最终提供的有效载荷。这一次,最终有效载荷将以 index.js 的形式保存在 %appdata%/Romaing 目录内的一个随机名称的目录中。
之前的 run.ps1 文件随后会被替换为另一个同名的 PowerShell 脚本并立即执行。从截图中我们可以看到,这个脚本只是用来获得机器上的持久性,而主要的恶意软件代码是在 index.js 中编写的。

恶意软件丢弃的其他文件:
- VeqVMR.zip(随机生成的名称):从同一 C2 下载。它只包含一个记事本安装程序 (npp.8.6.6.Installer.exe),显然对整体行为没有影响。
- bypass.ps1:用于执行前面提到的 run.ps1,同时绕过运行 powershell 脚本的限制。
- NiOihmgUci.msi(随机生成的名称):nodejs 安装程序,从其官方网站获取。
- Update.lnk:投放到启动文件夹,它将指向 PowerShell 脚本 run.ps1。

如前所述,最终有效载荷以index.js形式保存至受害者机器中。该文件同样经过高度混淆处理,并在每次请求时动态加密,其流程与中阶段有效载荷(谷歌日历、base64 URL、有效载荷解密)完全一致。 然而,由于这是JavaSquid感染链的最终阶段,解密密钥被直接写入脚本内部,这MetaDefender 识别、提取并解密最终有效载荷,从而进行全面分析。

有趣的是,我们发现当前提供服务的 index.js 一直在切换到不同的版本,其中包括改进的实现和略有不同的功能。这支持了这一假设,即活动仍在进行,JavaSquid 的最终有效载荷仍在开发中。该文件一直以单行 JavaScript 的形式提供,中间阶段的有效载荷以 base64 编码,包含用于 AES 解密的硬编码密钥。如上一张截图所示,这将解密并执行最终有效载荷,在对 index.js 的分析中突出显示有效载荷链。
初始服务有效载荷通过 websocket 协议实现与 C2 的通信。它以 json 格式解析来自 C2 的信息,寻找 "命令 "元素,该元素应以 base64 格式接收。不过,最新提供的有效载荷具有类似功能,但使用 HTTP 请求与 C2 通信。此外,虽然这个系列仍然是一个非常基本的后门,但我们观察到最新提供的 JavaSquid 代码包含了新的信息收集和窃取功能。
政府间海洋学委员会
999abd365022c5d83dd2db4c0739511a7ac38bcd9e3aa19056d62d3f5c29ca30
Aec44665395d4ae7064ea08d6d03b729464715d2169c629f3e3215d61c1299ea
b216880a67fc2e502ae94928aead75ef870fbb7ba142f7eda355d9ed6e72146d
chackopanikulamskykat@gmail.com
kendalllopez149@gmail.com
45.93[.]20.174
ambisecperu[.]com
angelswipe [.]com
nenkinseido[.]com
hxxps://calendar.app[.]google/X97t5bVooB2ti1QB8
hxxps://calendar.app[.]google/pPGGk4W26WW7oJxN7
hxxps://calendar.app[.]google/fD8MeHaN46bfYy3SA
hxxps://ambisecperu[.]com/a74Uxj9QjqWbeKr2SYOHsw%3D%3D
hxxps://ambisecperu[.]com/lBdvVW3MiQgpwRGAl5KNwg%3D%3D
hxxps://ambisecperu[.]com/o2BF9EGgskwn0k5Cwo7kugjt7xChBPSnghiJkDU7MwQ%3D
wss://ambisecperu[.]com/ss_ss?uuid=L07nKQ%2FEG1qQXwzQ1Tv3vqduOgfze7Yz3Ry%2FrXnr8WY%3D
hxxp://angelswipe[.]com?uuid=1sdtM0o5b35Uhe6wp9nM5UMMZ8BNrbYwtT1LAvW4rRA%3D
hxxps://nenkinseido[.]com/a3vNlpuRk6O5S469pG17Gw%3D%3D
hxxps://nenkinseido[.]com/YMvBag0VXbce5q0WvNrMRg%3D%3D
9A:84:A9:7F:AC:26:DF:5C:8A:74:FB:E6:88:0A:0B:5D:A5:17:08:DC
BB:F9:86:55:F4:D4:ED:39:6F:BC:A9:5F:4A:F8:ED:4E:B0:19:50:A9
指向同一 IP 地址的不同域名,这些域名未被分析样本使用,但似乎也与伪造人工智能相关网站有关:
agattiairport[.]com
aimodel[.]itez-kz[.]com
akool[.]cleartrip[.]voyage
akool[.]techdom[.]click
akordiyondersi[.]com
albanianvibes[.]com
albert[.]alcokz[.]store
albert[.]flora-kz[.]store
apkportion[.]com
asd[.]leboncoin-fr[.]eu
basgitardersi[.]com
bendiregitimi[.]com
bybit[.]travel-watch[.]org
cap[..]cleartrip[..]voyage
dipo[..]cleartrip[..]voyage
face[.]techdom[.]click
facetwo[.]techdom[.]click
ftp[.]millikanrams[.]com
haiper[.]techdom[.]click
haiper[.]travel-watch[.]org
havoc[.]travel-watch[.]org
l[.]apple-kz[.]store
liama[.]cleartrip[.]voyage
loader[.]waltkz[.]com
locktgold[.]travel-watch[.]org
luminarblack[.]techdom[.]click
millikanrams[.]com
openaai[.]clear-trip-ae[.]com
proai[.]travel-watch[.]org
sweethome[.]travel-watch[.]org
synthesia[.]flow-kz[.]store
synthesia[.]techdom[.]click
uizard[.]flow-kz[.]store
upscayl[.]cleartrip[.]voyage
进一步了解OPSWAT的下一代沙箱和自适应恶意软件分析解决方案如何为企业在对抗复杂、易躲避的恶意软件时提供关键优势--请联系专家。
