新的Zloader利用微软数字签名进行恶意活动

新的Zloader利用微软数字签名进行恶意活动

介绍

Zloader 最后一次出现是在 2021 年 8 月,Zloader 是一种旨在窃取用户凭据和私人信息的银行恶意软件,它以简单而复杂的感染链回归。之前在 2020 年出现的 Zloader 活动使用恶意文档、成人网站和 Google 广告来感染系统。
新活动的证据在 2021 年 11 月初左右首次出现。感染链中包含的技术包括使用合法的远程管理软件 (RMM) 来获得对目标机器的初始访问权限。

新的Zloader利用微软数字签名进行恶意活动
图 1 – 简化的感染链

然后恶意软件利用微软的数字签名验证方法将其有效载荷注入到签名的系统 DLL 中,以进一步逃避系统的防御。这一证据表明,Zloader 活动的作者在防御规避方面付出了巨大努力,并且仍在每周更新他们的方法。

感染链

感染始于在受害者机器上安装Atera 软件。Atera 是一款合法的企业远程监控和管理软件,专为 IT 使用而设计。Atera 可以安装代理并使用包含所有者电子邮件地址的唯一 .msi 文件将端点分配给特定帐户。活动作者使用临时电子邮件地址创建了此安装程序 (b9d403d17c1919ee5ac6f1475b645677a4c03fe9):“ [email protected] ”。该文件模仿 Java 安装,就像之前的 Zloader 活动一样。截至目前,尚未完全了解此文件的确切分发方法。

新的Zloader利用微软数字签名进行恶意活动
图 2 – 恶意安装程序

一旦代理安装在机器上,攻击者就可以完全访问系统并能够上传/下载文件、运行脚本等。 Atera 为新用户提供 30 天的免费试用,这对攻击者来说足够了悄悄地获得初始访问权限。此前,Conti 勒索软件组织使用Atera来获得持久性和远程访问。

新的Zloader利用微软数字签名进行恶意活动
图 3 –创建自定义 Atera安装程序 
新的Zloader利用微软数字签名进行恶意活动
 图 4 – 恶意安装程序中使用的电子邮件
新的Zloader利用微软数字签名进行恶意活动
图 5 – Atera 函数

安装代理后,攻击者然后使用“运行脚本”功能将两个 .bat 文件上传并运行到设备上:

  • defender.bat 用于修改 Windows Defender 首选项。
  • load.bat 用于加载恶意软件的其余部分。
新的Zloader利用微软数字签名进行恶意活动
图 6 – Defenderr.bat

其余文件托管在域 teamworks455[.]com 上并从那里下载。

新的Zloader利用微软数字签名进行恶意活动
图 7 – 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 文件夹中,用于引导持久性。
新的Zloader利用微软数字签名进行恶意活动
图 8 – New.BAT
新的Zloader利用微软数字签名进行恶意活动
图 9 – New1.BAT

接下来,脚本以文件 appContast.dll 作为参数运行 mshta.exe。当我们仔细查看 DLL 时,我们注意到该文件是由 Microsoft 使用有效签名进行签名的(请参见下面的进一步说明),其原始文件名为 AppResolver.dll。比较这两个文件,我们看到,在恶意DLL中,作者在文件中附加了一个脚本。

新的Zloader利用微软数字签名进行恶意活动
 图 10 – 有效签名
新的Zloader利用微软数字签名进行恶意活动
  图 11 – 原始文件名
新的Zloader利用微软数字签名进行恶意活动
图12 – appResolver.dll 和 appContast.dll 的比较

然后,此脚本使用写入 %temp% 目录的文件 WScriptSleeper.vbs 进入休眠阶段。接下来,它使用 regsvr32.exe 运行 9092.dll(主要的 Zloader 负载)。

Malwarebytes 于 2020 年 5 月发布了对Zloader 的完整技术分析。最终,恶意软件调用 msiexec.exe 并将其有效载荷注入正在运行的进程中。Msiexec 然后与域 lkjhgfgsdshja[.]com 中的 C2 服务器通信。

