FireEye红队工具失窃事件跟进分析
火眼公司(FireEye)红队工具失窃事件曝光后,安天CERT迅速跟进,发布《FireEye红队工具失窃事件分析和思考》[1](点击查看),报告中以威胁框架视角对失窃的工具进行了功能点评,回顾了历史上多起网络军火失窃和扩散事件,并对本次事件做出谨慎地分析猜测。随着针对该事件的深入分析,安天CERT重新梳理了本次失窃工具对应的ATT&CK能力映射图谱,并对相应的能力进行评估与研判。
安天CERT利用FireEye的开源虚拟机测试套件CommandoVM线索与公开的规则对样本库进行扫描筛选,梳理了一些疑似FireEye的失窃工具并结合情报对工具进行初步分类:基于开源项目的工具、基于内置Windows二进制文件的工具(利用白文件实现免查杀功能的工具)、FireEye红队自研工具以及目前未确认的部分工具。其中自研工具包括侦查工具、持久化工具、内存转储工具、恶意宏模板工具以及利用D语言、Golang、C#等语言编写的后门程序。安天CERT对其中FireEye的部分自研工具进行了分析并评估可能产生的影响,同时针对部分相关规则使用了小规模白名单集合测试其误报率和规则质量。
安天CERT从威胁框架视角对本次泄露的红队工具进行了相应能力评估,这些能力更多的代表其基础能力和模仿其他APT组织的能力,并不代表对FireEye全部红队能力的评估。
威胁框架是认知威胁的重要方法,安天CERT通过对其失窃工具的战术、技术分解,发现从初始访问到命令与控制阶段除收集外的全方位、无死角地覆盖威胁框架的各个阶段。安天CERT重新梳理本次被窃工具对应的ATT&CK能力映射图谱,可以看出本批工具可以实现的战术动作覆盖了ATT&CK威胁框架12个战术阶段中的10个,可以实现118个技术动作。
● 失窃的红队工具包含极少的载荷,其主要目的是模仿潜在的攻击者并使用工具对企业进行攻击,用来评估企业的检测和响应能力以及系统的安全状况,而非直接进行恶意操作,因此在收集、渗出和影响阶段极少有所动作,通常这三个阶段的战术动作主要由恶意载荷完成。
● 在初始访问阶段,红队工具具备水坑攻击、鱼叉钓鱼攻击、第三方应用程序和外部服务的动作。入侵供应链、利用受信关系和有效账户通常在实际攻击中使用的方法和资源,一般不使用工具本身参与,所以红队工具未覆盖这三项战术动作也很正常;
● 在执行阶段,通常由工具、漏洞利用、其他载荷等方式完成,红队工具在执行阶段覆盖的战术动作占一半以上,说明了该批工具在执行阶段利用的技术点较多;
● 在持久化阶段,大多也由载荷自身完成,所以该批红队工具在持久化阶段只占一成多的战术动作点;
● 在防御规避阶段,红队工具覆盖了三分之一的战术动作点,像绕过UAC、混淆和反混淆等方式都是为了躲避或绕过安全防御机制,说明其非常注重战术隐蔽;
● 在提权阶段,红队工具的覆盖率接近四成,但却包含了漏洞相关的所有动作,而利用漏洞提权是使用较多且极为有效的方式,说明其提权阶段同样具备较强的能力;
● 在凭证访问阶段,红队工具有三成的覆盖,其中包含获取文件、注册表和转储凭证,而操纵账户、输入捕捉、欺骗用户输入、网络嗅探和收集私钥等动作并不覆盖;
● 在发现阶段,红队工具除浏览器书签动作外,其他战术动作全覆盖,浏览器书签可能会被用于研究使用者经常访问的网站,这种资源通常被用于水坑攻击,但在已经入侵的系统中,浏览器书签已无大用,所以红队工具不具备发现浏览器书签可以理解。除此之外,所有的硬件、软件、用户、服务、共享、进程等信息全部是发现的目标,发现这些的目的是为了提高下一阶段横向移动的成功率;
● 在横向移动阶段,红队工具未使用易于发现的可移动介质复制和污染共享内容的战术动作,更多的是使用远程服务、认证和漏洞等方式进行横向移动;
● 在命令与控制阶段,红队工具覆盖了将近一半的战术动作,多为使用协议、端口、服务和远程访问工具进行通信,通信过程覆盖了编码和混淆数据,以逃避安全软件检测和发现。
结合以上这些特点可以看出,红队工具在多个阶段利用开源框架、无文件攻击、多种语言、白文件等多种技术和战术进行隐蔽性动作操作。
图 2-1 红队工具对应的ATT&CK映射图谱
2019年3月28日,FireEye发布了一个包含超过140个开源Windows渗透工具包,该工具集名为“CommandoVM”[2]。FireEye推出的CommandoVM套件面向Windows平台构建,属于此前发布的FLARE VM套件的全新迭代版本,CommandoVM专攻逆向工程和恶意软件分析,功能也更加全面。其工具集包含:命令与控制工具集、开发语言工具集、规避检测工具集、信息收集工具集、网络工具集、密码攻击工具集和漏洞分析工具集等13类工具集。安天CERT利用FireEye的开源虚拟机测试套件CommandoVM与公开的规则线索匹配到了大量工具。
针对失窃红队工具进行初步分类为以下4类:
1、基于开源项目的21款工具,包含ADPassHunt、Beacon、Beltalowda等。在这其中,安天CERT利用FireEye提供的规则线索通过分析识别出多个CommandoVM中的工具,通过研判特征规则中提供的工具信息发现了4款可能是FireEye失窃的工具对应的公开发布版本,分别为SharpHound、Rubeus|Fluffy、Seatbelt、SharpSploit,其中3个源码生成的渗透工具程序可被FireEye提供的YARA规则命中,另一个为同家族老版本渗透工具。
2、基于内置的Windows二进制文件的5款工具,包含DueDLLigence、MSBuildMe、NetshShellCodeRunner等;
3、FireEye红队自研工具24款,包含Dshell、Excavator、GetDomainPasswordPolicy等;其中包括侦查工具、持久化工具、内存转储工具、恶意宏模板工具以及利用D语言、Golang等编写的后门程序;
4、目前未确认的工具,包含AllTheThings、CoreHound、Justask等。
具体工具功能清单详见附录。
安天CERT对国外研究人员公布出的针对规则碰撞的哈希文件[3]进行了二次梳理,并针对部分自研工具进行了深入分析,以评估可能产生的影响。
图4-1研究人员公布的规则对应的哈希
在红队失窃的四类工具中,开源工具与内置Windows二进制文件的工具,属于开源技术,基于安全厂商的技术积累可有效防范;但自研工具与暂时未确认的工具部分,由于其未知的风险不能有效评估,一旦失窃被大规模利用,会将专属高级攻击能力转化为普遍的攻击能力,从而造成大面积攻击事件,导致安全产品未能及时更新产品出现攻防失衡。
4.1 PGF——后门生成工具
PGF是FireEye红队一个利用各种“白利用”技术执行的后门生成工具。该工具实现对载荷进行加密,并注入到系统进程中解密执行,捕获的载荷为标准的CobaltStrike远控程序。
利用白文件实现免查杀功能的技术被称之为“LOLBins”(Living-Off-the-Land Binaries),这个概念最初在2013年DerbyCon黑客大会由Christopher Campbell和Matt Graeber创造,最终由Philip Goh提出。
表 4-1样本标签
该样本是一个C#语言编写的进程注入器,目的是在目标机器执行相关载荷,其注入的恶意代码部分可以随意修改替换,注入代码通过base64加密存在样本中,在样本执行时解密还原使用。
图4-2加密的注入代码
本例样本注入代码为CobaltStrike生成的DLL远控功能载荷,样本利用Windows系统进程SearchProtocolHost.exe,对其进行注入并执行。
图4-3创建进程并注入解密的代码(DLL)
解密后的代码为典型CobaltStrike生成的针对Windows系统的载荷。
图4-4 CobaltStrike载荷
4.2 ResumePlease——Microsoft Office宏恶意软件模板
ResumePlease是一个Microsoft Office宏恶意软件模板,实质上为一段VBA恶意代码,主要功能是提取Excel表格中保存的数据转为可执行程序,释放到指定目录中并运行。因此,该工具的使用必须与具备恶意载荷的Excel表格相结合,才能完成一个恶意文档的制作,进而攻击者可利用该恶意文档实现对目标的鱼叉式钓鱼攻击。
表 4-2样本标签
当文档被打开时,执行下面的函数:
图4-5文档打开时执行的相关函数
writeOutHeader的功能是读取Excel中保存的数据,生成恶意程序DisplayMon.exe。
图4-6 writeOutHeader函数代码
writeOutFooter的功能是读取Excel中保存的数据,生成文件DismCore.dll。
图4-7 writeOutFooter
DoStuff的功能是通过WMI服务运行恶意程序DisplayMon.exe,再进一步调用DLL文件执行。
图4-8 DoStuff
为遏制事件可能发生的次生影响,FireEye提供了包括HASH列表、漏洞编号和YARA等格式的扩展规则,用于服务其全球客户。安天CERT对部分相关规则进行了小规模白名单集合误报率测试,发现了一些问题。
表 5-1误报样本详情
经安天分析人员判定,针对规则“APT_Backdoor_Win_DShell_2”和“APT_Backdoor_Win_GoRat_Memory”匹配的大部分样本,不属于DShell后门和GoRat(意为Go语言编写的远程控制工具)。
其中名为“APT_Backdoor_Win_DShell_2”的规则,用于检测DShell后门,但在测试结果中发现该规则匹配到D语言的编译工具和库管理文件。目前来看该规则提取自D语言编译工具rdmd,规则提取不够严谨,安天分析人员在一个百万级的白名单集合测试中,其规则命中的多个文件经人工分析大部分为正常文件。所以该条规则如果不结合场景信息使用,可能会导致误判正常文件的情况。
图 5-1 “APT_Backdoor_Win_DShell_2” 规则
名为“APT_Backdoor_Win_GoRat_Memory”规则,其原意应该是检测运行于Windows平台的GoRat样本,但在测试结果中,该规则误报了一个Android平台下的视频播放器程序。由于该规则对各字符串的匹配条件采用“or”(“或”)的方式,匹配其中的部分字符串即报警,导致该条规则误报率很高。
图 5-2 “APT_Backdoor_Win_GoRat_Memory”规则
从规则匹配的样本在VT中的检测结果看,主流的安全厂商在应对此次FireEye失窃事件时,并未盲目采用FireEye提供的检测规则。
目前,安天全线产品包含安天智甲终端防御系统(IEP)、安天探海威胁检测系统(PTD)、安天追影威胁分析系统(PTA)均能有效检出相关工具。安天威胁情报客户,亦可以通过安天威胁情报综合分析平台(ATID)查询相关工具的关联信息。安天CERT会持续跟进该事件最新情况与动态,持续公开针对泄露工具的分析与评估。
红队工具合计60款,清单信息如下表所示:
表6-1 FireEye红队失窃工具功能清单
[1]《FireEye红队工具失窃事件分析和思考》
[2]《Welcome to ThreatPursuit VM: A Threat Intelligence and Hunting Virtual Machine》
[3]《国外研究人员公布出的针对规则碰撞的哈希》