TrickBot正在瞄准UEFI固件

TrickBot 近期部署了探测 UEFI 漏洞的攻击模块,通过访问 UEFI 固件,攻击者可以拥有更好的持久化能力,对抗操作系统级的安全措施。

固件级的 Bootkit 植入的恶意代码对上层的安全防护是难以清除的,它会在计算机最初启动领先其他代码进行加载。

攻击者能够通过攻击 UEFI 漏洞获得这种持久化能力的影响是十分巨大的,尤其是对 TrickBot 这样的僵尸网络,每天的感染量可能就高达数千个。

针对 Intel 的固件

Advanced Intelligence(AdvIntel)和 Eclypsium 的安全研究人员提供了有关 TrickBot 新组件的技术细节。

TrickBot 在目前的阶段仍然充当侦察工具,会检查受感染机器的 UEFI 固件是否存在漏洞。目前,验证仅针对 Intel 平台(Skylake、Kaby Lake、Coffee Lake、Comet Lake)。尽管如此,实际上该模块还包含用于读写和擦除固件的代码,因此攻击者可以将其用于重大破坏。

它会检查 RwDrv.sys 驱动的 UEFI/BIOS 的写保护,并使用 RWEverything 修改为读写权限。该工具允许访问硬件组件,如 SPI 闪存芯片、存储系统的 BIOS/UEFI 固件等。

该工具最初由 LoJax 使用,LoJax 是在野发现的第一个 UEFI Rootkit,攻击来自俄罗斯,称业界为 APT28。

“对 SPI 闪存芯片中存储的 UEFI 固件的所有请求都会通过 SPI 控制器,该控制器是 Intel 平台上 Platform

Controller Hub(PCH)的一部分。该 SPI 控制器包含访问控制机制,可以在引导过程中将其锁定,以防止对存储在 SPI 闪存芯片中的 UEFI 固件进行未经授权的修改” —— Eclypsium,AdvIntel 联合报告

研究人员说,出厂提供的 BIOS/UEFI 写保护功能通常处于不被使用或者配置错误的状态,这使得攻击者可以修改固件或删除固件。

研究人员在 10 月 19 日发现了该模块,并将其命名为 TrickBoot,这是对该模块的功能以及部署它的僵尸网络恶意软件名称的一种双关。

Advanced Intelligence 在分析的样本中发现了新的 TrickBot 样本,该样本与文件 user_platform_check.Dll 相关的 PermaDll。调查后发现,攻击者已经实现对失陷主机的芯片组的检查。

研究发现,模块运行 PCH 查询确定主机平台并确定是否易受攻击。

研究人员还发现,攻击者依赖于已知的固件开发工具 fwexpl 的功能:

  • 从硬件 IO 端口读取数据
  • 调用 rwdrv.sys 驱动程序以将数据写入硬件 IO 端口
  • 调用 rwdrv.sys 驱动程序以从物理内存地址读取数据
  • 调用 rwdrv.sys 驱动程序以将数据写入物理内存地址

识别运行平台后,TrickBoot 会访问与闪存读取寄存器(SPIBAR,PRO-PR4)和 BIOS 控制相关的寄存器(在硬件级别进行 BIOS 访问的写保护锁定位)。

攻击者在尝试禁用 BIOS 写保护的功能中包含一个 Bug,攻击者从 BIOS 控制寄存器中的错误偏移开始读取,以检查是否将 BIOS 写保护禁用位启用。

主要影响

TrickBot 正在努力扩大对失陷主机的控制。大型僵尸网络已经有成千上万台受感染的计算机,攻击者可以从中选择最有价值的目标。

AdvIntel 的遥测技术显示,10 月 3 日至 11 月 21 日之间,TrickBot 的感染量达到 40000 的峰值,平均每天 200 至 4000 之间。这些数字也是较为保守的,因为智能计算外网地址,内网的多台计算机并未计算在内。

攻击者会选取高价值目标推送 Ryuk 和 Conti 勒索软件。自从 2018 年以来,他们赚了至少 1.5 亿美元,最近的一次攻击事件就赚了 2200 个比特币。

通过 UEFI 的感染,网络犯罪分子甚至可以在用户支付赎金后仍然保持对失陷主机的访问与控制。随后,就可以将这些攻击目标再转售给其他攻击团伙。

如何防御

Eclypsium 的首席研究员 Jesse Michael 表示,确定系统是否在 UEFI 固件级别受到威胁是一项艰巨的任务。

一种彻底的方法是在系统通过物理连接 SPI 闪存编程设备断电时读取 SPI 存储器芯片上的内容。但是,该解决方案不仅涉及专业知识,而且还延长了公司的宕机时间。与此同时,在某些情况下,芯片被焊接到主板上,并且存在读取问题的风险。

另一种方法是使用开源工具 CHIPSEC 或 Eclypsium,在硬件和固件级别上查找低级漏洞,还可以确定 BIOS 写保护是否处于启用状态。检查固件哈希还有助于确定代码是否已被篡改。此外,更新固件也是确保不受已知漏洞影响的一种好方法。

自从 VectorEDK UEFI 植入代码泄漏并公开可用的五年以来,UEFI 级别的恶意代码仍然很少见的。但是,与 TrickBot 的攻击不同,传统使用 UEFI 发起的攻击具有高度针对性,而 TrickBot 的目标是感染尽可能多的系统,并从该其中选择有价值的目标(任何部门的大型公司)。

AdvIntel 和 Eclypsium 的技术报告 提供了 TrickBoot 的 IoC 指标,以及 Vitali Kremez 为该模块创建的 Yara 规则。

参考来源

BleepingComputer

FreeBuf
我还没有学会写个人说明!
上一篇

闭嘴,别再问什么是锁了

下一篇

linux用户管理(useradd,usermod,suerdel命令详解)

你也可能喜欢

评论已经被关闭。

插入图片