【安全资讯】Trickbot UEFI级别变种

安恒分子实验室-xt 2020-12-08 23:20:38 2324人浏览
分子实验室——https://www.molecule-labs.com


前言:

参考:https://www.microsoft.com/security/blog/2020/10/12/trickbot-disrupted/

https://www.welivesecurity.com/2020/10/12/eset-takes-part-global-operation-disrupt-trickbot/

2020年10月12日微软365 Defender威胁情报团队发布《Trickbot disrupted》 情报文章,文章称Trickbot相关僵尸网络重要设施系统已经被其与安全厂商(数字犯罪联盟Digital Crimes Unit ——DCU,该成员有 FS-ISAC金融服务信息分享和分析中心, ESET, Lumen’s Black Lotus Labs, NTT and Symantec, a division of Broadcom, 以及Microsoft)共同努力下攻破了,因此trickbot不会进一步大面积感染。但同时其也强调,trickbot完全可能在未来重新复苏,并表示仍然会继续监测并采取措施阻止其攻击。(相关原文可参考 《New action to combat ransomware ahead of U.S. elections》

FS-ISAC——inancial Services Information Sharing and Analysis Center 金融服务信息分享和分析中心

trickbot新变种

参考:https://exchange.xforce.ibmcloud.com/collection/An-Unusual-Trickbot-Launcher-735779293857803df7466e8143590c9a

报告12月1日发现特殊变种

参考:https://www.advanced-intel.com/post/persist-brick-profit-trickbot-offers-new-trickboot-uefi-focused-functionality

12月3日,trickbot新模块可影响UEFI启动函数披露。

根据文章内容TrickBot病毒样本现在出现了新的功能,该功能可以影响目标系统的UEFI/BIOS固件。这是TrickBot进化的重要标志。而对固件级别的安全威胁也将代表攻击者的战略倾向。

目前明确的是TrickBot在其攻击链中加入了UEFI级别的bootkit。这将有助于其在勒索软件事件中提升存活性,并且可以实现永久驻存在系统并对系统造成影响。已知TrickBot组织为强硬的谈判者,该变种将给攻击者在勒索中提供更大的影响力。

考虑到黑客组织AchorDNS恶意软件安装框架已经被一些最臭名昭著的犯罪分子,俄罗斯和朝鲜的行为者用来攻击医疗、金融、电信、教育和关键基础设施,我们认为,这一进展对企业风险和国家安全都至关重要。

利用TrickBot的对手现在有了一种自动手段,可以知道他们最新的受害者主机中哪些容易受到UEFI漏洞的攻击,就像他们从2017年开始利用永恒蓝(eternal nalblue)和永恒浪漫(eternal nalromance)漏洞来制造蠕虫一样。安全团队应该立即采取行动来降低这种风险。


内容介绍

Advanced Intelligence (AdvIntel)和Eclypsium的合作研究发现,这款臭名昭著的恶意软件现在具有检查目标系统UEFI/BIOS固件的功能。这个新功能,我们称之为“TrickBoot”,利用现有的工具来检查设备已知的漏洞,这些漏洞可能允许攻击者读取、写入或删除设备的UEFI/BIOS固件。

在撰写本文时,我们的研究发现了TrickBot正在对固件漏洞进行侦察。这一活动为TrickBot人操作人员执行更积极的措施设置了舞台,如安装固件植入和后门或破坏目标设备(变砖)。很有可能,攻击者已经在利用这些漏洞攻击高价值目标。类似的以uefi为重点的威胁在被发现之前已经过去多年了。事实上,这正是它们对攻击者的价值所在。

这标志着TrickBot进化的重要一步。固件级别的威胁对攻击者具有独特的战略重要性。通过在固件中植入恶意代码,攻击者可以确保自己的代码最先运行。bootkit允许攻击者控制操作系统的引导方式,甚至直接修改操作系统以获得对系统的完全控制,并破坏更高层的安全控制。UEFI级别的植入是最深的,最强大的,隐秘的形式的bootkit。由于固件存储在主板上,而不是系统驱动器上,因此即使系统被重新映像或硬盘驱动器被替换,这些威胁也可以为攻击者提供持续的持久性。同样有影响的是,如果使用固件对设备进行变砖操作,那么想要恢复此类事件影响将与从传统的文件系统加密中恢复的场景明显不同(也更困难),后者是像Ryuk这样的勒索软件活动所需要的。

TrickBot已被证明是当今最具适应性的恶意软件之一,它定期加入新的功能来升级特权,传播到新设备,并在主机上保持持久性。UEFI功能的增加标志着在这一不断发展的进程中一个重要的进步,它将其关注点从设备的操作系统扩展到了通常不被安全产品和研究人员检查的底层。

trickbot历史

TrickBot是一个高度模块化的木马,特别值得注意的是,它有能力获得管理员特权,在网络中传播,并提供额外的恶意软件负载。“TrickBot”于2016年被发现,最初主要用于窃取金融数据,被认为是一个银行木马。然而,随着恶意软件的发展,攻击者很快发现它在所有类型的恶意软件活动中都是一个有价值工具。值得注意的是,“TrickBot”已经被监测到有大量与Emotet合作发送Ryuk勒索软件行为。

TrickBot包括几个关键的功能,使其有价值的持久恶意软件运动。该工具能够使用Mimikatz捕获用户和管理凭据,并集成了UAC旁路技术,以确保它可以在受感染的主机上以管理员权限运行,而不会向用户发出警报。TrickBot还利用臭名昭著的EternalBlue漏洞(MS17-010)通过SMB传播到网络中的其他主机上。这些能力使TrickBot成为几乎任何附加恶意软件负载的理想载具。通过为特定的UEFI/BIOS固件漏洞添加画布受害者设备的能力,TrickBot能够以固件级别的持久性来针对特定的受害者实施控制,重置系统对这种攻击都将失效。

下面的图表显示了过去两个月里,TrickBot感染的活跃程度,单日感染人数最多达到4万。获取内存足迹对TrickBot操作人员来说不是一个挑战。确定哪些受害者是高价值目标,并在这些环境中坚持以后再攻击他们,定义了TrickBot工具集的很大一部分,并框架了这一发现的意义。


TrickBot探测威胁

作为一个恶意软件工具集,TrickBot已经被不止一个组织的参与者使用,但有一个组织的人使用了它的大部分功能,并且基于TrickBot的攻击取得了巨大的成功,值得在本研究的背景下提供相关细节。这个组织的别名是“Overdose”,他们是主要的平台即服务的欺诈组织,利用TrickBot制作Conti和Ryuk勒索软件。

自2018年以来,该组织至少赚了1.5亿美元,最近从一名受害者身上榨取了约3400万美元(约合2200比特币)。这是一系列针对医疗保健受害者的袭击的幕后主使,包括对UHS的袭击。除了说俄语和东欧语外,没有直接说明他们的身份。从下图可以看出,他们参与了许多与犯罪/诈骗有关的活动。


他们最常见的攻击链主要是通过Emote的malspam战役开始的,然后加载TrickBot和/或其他投放器,然后移动到像PowerShell Empire或Cobalt Strike这样的攻击工具来完成与受攻击组织相关的目标。

通常在攻击杀伤链最后,会执行部署Conti或Ryuk勒索软件。

同一角色还使用LightBot,这是一组PowerShell脚本,用于对受害者网络、硬件和软件执行侦察,以便挑选出高价值的目标。很明显,如果在杀死链中包含一个UEFI级别的启动包,这样有利于攻击者后续攻击。在Ryuk或Conti勒索病毒事件的恢复阶段,这类trickboot病毒无法被清除,并将进一步提高它们半永久性地组装攻击代码的能力。这为犯罪分子在赎金谈判中提供了更大的筹码,而“TrickBot”组织已经以强硬的谈判者而闻名,对于公司来说这将会是比较严重的损失。

有了这个模块,TrickBot杀伤链是启动了一个为固件提供的脆弱目标名单。世界上最臭名昭著的恶意软件作者现在可以利用Emotet恶意垃圾邮件整个地区或垂直领域,然后恶意软件启动告诉他们在哪里和如何目标UEFI/固件。最后,作为他们谈判策略的一部分,Ryuk和Conti恶意软件释放进攻,如果支付了赎金,他们可以移除企业的后门。现在由于trickbot的出现,这些攻击者可以向受害者展示,他们已经删除了常见的后门形式,如webshell、帐户、远程管理工具等,但仍然可以在系统上保留了一个隐蔽的UEFI bootkit,以便稍后唤醒。


发现新的trickboot函数

就像新TrickBot模块通常的情况一样,名称为“PermaDll”或初始名称为“user_platform_check”。“dll”在2020年10月发现新的TrickBot攻击链时引起了高级情报研究人员的注意。“Perma”,听起来类似于“permanent”,它本身就足够吸引人,我们猜测这个模块在TrickBot的最新可加载模块库中与通常的TrickBot导出模块的作用。最初的分析指出,可能存在与了解受害者系统的UEFI固件是否会被攻击以实现持久性或销毁目的相关的功能。

与Eclypsium开始了联合合作,以分析这个模块,并将发现的任何东西纳入防御。在2020年10月19日首次发现这个新模块时,研究小组处理了编码的“permaDll32”。他们利用了一个定制的AES encryption TrickBot模块decrypter,揭示了已解码的模块,该模块成为深入分析和发现的主线。


尽管源代码在GitHub上很容易找到,甚至在使用过程中都有记录,但业界还是花了5年多的时间才发现,黑客团队在野外使用的VectorEDK UEFI植入代码是MosaicRegressor活动的一部分。考虑到TrickBot作者是异常活跃、资源充足、能力强,我们希望研究、分析并公开他们已经拥有的任何工具,以便组织能够更快地准备有效的防御措施。



引导过程的概述,SPI控制器,和UEFI固件

引导进程控制系统及其组件的初始化方式,并协调操作系统的加载,这使得引导进程成为任何设备安全性最重要的方面之一。支持引导过程的代码是系统上执行的第一个代码,同样也是一些特权最高的代码,甚至需要保护以免受到特权操作系统(OS)代码的攻击。如果引导过程被破坏,攻击者就会获得对操作系统本身的控制,并在设备上建立持续的持久性,即使重新安装了操作系统也无法清除。

引导过程从设备主板内建的SPI闪存芯片中开始。SPI包含系统的BIOS,或者更常见的是UEFI固件,它在很大程度上取代了BIOS,成为现代系统中的默认系统固件。这个UEFI固件将控制引导过程,并最终选择适当的OS引导加载程序,并在将控制权移交给操作系统本身之前执行初始的OS代码。

所有对存储在SPI闪存芯片中的UEFI固件的请求都要经过SPI控制器,它是英特尔平台上的平台控制器集线器(PCH)的一部分。这个SPI控制器包括访问控制机制,可以在引导过程中锁定该机制,以防止对存储在SPI闪存芯片中的UEFI固件进行未经授权的修改。现代系统的目的是使这些BIOS写入保护,以防止固件被修改;然而,这些保护常常没有启用或配置不当。如果BIOS没有写保护,攻击者可以很容易地修改固件,甚至完全删除它。

甚至,每当一个攻击者可以写入SPI flash时,从攻击者的角度来看,有许多非常有用的事情可以完成:

  1. 通过典型的恶意软件远程连接在固件级别上对设备进行远程改造。

  2. 重新感染一个刚刚通过传统系统恢复过程的设备。

  3. 绕过环零和以上操作系统依赖的重要安全控制,如BitLocker, ELAM, Windows 10虚拟安全模式,偷NTLM creds绕过凭据保护,禁用其他端点保护控制,如A/V, EDR等。

  4. 设置针对Intel CSME vulns的后续攻击,其中一些需要SPI闪存访问。

  5. 退出已经修补了其他CPU或平台漏洞(如Spectre、MDS等)的ACM或微码更新。

TrickBot将目光放在固件上

TrickBot有重用已建立的工具和漏洞的历史,如Mimikatz和EternalBlue,恶意软件正在采取类似的方法来实现持久性。具体来说,TrickBot使用RwDrv。来自流行的RWEverything工具的sys驱动程序,为了与SPI控制器交互,检查是否BIOS控制寄存器被解锁,BIOS区域的内容可以被修改。TrickBot包括一个RwDrv的模糊副本。sys被嵌入到恶意软件中。它将驱动程序放入Windows目录中,启动RwDrv服务,然后调用DeviceIoControl与硬件对话。

读写一切(read-write everything)是一个强大的工具,它允许攻击者写入几乎任何设备组件上的固件,包括管理系统UEFI/BIOS的SPI控制器。这允许攻击者向系统固件编写恶意代码,确保攻击者代码在操作系统之前执行,同时将代码隐藏在系统驱动器之外。这些功能在过去被滥用,作为攻击者维护固件持久性的一种方式,最明显的是LoJax恶意软件和Slingshot APT活动。然而,“TrickBot”标志着这些技术在野广泛应用。

到目前为止,TrickBot模块只是检查SPI控制器来检查BIOS写保护是否启用,并且没有看到修改固件本身。然而,恶意软件已经包含了读取、写入和删除固件的代码。可以使用这些原语插入代码来维护持久性,就像以前在LoJax或MosaicRegressor中看到的那样。攻击者也可以简单地删除BIOS区域,以完全禁用设备,作为破坏性攻击或勒索活动的一部分。可能性几乎是无限制。

影响

如果有一个影响国家安全的恶意软件工具包的典型代表,那就是TrickBot。它被罪犯、俄罗斯和朝鲜的攻击者使用,被广泛使用,并受益于当今最广泛的恶意软件工具:Emotet。仅在上个月的一天里,就观察到了4万部活跃的、完全受攻击的设备。

因为它是只提供给最有野心和资金充裕的攻击者,它已经被打造成一个军工产品,整合强大的开发功能如EternalBlue和EternalRomance,能够帮助它通过网络蠕虫和利用powershell执行非常有效侦察来确定高价值目标。它的敏捷性,潜行性,以及只在需要的时候合并特定模块的能力来完成战役目标。那么,为什么这种新的TrickBoot会如此有效呢?以下是各组织和政府应注意的五项考虑:

  1. 只要编写一行代码,就可以攻击任何它发现易受攻击的设备。UEFI级别的破坏比普通的加密硬盘的勒索策略更有效。从一个变砖的UEFI恢复意味着替换整个主板或尝试UEFI固件的恢复,这比简单地重新想象或替换一个硬盘驱动器要耗费更多的成本。一场能使设备变砖的恶意软件大范围传播事件,对国家安全的影响是巨大的。存在这个引导模块受影响的资产可以是在过去五年多的时间里生产的所有基于英特尔的系统。基于Eclypsium分析,大多数这些系统仍然容易受到当前已知的众多固件漏洞之一的攻击,其中有一小部分容易受到这个模块固件问题的攻击。

  2. 历史上,TrickBot的参与者需要在操作系统级别逃避和维持权限。但这就是一场“与时间的赛跑”的比赛,因为今天的AV和EDR工具最终赶上了操作系统层的攻击。虽然一些威胁行为者,如俄罗斯GRU 85 GTsSS已经采取了内核级别的rootkit,但在启用了安全引导的现代设备上,这种攻击传播通常不太方便。但是一旦实现了UEFI持久性,TrickBot操作人员就可以禁用他们想要的任何操作系统级别的安全控制,因为这允许他们在系统恢复后重新进行控制操作。

  3. 通常,攻击者想要获得UEFI级别访问的参与者需要计划、定制和构建攻击工具,以针对特定的受害者环境。但有了TrickBoot,攻击者每天可以简单地“登陆”数万台主机,并从中提取出哪些主机属于高价值和容易受到UEFI攻击目标。

  4. 攻击在堆栈中的行为正变得更难检测。2016年DNC黑客事件的幕后操纵者(APT28)还部署了LoJax,一种UEFI植入物,具有类似的感染方法,使用了这个“TrickBoot”模块寻找的相同漏洞。这里的不同之处在于,TrickBot的模块化自动化方法、健全的基础代码和快速大规模部署能力为这一趋势带来了新的规模化效应。现在这一趋势是大规模的破坏性行动或间谍活动的重点,可以针对整个垂直领域或部分关键基础设施。

  5. 大多数组织和任务都没有工具来检测,更不用说减轻这类固件威胁了。正是由于这个原因,攻击者将堆栈级别攻击进一步向下推进。这意味着,作为一个国家,我们的主动或被动努力都不可能足以战胜这一新的威胁。我们希望,这一发现、研究和建议的缓解措施有助于提高人们的认识,从而迎头应对这一全球威胁。

测试框架和状态报告

因为TrickBot使用模块化框架来允许开发新模块并将其部署到目标中,所以这个示例包含了一些实现这个框架的基础结构代码,这些代码与前面的示例类似。

特定模块的操作从主函数的0x1000D663开始,我们将其称为“permadll32_main_module”。这是该模块的主要函数,用于加载和初始化RwDrv。系统驱动程序通过调用open_or_init_driver,确定平台认证(包括CPU和PCH)通过调用identify_platform,决定使用哪个注册地址为这个平台通过调用get_regs_from_generation,检查SPI BIOS地区通过调用check_spi_protections可写,并返回平台身份如果SPI BIOS地区可写返回给调用者。

虽然这个模块似乎只是用来识别目标硬件和确定BIOS区域是否可写,但它的代码可以很容易地修改为写入SPI闪存,通过修改固件或通过完全擦除BIOS区域的系统砖来植入系统。这可以通过使用一个额外的模块在侦察完成后执行攻击,或者通过“在键盘上”手动操作来实现攻击。

缓解

考虑到TrictBot在野流行,对安全团队来说确保他们的设备不受攻击,不被破坏是很重要的。固件完整性检查对于任何已知已经被TrickBot危害的设备来说都特别重要。可以使用诸如CHIPSEC等开源工具或通过Eclypsium平台执行以下步骤。

  • 检查设备,确保BIOS写保护已启用。看看如何在保护系统固件存储博客。Eclypsium客户可以专门寻找“缺少BIOS写保护”漏洞的系统。

  • 验证固件完整性检查如与已知的良好版本的固件哈希对比。判断或监控固件的行为是否有任何未知植入或修改的迹象。

  • 更新固件以减轻已发现的众多漏洞。请参阅关于企业固件更新的博客,了解最佳实践。

  • 在受到TrickBot影响的设备上执行主机级取证的事件响应(IR)团队应该将检查固件作为其策略的一部分,以确保消除该问题,并应对在特定环境中对设备固件实施攻击的对手所带来的风险有深入了解。

IOCs

 permaDll32:
 md5:491115422a6b94dc952982e6914adc39
 sha1:55803cb9fd62f69293f6de21f18fd82f3e3d1d68
 sha256:c1f1bc58456cff7413d7234e348d47a8acfdc9d019ae7a4aba1afc1b3ed55ffa
 permaDll32 (pre-decryption):
 md5:cef670f443d2335f44a1838463ea44ed
 sha1:30aa28e6df66fe7b4ec643635df8187ede31db06
 sha256:c065e39ce4e90a5a966f76d9798cb5b962d51a3f35e3890f91047acfefa8c58e
 Rwdrv.sys
 md5:257483d5d8b268d0d679956c7acdf02d
 sha1:fbf8b0613a2f7039aeb9fa09bd3b40c8ff49ded2
 sha256:ea0b9eecf4ad5ec8c14aec13de7d661e7615018b1a3c65464bf5eca9bbf6ded3
 

注意:这个引导模块包含一个RwDrv的模糊副本。但是当这个文件被放到Windows目录中时,它可以通过下面的IOCs被识别。

 

Mitre ATT&CK Framework: TrickBoot

 Attack Pattern 
  Spearphishing Attachment - T1193    
  Scheduled Task - T1053    
  User Execution - T1204    
  PowerShell - T1086    
  Component Firmware - T1109    
  DLL Search Order Hijacking - T1038    
  Process Hollowing - T1093    
  Hooking - T1179    
  Account Discovery - T1087    
  Query Registry - T1012    
  Process Discovery - T1057    
  System Information Discovery - T1082    
  Windows Admin Shares - T1077    
  Automated Collection - T1119    
  Data from Local System - T1005    
  Email Collection - T1114    
  Man in the Browser - T1185    
  Connection Proxy - T1090    
  Custom Command and Control Protocol - T1094    
  Automated Exfiltration - T1020    
  Data Destruction - T1485    
  Firmware Corruption - T1495
  Persistence, Pre-OS Boot: System Firmware - T1542
  Inhibit System Recovery - T1490
  System Shutdown/Reboot - T1529

yara规则

rule crime_win32_perma_uefi_dll : Module {
  meta:
 author = "@VK_Intel | Advanced Intelligence"
  description = "Detects TrickBot module decrypter permaDll"
  md5 = "491115422a6b94dc952982e6914adc39"
 strings:
  $module_cfg = "moduleconfig"
  $str_imp_01 = "Start"
  $str_imp_02 = "Control"
  $str_imp_03 = "FreeBuffer"
  $str_imp_04 = "Release"
  $module = "user_platform_check.dll"
  $intro_routine = { 83 ec 40 8b ?? ?? ?? 53 8b ?? ?? ?? 55 33 ed a3 ?? ?? ?? ?? 8b ?? ?? ??
 56 57 89 ?? ?? ?? a3 ?? ?? ?? ?? 39 ?? ?? ?? ?? ?? 75 ?? 8d ?? ?? ?? 89 ?? ?? ?? 50 6a 40 8d ?? ?? ?? ?? ?? 55 e8 ?? ?? ?? ?? 85 c0 78 ?? 8b ?? ?? ?? 85 ff 74 ?? 47 57 e8 ?? ?? ?? ?? 8b f0 59 85 f6 74 ?? 57 6a 00 56 e8 ?? ?? ?? ?? 83 c4 0c eb ??}
  condition:
 6 of them }


失陷指标(IOC)3
APT 僵尸网络Botnet 漏洞利用 勒索软件 政府部门 金融 通信 交通运输 能源 水利 学术 航空行业 医疗卫生 教育 科研 科技公司 司法 核设施 国防 公用事业 食品和农业 物联网IOT 其他
    0条评论
    0
    0
    分享
    安全星图平台专注于威胁情报的收集、处理、分析、应用,定期提供高质量的威胁情报。