新的Zloader利用微软数字签名进行恶意活动
图13 – 与 C2 服务器的通信
新的Zloader利用微软数字签名进行恶意活动
图14 – 从 msiexec 内存中提取的字符串

最后,new2.bat 脚本编辑注册表 SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 禁用“管理员在管理员批准模式”用户类型,默认情况下以完全管理员权限运行所有应用程序,然后关闭计算机以使更改生效。

持久访问

 当恶意软件最初运行时,它会在启动文件夹下放置一个 auto.bat 脚本,该脚本运行 mshta.exe,以 reboot.dll 作为参数。类似于appContast.dll,然后脚本自行删除。在下图中,我们看到使用zoom.dll 和9092.dll 调用regsvr32.exe。文件 zoom.dll 丢失,这表明该活动可能仍在开发中,我们将在未来看到它。
将恶意代码注入 msiexec.exe 后,会在 HKCU\Software\Microsoft\Windows\CurrentVersion\Run 下创建一个随机注册表项值。这将运行带有 9092.dll 副本的 regsvr32.exe,该副本位于 %appdata% 中新创建的文件夹中。这就是恶意软件在下次系统重新启动时仍然存在的方式。

新的Zloader利用微软数字签名进行恶意活动
图15 – reboot.dll

文件签名

如上所述,文件 appContast.dll 具有 Microsoft 的有效签名,但该文件已被修改并注入了恶意脚本。这就引出了一个问题——它是如何完成的?
如果我们在字节级别上将恶意 DLL 与原始 DLL 进行比较,我们可以看到文件在几个地方被修改:文件校验和与签名大小匹配的两个地方。

新的Zloader利用微软数字签名进行恶意活动
图16 – A(良性)是 appResolver.dll,B(恶意)是 appContast.dll
新的Zloader利用微软数字签名进行恶意活动
图 17 – appResolver.dll CheckSum
新的Zloader利用微软数字签名进行恶意活动
 图 18 – appResolver.dll 签名大小
新的Zloader利用微软数字签名进行恶意活动
   图 19 – appResolver.dll 签名大小 (2)

这些对签名文件的简单修改保持了签名的有效性,但使我们能够将数据附加到文件的签名部分。由于我们无法从文件的签名部分运行编译后的代码,因此放置一个用 VBscript 或 JavaScript 编写的脚本并使用 mshta.exe 运行该文件是一个简单的解决方案,可以规避某些 EDR。
作为健全性检查,我们创建了自己的签名 PE 文件,其中附加了脚本 (A6ED1667BB4BB9BAC35CE937FF08C7216D63EBB4),当作为 mshta.exe 的参数运行时,该脚本会打开计算器应用程序。
此漏洞显然是以下 CVE 中提到的已知问题:CVE-2020-1599、CVE-2013-3900 和 CVE-2012-0151。微软在 2013 年通过安全公告解决了这个问题并推动了修复。然而,他们在实施后表示,他们“确定对现有软件的影响可能很大”。因此,在 2014 年 7 月,他们取消了更严格的文件验证并将其更改为选择性更新

换句话说,默认情况下禁用此修复程序,这使恶意软件作者能够修改签名文件。

此处提供有关如何启用严格文件验证的进一步说明,其中包括修改注册表项:

新的Zloader利用微软数字签名进行恶意活动
图 20 – 需要更改以缓解问题的密钥

我们注意到reboot.dll 也以同样的方式签名。应用此修复程序后,两个 DLL 的签名都无效。

筛选受害者

在我们的分析过程中,我们发现了一个托管在 teamworks455[.]com 上的开放目录,其中包含一些已下载和使用的文件。每隔几天,作者对文件进行更改,check.php 脚本会返回一个具有相同行为但具有不同哈希值的不同 DLL 文件。在文件“条目”中,我们可以看到感染 Zloader 的受害者列表及其来源国。

