使用搜索引擎作为传播恶意程序的数量大幅增加
2023-4-6 12:3:44 Author: 嘶吼专业版(查看原文) 阅读量:15 收藏

最近几个月,卡巴斯基实验室的研究人员观察到使用谷歌广告作为分发和传播恶意程序的活动数量有所增加。至少有两个不同的窃取程序,Rhadamanthys和RedLine,滥用搜索引擎自我宣传,并向受害者的设备发送恶意负载。它们似乎使用了相同的技术,模仿与notepad++和Blender 3D等知名程序相关的网站。

攻击者创建合法程序网站的副本,同时使用拼写错误(利用拼写错误的流行品牌和公司名称作为URL)或组合词(使用流行品牌和企业名称与任意单词组合作为URL),以使网站在终端看来像真的一样,虚假网页的设计和内容看起来与原始网页相同。然后,攻击者通过付费方式在搜索引擎中推广虚假网站,以便将其推到搜索结果的顶端。

如下图所示,我们可以看到谷歌广告宣传的AMD驱动程序和Blender 3D程序的虚假页面。如果我们仔细看看url,会发现域名包含了程序名称,但实际上与真正的AMD或Blender 3D供应商无关。在大多数情况下,顶级域名也与官方网站不同。使用不太常见的顶级域名使攻击者能够注册与真实域名类似的二级域名。这些域名引诱受害者点击链接并访问虚假网站的次数比在更常见的域名区(如COM)注册的随机域名要多,因为它们看起来更像一个合法的网站。

在搜索结果中假冒AMD和Blender 3D网站

为了追踪研究,研究人员访问了一些推广的网站,并获得了他们正在分发的恶意负载。在本文中,我们将主要分析“Blender 3D”假冒网站。

虚假Blender 3D网页

下载文件(ZIP存档)的大小为269 MB,接近原始Blender安装程序的大小。虚假网页上的257 MB大小与原始Blender 3D安装程序的大小匹配,但与虚假下载的大小不匹配。

当用户点击“下载”按钮时,将下载存档混合器(archive blender)3.4.1-windows-x64.zip(E0BDF36E4A7CF1B32DC42FD8914BA8B)。

从存档中提取的文件(BBA8AA93FCDDA5A7663E90C0EEFA2E7)的大小为657 MB。启动时,它会将两个文件放入临时目录:

原始的Blender 3D MSI安装程序(在下面的屏幕截图上标记为绿色),其大小也是657MB;

作为恶意PE文件(标记为红色)的下一阶段加载器的PE文件,其大小也与原始安装程序相同:657MB。

被释放的文件:原始Blender 3D MSI安装程序和恶意加载器

被释放的恶意加载器的大小如此之大,因为在创建PE文件时,它被垃圾字节填满。压缩后的恶意加载器大小约为330 KB,其余都是垃圾。

加载器中添加了大量垃圾字节

初始安装程序(从存档中提取)释放这两个文件后,会使用CMD方法(CMD .exe /c [Filename]命令)运行恶意PE文件,以向用户隐藏该文件。此外,初始安装程序还运行原始的Blender 3D MSI,以使受害者相信所需的程序正在运行。

因此,攻击者通过为合法程序创建“预安装程序”来安装另一种软件产品,将恶意软件和所需的正版软件一起释放在受害者的设备上,从而伪装其恶意负载。

由“预安装程序”启动的Blender 3D安装程序

上面的屏幕截图显示了实际正在运行的安装程序,但如果我们仔细查看这些进程,就会发现“预安装程序”运行了一个短暂的子进程(cmd.exe/c->“SetupFileProgram”)。这个短暂的进程就是恶意程序的加载器。

加载器是受未注册版本的.NET Reactor保护的.NET文件。它似乎使用了一种反调试技术,以防止调试器执行和动态分析二进制文件。简而言之,加载器运行一个新的powershell.exe进程,并操纵它执行许多powershell命令,这些命令指示它访问第三方URL以获取有效负载。有效负载是一个base64编码、AES加密的无文件二进制文件。其他命令与解码和解密二进制文件有关,然后在新创建的aspnet_compiler.exe进程(一种合法的Windows.NET框架编译工具)内存中运行二进制文件。

在本例中,研究人员在运行时观察到两种检测规避技巧:

1.无文件技术,它涉及从在线源获取有效负载并将其直接加载到进程的内存中;

2.LOLBAS(living-off-the-land二进制文件和脚本),在本例中,它使用.NET编译工具来运行恶意二进制文件。

