1. 事件描述
2020年12月,FireEye发现一起针对许多组织(主要是针对美国科技公司)的大规模网络攻击已经持续了几个月。这次网络攻击具有一定程度的复杂性,导致外国政府迅速介入,这次攻击中的战术和技术细节非常出色。攻击者没有进行常规的网络钓鱼或者漏洞利用攻击,而是进行了精心设计的供应链攻击。在本文中,我们重点分析了Solarwinds供应链中使用的后门(SUNBURST)及其攻击载荷之一(TEARDROP)的一些功能,包括对SUNBURST的哈希编码字符串进行彻底的模糊处理以及对TEARDROP的控制流和解密方法的分析。
2. 技术细节分析
SUNBURST后门的技术细节已经被很多公司和组织分析透彻,这使我们可以专注于我们感兴趣的一个功能上进行深度分析,我们将分析后门精心设计的免杀方法。
SUNBURST所采用的规避技术在概念上类似于沙箱规避。沙盒规避的目的是确保恶意软件不会在检测恶意软件的虚拟机上运行。
后门文件的黑名单不是以可读字符串数组的形式给出的。而是将可读字符串替换为FNV-1a哈希值。通常的恶意软件都会采用此功能,,除了最近的一些恶意软件会使用FNV-1a,而不是SHA256和CRC32校验和,但这个后门厉害的地方在于它保持了代码合法性。
后门作者对仅将进程和服务列入黑名单并不满意,他们还将某些设备驱动程序和IP地址的整个范围列入了黑名单,通过将受感染机器的IP转换为域名,该功能用于将所有内部Solarwinds域都列入了黑名单。这告诉我们,不仅攻击者决定使用Solarwinds攻击Uber到达目标,而且还详细了解了Solarwinds内部网络的拓扑结构。总体而言,嵌入在SUNBURST中的哈希编码字符串列表是SUNBURST加入黑名单的200多个域。结果表明,即使是最先进,最顽强的攻击者也不认为自己是无敌的,他们相信自己足够立于不败之地。
可在Addeneum I中找到SUNBURST中包含的FNV-1a混淆字符串的完整列表。
毫无疑问,这种攻击是一项令人难以置信的大规模黑客技术成就。250多个组织被SolarWinds后门感染,其中一半在美国,在推送恶意代码时,他们确保遵循Solarwinds的编码约定;他们在其初始有效载荷中包含了“逻辑漏洞”,以将恶意活动从初始感染推迟整整两周,并进行动态分析。他们将横向移动限制为使用被盗但有效的用户凭据进行的合法操作。出于所有这些原因,值得注意的是,这种Übermensch层的攻击被用来部署TEARDROP,这仅仅是人为的恶意软件删除程序。
在发现之时,TEARDROP是一种新的攻击载荷,从未见过,甚至可能是针对这种攻击量身定制的。它仅针对少数几个目标部署,TEARDROP在内存中运行,但是它确实注册了Windows服务,还会编辑注册表。