IcedID僵尸网络传播者滥用谷歌PPC来传播恶意软件

VSole2023-01-17 11:24:55

我们分析了IcedID僵尸网络的最新变化,该活动滥用谷歌点击付费(PPC)广告,通过恶意广告攻击传播IcedID。IcedID 是最早在 2017 年被披露的模块化银行木马,也是近年来最流行的恶意软件家族之一。IcedID 主要针对金融行业发起攻击,还会充当其他恶意软件家族(如 Vatet、Egregor、REvil)的 Dropper。

在密切跟踪IcedID僵尸网络的活动后,我们发现它的传播方法发生了一些重大变化。自2022年12月以来,我们观察到谷歌点击付费(PPC)广告被攻击者滥用,通过恶意广告攻击传播IcedID。趋势科技已将检测到的IcedID变体命名为TrojanSpy.Win64.ICEDID.SMYXCLGZ。

像谷歌广告这样的广告平台,其目的是使企业能够向目标受众展示广告,以提高流量和增加销售。恶意软件发布者滥用同样的功能,使用一种被称为恶意广告的技术,其中选择的关键字被劫持,显示恶意广告,诱使毫无戒心的搜索引擎用户下载恶意软件。

在我们的调查中,攻击者使用恶意广告通过合法组织和知名应用程序的克隆网页传播IcedID恶意软件。最近,美国联邦调查局(FBI)发布了一份关于网络犯罪分子如何滥用搜索引擎广告服务来伪装成合法网站,并通过一些经济诱惑将用户引向恶意网站。

本文介绍了IcedID僵尸网络的最新传播方法和它使用的新加载程序的技术细节。

技术分析

有机搜索结果是由Google PageRank算法生成的,而谷歌广告出现在有机搜索结果的上方、旁边、下方或更突出的位置。当这些广告被攻击者通过恶意广告劫持时,它们可以将用户引导到恶意网站。

劫持搜索结果的关键词

在调查中,我们发现IcedID传播者劫持了这些品牌和应用程序用来显示广告的关键词:

这些恶意网站看起来就像合法网站一样。下图显示了一个看起来合法的恶意Slack网页,被IcedID传播者用来引诱受害者下载恶意软件。

一个被IcedID传播者使用的看似合法的恶意Slack网页

感染链

整个感染流程包括传播初始加载程序,进入设备并最终释放有效负载。有效负载通常是后门。

IcedID僵尸网络恶意软件感染链

通过劫持搜索的广告结果发起攻击

用户会通过在Google上输入搜索词来搜索应用程序,在这个特定的示例中,用户想要下载AnyDesk应用程序,并在Google搜索栏上输入搜索词“AnyDesk”。被劫持的AnyDesk应用程序的广告会导致恶意网站显示在有机搜索结果上方。

IcedID攻击者滥用合法的Keitaro交通方向系统(TDS)来过滤研究员和沙盒流量,随后受害者被重定向到恶意网站。

一旦用户选择了“下载”按钮,它就会下载用户系统中ZIP文件中的恶意Microsoft软件安装程序(MSI)或Windows安装程序文件。

IcedID僵尸网络恶意广告感染链

新的IcedID僵尸网络加载程序 

在这个攻击活动中,加载程序通过MSI文件被释放,这并不是IcedID的常规操作。

安装程序会释放几个文件,并通过rundll32.exe调用“init”导出函数,然后执行恶意加载程序例程。

这个“加载程序”DLL具有以下特征:

开发者使用了一个合法的DLL,并在最后一个序数处使用“init”导出函数名将一个合法函数替换为恶意加载程序函数;

IcedID加载程序中每个合法导出函数的第一个字符都替换为字母“h”;

对恶意函数的引用是一个经过修复的合法函数;

生成的恶意文件几乎与合法版本完全相同。这对机器学习(ML)检测解决方案来说是一个挑战。

从表面上看,恶意的IcedID和合法的sqlite3.dll文件几乎完全相同。下图显示了使用由安全研究员Karsten Hahn开发的PortEx Analyzer工具对这些文件进行的并排比较。该工具允许我们快速地可视化可移植可执行(PE)文件的结构。

恶意IcedID(左)和合法PE(右)文件的可视化表示(使用Karsten Hahn的PortEx Analyzer工具)

因此,我们假设这是针对两种类型的恶意软件检测技术的攻击:

机器学习检测引擎;

白名单系统;

充当IcedID加载程序的篡改DLL文件

我们已经观察到,一些被修改为充当IcedID加载程序的文件是众所周知且广泛使用的库。

