Zloader 活动最后一次出现是在 2021 年 8 月,Zloader 是一种旨在窃取用户凭据和私人信息的银行类恶意软件,它以简单而复杂的感染链方式卷土重来。在 2020 年出现的 Zloader 活动使用恶意文档、成人网站和 Google 广告来感染系统。
新活动的证据于 2021 年 11 月上旬左右首次出现,感染链中包含的技术包括使用合法远程管理软件 (RMM) 以获得对目标计算机的初始访问权限。
感染链
然后,恶意软件利用微软的数字签名验证方法将其有效载荷注入签名系统 DLL 中,以进一步逃避系统的防御。这一证据表明,Zloader 活动的开发者在防御规避方面进行了很多迭代,并且仍在每周更新他们的方法。
感染链
感染始于在受害者设备上安装 Atera 软件,Atera 是一款合法的企业远程监控和管理软件,专为 IT 使用而设计。 Atera 可以安装代理并使用包含攻击目标的电子邮件地址的唯一 .msi 文件,将终端分配给特定帐户。攻击者使用临时电子邮件地址创建了安装程序 (b9d403d17c1919ee5ac6f1475b645677a4c03fe9),并使用了一个临时电子邮件地址:“[email protected]”。该文件模仿 Java 安装,就像之前的 Zloader 活动一样。截至目前,尚未完全了解此文件的确切传播方法。
恶意安装程序
一旦代理安装在设备上,攻击者就可以完全访问系统并能够上传/下载文件、运行脚本等。 Atera 为新用户提供 30 天的免费试用,这段时间足以让攻击者偷偷获得初始访问权限。在此之前,Atera被Conti勒索软件组织用来获得持久性和远程访问。
创建自定义 Atera 安装程序
恶意安装程序中使用的电子邮件
Atera 函数
安装代理后,攻击者使用“Run Script”函数将两个.bat文件上传并运行到设备上:
bat 用于修改 Windows Defender 首选项;
bat 用于加载其余的恶意软件。
Defenderr.bat
其余文件托管在域 teamworks455[.]com 上并从那里下载。
load.bat
load.bat脚本下载并运行new.bat,该脚本检查管理员权限并使用BatchGotAdmin脚本请求它们。然后它继续下载另一个bat文件(new1.bat)。这个新脚本为Windows Defender添加了更多针对不同文件夹的排除功能。禁用了设备上可用于检测和调查的不同工具,例如 cmd.exe 和任务管理器。它还会将其他文件下载到 %appdata% 文件夹中:
9092.dll–主要负载,Zloader;
adminpriv.exe – Nsudo.exe,启用具有提升权限的运行程序;
appContast.dll – 用于运行 9092.dll 和 new2.bat;
reboot.dll – 也用于运行 9092.dll;
new2.bat – 禁用“管理员批准模式”并关闭计算机;
auto.bat – 放置在 Startup 文件夹中,用于持续启动;
New.BAT
New1.BAT
接下来,脚本使用appContast.dll文件作为参数运行mshta.exe。当我们仔细查看DLL时,注意到这个文件是由Microsoft用一个有效的签名签名的,它的原始文件名是AppResolver.dll。比较这两个文件,我们可以看到,在恶意DLL中,开发者在文件中附加了一个脚本。
有效签名
原始文件名
appResolver.dll 和 appContast.dll 的比较
然后,此脚本使用写入 %temp% 目录的文件 WScriptSleeper.vbs 进入休眠阶段。接下来,它使用 regsvr32.exe 运行 9092.dll(Zloader主负载)。
Malwarebytes 于 2020 年 5 月发布了对 Zloader 的完整技术分析。 最终,恶意软件调用 msiexec.exe 并将其有效载荷注入正在运行的进程中。 然后Msiexec与位于域lkjhgfgsdshja[.]com的C2服务器通信。
与 C2 服务器的通信
从 msiexec 内存中提取的字符串
最后,new2.bat 脚本编辑注册表 SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 以禁用“管理员审批模式”用户类型,该用户类型默认以完全管理员权限运行所有应用程序,然后关闭计算机使更改生效。
持久性
当恶意软件最初运行时,它会在Startup文件夹下放置一个auto.bat脚本,该脚本以reboot.dll作为参数运行mshta.exe。类似于appContast.dll,然后脚本删除自己。在下图中,我们看到regsvr32.exe被zoom.dll和9092.dll调用。zoom.dll文件丢失,这表明该活动可能仍在开发中。
在向msiexec.exe注入恶意代码后,HKCU\Software\Microsoft\Windows\CurrentVersion\Run下会产生一个随机的注册表项值。这将运行regsvr32.exe和9092.dll的副本,该副本位于%appdata%中新创建的文件夹中。这就是下次系统重启时恶意软件持续存在的原因。
reboot.dll
文件签名
如上所述,文件 appContast.dll 具有 Microsoft 的有效签名,但该文件已被修改并注入了恶意脚本。这就引出了一个问题——它是如何完成的?
如果我们将恶意DLL与原始DLL在字节级别上进行比较,我们可以看到文件在几个地方被修改:文件校验和和两个匹配签名大小的地方。
A(良性)是 appResolver.dll,B(恶意)是 appContast.dll
appResolver.dll CheckSum
appResolver.dll 签名大小
appResolver.dll 签名大小
这些对签名文件的简单修改保持了签名的有效性,同时使我们能够将数据附加到文件的签名部分。由于我们无法从文件的签名部分运行编译后的代码,因此放置一个用 VBscript 或 JavaScript 编写的脚本并使用 mshta.exe 运行该文件是一个可以规避某些 EDR 的简单解决方案。
要进行完整性检查,就要创建自己的签名 PE 文件,其中附加了脚本 (A6ED1667BB4BB9BAC35CE937FF08C7216D63EBB4),当作为 mshta.exe 的参数运行时,该脚本会打开计算器应用程序。
此漏洞显然是以下 CVE 中提到的已知漏洞:CVE-2020-1599、CVE-2013-3900 和 CVE-2012-0151。微软在 2013 年通过安全公告解决了这个问题并发布了修复程序。然而,他们在实施后表示,他们“确定对现有软件的影响可能很大”。因此,在 2014 年 7 月,他们取消了更严格的文件验证,并将其更改为选择性更新。
也就是说,这个修复程序在默认情况下是禁用的,这使得恶意软件的开发者能够修改签名的文件。
关于如何启用严格文件验证的进一步解释可以在这里找到,其中包括修改注册表项:
需要更改以缓解漏洞的项
我们注意到,reboot.dll也是以同样的方式签名的。应用此修复程序后,两个 DLL 的签名都无效。
受害者分析
在分析过程中,我们发现了一个托管在 teamworks455[.]com 上的开放目录,其中包含一些已下载和使用的文件。每隔几天,开发者都会对文件进行更改,check.php 脚本会返回一个具有相同行为但具有不同哈希值的不同 DLL 文件。在文件“条目”中,我们可以看到感染 Zloader 的受害者列表及其来源区域。
teamworks455[.]com/_country
截至 2022 年 1 月 2 日,有 2170 个唯一的受害者 IP 下载了恶意 DLL 文件。该图表显示了每个国家的受害者人数(“其他”类别包括受害者人数少于 15 人的国家)。如你所见,大多数受害者位于美国和加拿大。
每个国家/地区的下载量
开发者
由于与 MalSmoke 之前的活动有一些相似之处,我们认为他们是这次活动背后的组织者:
1.在MalSmoke之前的活动中,恶意软件会伪装成Java插件;
2.托管当前活动文件的域 teamworks455[.]com 的注册商信息与在2020 年 MalSmoke 活动相关联的域 pornislife[.]online 之间存在联系。
teamworks455[.]com/racoon
最后,在查看“条目”文件时,我们发现了两个可能与攻击者有关的 IP 地址。
与活动相关的可能地址
第一个地址,185[.]191[.]34[.]在被归类为“网络犯罪”的IP黑名单中被发现。可以看到第二个地址 185[.]191[.]34[.]209 尝试使用不同的用户代理多次下载有效负载。这可能表明开发者正在测试他们的有效载荷。这两个地址都可以在 AbuseIPDB 中找到:
Abuseipdb 185[.]191[.]34[.]223
Abuseipdb 185[.]191[.]34[.]209
总结
Zloader 活动以前曾以多种形式在野外被发现,可以看到开发者在规避方法上投入了大量精力。本文分析的两种值得注意的方法是使用合法的 RMM 软件作为对目标设备的初始访问,并将代码附加到文件的签名中,同时仍然保持签名的有效性并使用 mshta.exe 运行它。
将代码附加到文件签名的能力已经为人所知,并且如上所述分配了多个 CVE。为了缓解这个漏洞,所有供应商都应该遵守新的 Authenticode 规范,将这些设置作为默认设置,而不是选择性地进行更新。在此之前,我们永远无法确定我们是否可以真正信任文件的签名。
安全建议
我们建议用户应用 Microsoft 的更新来进行严格的 Authenticode 验证。为此,请将这些行粘贴到记事本中,并在运行之前使用 .reg 扩展名保存文件。
Windows 注册表编辑器 5.00 版
[HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Wintrust\Config] “EnableCertPaddingCheck”=“1” [HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Cryptography\Wintrust\Config] “EnableCertPaddingCheck”=“1”
我们还应该注意,在应用程序修复后,合法的良性安装程序的某些签名将显示为无效签名。此外,如果 mshta.exe 在你的环境中不相关,你可以禁用它并减少插入到此类文件中的脚本的执行。
本文翻译自:https://research.checkpoint.com/2022/can-you-trust-a-files-digital-signature-new-zloader-campaign-exploits-microsofts-signature-verification-putting-users-at-risk/如若转载,请注明原文地址