下面,我们将对加载器执行链进行更详细的分析。在通过加载器反调试器之后,我们可以看到它启动了一个PowerShell进程,因此我们将在CreateProcessW WinAPI调用处放置一个断点来观察该活动。

调用CreateProcessW生成一个PowerShell进程

由于在通过CreateProcessW调用初始化PowerShell进程时,我们没有看到任何命令传播给它,因此可以得出结论,它将在稍后某个时间传播,所以我们可以通过在WinAPI WriteFile处放置断点来观察PowerShell命令的传播,以便查看PowerShell.exe进程的命令行。

因此,在让它运行并到达断点后,我们将在函数调用的返回中检查结果,我们可以在堆栈中看到,推送到powershell.exe进程的第一个命令是#Start Sleep-seconds 30;。

观察推送的命令

我们可以尝试检查存储命令的内存部分,并搜索保存在内存中供加载器稍后使用的其他命令。

推送PowerShell命令的内存地址

从该内存部分获取所有数据后,我们将看到通过WriteFile WinAPI调用传播给powershell.exe进程的所有命令。

PowerShell命令

如果我们阅读这些命令,我们将看到powershell.exe进程将要执行的操作。这些命令指示它执行以下操作:

1.下载字符串数据,它是以下URL的一部分,即文件名:http[:]//45.93201[.]114/docs/[RandomChars].txt。下载的数据是一个Base64编码的字符串,它被解码为加密的数据。

2.准备解密方法AES-CBC,如上图所示。我们还可以很容易地看到和解码PowerShell命令中用于解密的base64编码的密钥和IV(初始化向量)。

3.将数据解密为Gzip压缩二进制文件。

4.解压缩二进制文件。

5.调用二进制文件来运行它。

解密二进制文件

研究人员获得的二进制文件是已知恶意程序的滴管——RedLine窃取程序。手边的窃取者版本使用了一种有趣的技术来隐藏其恶意负载,它被编码在存储在滴管资源部分的图像中最低有效位,以及密钥和AES解密的IV字节中。

带有恶意负载的嵌入图像

有效负载解密例程

解密有效负载后,滴管启动了一个名为“aspnet_compiler.exe”的合法进程,该进程是Microsoft.NET框架的一部分,并将有效负载注入其中。

注入有效负载例程

为了部署诱饵页面,恶意攻击者注册了欺骗性域名,例如blender3d software[.]net或blender3d oftware[.]org。研究人员已经发现超过50个类似的域名托管在同一个IP地址:91.229.23[.]200。这些域名也模仿了其他程序分发网站,例如afterburner-software[.]org, tradingviews-software[.]org和 unity-download[.]com.。

恶意有效载荷可以存储在与登录页相同的站点(例如,hxxps[://]blahder3dsoft[.]store/Blender[.]rar)上,也可以存储在可用作文件托管服务的公共服务上(MediaFire或GitHub)。

我们看到通过谷歌广告活动,特别是通过搜索广告,恶意软件家族的传播有所增加。攻击者使用虚假网站模仿合法软件供应商网站来吸引受害者,并付广告费来推广这些网站。他们对恶意网站域名使用误植域名(Typosquatting)和组合抢注 (combosquatting),这在最近几个月已成为常见技术。在某些情况下,例如本文所述的情况,攻击者还确保在恶意负载的同时安装用户所需的程序。误植域名(Typosquatting),也称作URL劫持,假URL等,是一种域名抢注的形式,常常会导致品牌劫持。这种劫持的方式通常有赖于用户在浏览器中输入网址时,犯下诸如错误拼写等错误。Combosquatting 的特点是,通过向知名域名添加其他关键词的方式,构造并注册新的域名(例如alipay-login.com);这种域名可以用于钓鱼、恶意软件传播、APT攻击、品牌滥用等行为。

在最近的活动中,研究人员观察到主要是窃取类型的恶意程序,如RedLine或臭名昭著的Rhadamanthys,它们也以使用恶意广告技术来攻击受害者并从受攻击设备中窃取数据而闻名。

攻击的目标是世界各地的受害者,包括个人和公司。

参考及来源:https://securelist.com/malvertising-through-search-engines/108996/


文章来源: http://mp.weixin.qq.com/s?__biz=MzI0MDY1MDU4MQ==&mid=2247559684&idx=2&sn=3de57728a912e7c7ce8d77aa03131565&chksm=e9143a3ede63b328f8bde927463c4c4ec8c8f113acb5ab3689843975411b083c36d9acd44c78#rd
如有侵权请联系:admin#unsafe.sh