已被修改为IcedID加载程序的文件如下所示:

在sqlite3.dll中,我们观察到在序号270处的函数“sqlite3_win32_write_debug”已被IcedID加载程序中的恶意“init”函数替换。

上面列出的修改后的DLL文件就是这种情况,最后一个序号的导出函数被恶意的“init”函数替换。

IcedID修改(左)和正常(右)文件的比较,其中前者在最后一个序号的导出函数被恶意的“init”函数替换

进一步调查表明,该文件的结构是相同的。

IcedID修改文件和普通文件的比较,其中两个文件显示相同的结构

执行

“MsiExec.exe”执行(父进程)(MITRE ID T1218.007 - System Binary Proxy Execution: msiexec);

生成“rundll32.exe” (MITRE ID T1218.011 - System Binary Proxy Execution: rundll32.exe);

“rundll32.exe”通过 “zzzzInvokeManagedCustomActionOutOfProc” (MITRE ID T1218.011 - System Binary Proxy Execution: rundll32.exe)运行自定义操作“Z3z1Z”;

自定义操作生成第二个“rundll32.exe”以运行带有“init”导出函数 (MITRE IDs T1027.009 - Embedded Payloads and T1218.011 - System Binary Proxy Execution: rundll32.exe)的IcedID加载程序 “MSI3480c3c1.msi”。

IcedID加载程序执行链

MSI自定义操作

包含自定义操作的MSI结构

总结

IcedID是一个值得注意的恶意软件家族,能够传播其他有效负载,包括Cobalt Strike和其他恶意软件。IcedID使攻击者能够执行具有高度影响力的后续攻击,从而导致整个系统被破坏,例如窃取数据和使用勒索攻击瘫痪整个系统。恶意广告和规避加载程序的使用都在提醒我们部署分层安全解决方案的重要性,包括自定义沙箱、预测性机器学习、行为监控以及文件和网络声誉检测功能。终端用户还可以考虑使用广告拦截器来阻止恶意攻击。

软件僵尸网络
本作品采用《CC 协议》,转载必须注明作者和本文链接
微软的Defender团队,FS-ISAC,ESET,Lumen’s Black Lotus Labs,NTT和 Broadcom的网络安全部门Symantec联合起来,并于昨天宣布协同努力,摧毁臭名昭著的TrickBot僵尸网络的指挥和控制基础设施。安全公司已经收集了超过125,000个TrickBot恶意软件样本,并绘制了命令和控制基础结构图。TrickBot僵尸网络被安全专家认为是最大的僵尸网络之一。根据参与行动的安全公司的说法,TrickBot僵尸网络在被拿下时已经感染了100多万台设备。Trickbot自2016年以来一直活跃,当时作者设计它是为了窃取银行凭证。
监视TrickBot活动的公司的消息来源称,此次下架的影响是“暂时的”和“有限的”,但称赞微软及其合作伙伴所做的努力,无论其当前结果如何。但是,在私人采访中,甚至ESET,微软和赛门铁克的安全研究人员都表示,他们从未期望过一击就把TrickBot永久销毁。据获悉,即使从早期计划阶段开始,有关各方仍希望TrickBot卷土重来,并计划采取后续行动。
国外安全研究人员发现Matrix研究人员发现具有勒索软件僵尸网络功能的恶意软件Virobot,该恶意软件针对美国用户。如果一台机器感染了Viborot,就会成为垃圾邮件僵尸网络的一部分,将勒索软件分发给更多的受害者。
今年8月下旬,P2PInfect 僵尸网络蠕虫病毒活动量数据开始上升,到今年9月仍在持续上升。
网络攻击会激化潜在的恐怖分子,资助、招募和培训新成员。
五大恶意软件家族在2023年仍将兴风作浪,对企业网络安全构成严重威胁
现在的整个附属计划进行了大量修改,使其对在Conti消亡后寻找工作的附属机构而言更有吸引力。它声称自己已拥有100个附属机构。根据Malwarebytes的遥测数据显示,LockBit是去年迄今为止最活跃的勒索软件,受害者数量是第二活跃的勒索软件ALPHV的3.5倍。总体而言,2022年三分之一的勒索事件涉及LockBit,该团伙索要的最高赎金为5000万美元。
在勒索攻击中,非法者往往利用弱口令爆破、钓鱼邮件、网页挂马、0day/Nday漏洞等进入被攻击的网络环境,再通过凭证提取、获取权限、横向移动等找到受害者的重要资产,最终投放勒索软件进行精准勒索。
VSole
网络安全专家