新的Zloader利用微软数字签名进行恶意活动
图 21 – teamworks455[.]com/_country

截至 2022 年 1 月 2 日,有2170 个唯一的受害者 IP下载了恶意 DLL 文件。该图表显示了每个国家的受害者人数(“其他”类别包括受害者人数少于 15 人的国家)。如您所见,大多数受害者居住在美国和加拿大

新的Zloader利用微软数字签名进行恶意活动
图 22 – 每个国家/地区的下载量

软件作者

 由于与 MalSmoke 之前的活动有一些相似之处,我们认为他们是这次活动背后的网络犯罪分子:

  • MalSmoke 之前活动中的恶意软件伪装成 Java 插件,这种情况正在发生。
  • 托管当前活动文件的域 teamworks455[.]com 的注册商信息与与2020 年 MalSmoke 活动 相关联的域 pornislife[.]online 之间存在联系
新的Zloader利用微软数字签名进行恶意活动
图 24 – teamworks455[.]com/racoon

最后,在查看“条目”文件时,我们发现了两个可能与攻击者有关的 IP 地址。

新的Zloader利用微软数字签名进行恶意活动
图 25 – 与活动相关的可能地址

第一个地址 185[.]191[.]34[.]223 被发现在被归类为“网络犯罪”的IP 黑名单中。可以看到第二个地址 185[.]191[.]34[.]209 尝试使用不同的用户代理多次下载有效负载。这可能表明作者正在测试他们的有效载荷。这两个地址都可以在 AbuseIPDB 中找到:

新的Zloader利用微软数字签名进行恶意活动
图 26 – Abuseipdb 185[.]191[.]34[.]223 
新的Zloader利用微软数字签名进行恶意活动
图 27 – 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 在您的环境中不相关,您可以禁用它并减少插入到此类文件中的脚本的执行。

Check Point Threat Emulation 和Harmony 端点提供针对此威胁的保护:

  • Exploit.Wins.CVE-2013-3900.A
  • Trojan-Downloader.Win.Zloader.E
    Trojan-Downloader.Win.Zloader.F

MITRE ATT&CK

新的Zloader利用微软数字签名进行恶意活动

IOCs(侵害指标)

AteraAgent 脚本:

Defenderr.bat – 1CA89010E866FB97047383A7F6C83C00C3F31961

Load.bat – F3D73BE3F4F5393BE1BC1CF81F3041AAD8BE4F8D

www.teamworks455[.]com

C2 服务器:

https://asdfghdsajkl[.]com/gate.php

https://iasudjghnasd[.]com/gate.php

https://kdjwhqejqwij[.]com/gate.php

https://kjdhsasghjds[.]com/gate.php

https://dkisuaggdjhna[.]com/gate.php

https://dquggwjhdmq[.]com/gate.php

https://lkjhgfgsdshja[.]com/gate.php

https://daksjuggdhwa[.]com/gate.php

https://eiqwuggejqw[.]com/gate.php

https://djshggadasj[.]com/gate.php

文件:

Java.msi – B9D403D17C1919EE5AC6F1475B645677A4C03FE9

new.bat – 0926F8DF5A40B58C6574189FFB5C170528A6A34D

new1.bat – 9F1C72D2617B13E591A866196A662FEA590D5677

new2.bat – DE0FA1529BC652FF3C10FF16871D88F2D39901A0

9092.dll – A25D33F3F8C2DA6DC35A64B16229D5F0692FB5C5, 7A57118EE3122C9BDB45CF7A9B2EFD72FE258771, 2C0BC274BC2FD370B365350000

Adminpriv.exe – 3A80A49EFAAC5D839400E4FB8F803243FB39A513

appContast.dll – 117318262E521A66ABA4605262FA2F8552903217

reboot.dll – F3B3CF03801527C24F9059F475A9D87E5392DAE9

auto.bat – 3EA3B79834C2C2DBCE0D24C73B022A2FF706B4C6

from

转载请注明出处及链接

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注