以红队视角看FireEye武器泄漏事件

12月8日,美国顶级安全公司FireEye(中文名:火眼)发布一则通告称其内部网络被某个“拥有一流网络攻击能力的国家”所突破。目前,FireEye正在与联邦调查局和包括Microsoft在内的其他主要合作伙伴进行积极的调查合作。

多年来FireEye作为全球领先的网络安全厂商由于其与美国政府千丝万缕的关系,先进的防护产品和其重要的客户群(政府机构、关键基础设施和大型企业)为大众所熟知。这次攻击事件一经公布,立刻引起了安全界的广泛关注。

据参与调查的联邦调查局分析,这次攻击为FireEye量身定制,使用了过去从未见过的新颖技术组合,高度怀疑是由国家资助的攻击者开展的。

根据FireEye自己发布的文章称,攻击者只是访问了某些Red Team评估工具。这些工具模仿了许多网络攻击者的行为,主要为FireEye的客户提供基本的渗透测试服务,并没有包含0day漏洞。此外,攻击者的目的是要寻求与某些政府客户有关的信息,但是没有证据表明,攻击者获取了相关的信息。FireEye 称不确定攻击者是否打算使用这些Red Team工具或公开披露它们。但是,出于谨慎考虑,为了协助防范这些工具被公开的风险,FireEye 已发布识别这些工具的OpenIOC,Yara,Snort和ClamAV检测规则,以尽量减少丢失这些工具的潜在影响。具体规则详见:

https://github.com/fireeye/red_team_tool_countermeasures

绿盟科技M01N安全研究团队,作为长期关注红队技术的研究团队,第一时间根据发布的规则对这些被窃取的红队工具进行了分析。

泄漏工具

  1. 红队工具梳理

对FireEye泄漏的红队工具集的检测规则文件进行了梳理分析,绿盟科技M01N安全研究团队发现所涉及工具包含开源工具、开源工具的二次开发版本以及部分自研武器化工具,基本覆盖了包括持久化、权限提升、防御绕过、凭证获取、域内信息收集、横向移动等攻击生命周期的各个阶段。

FireEye Red Team Toolkit 详细列表(请见文章结尾)

  1. 攻击技术分析
  • 从PowerShell向反射性C#转变,规避端点检测

PowerShell已被攻击组织使用了多年,但随着攻防博弈的不断发展,安全行业的最新防御技术,包括像脚本块日志记录,反恶意软件脚本接口(AMSI)以及第三方安全供应商针对恶意PowerShell活动检测都直接导致了基于PowerShell的Post-Explotation攻击受到诸多限制。之后攻击组织从PowerShell转而向反射性C#逐步进行转变,以图逃避现代安全防御体系。

  • .NET开发贯穿整个攻击生命周期

根据绿盟科技M01N安全研究团队分析,此次FireEye红队泄漏工具,超过90%的工具基于.Net开发,表明FireEye红队也在积极跟进攻击技术发展方向。绿盟科技M01N安全研究团队从开源社区中观察到利用C#开发的工具,例如Seatbelt、SharpUp以及SharpView等开源工具,可以协助红队完成攻击生命周期的各个阶段性任务,但在持久化阶段有所欠缺。FireEye的红队率先对此进行了综合性研究并完成了武器化,于2019年9月对外发布了SharPersist: Windows Persistence Toolkit in C#  FireEye Inc持久化工具集,而该工具也同样是此次事件中的一部分。不仅如此,还可以看到包括SharPivot、SharPsack、SharPY等类似工具。

SharPersist支持多种持久性技术

  • 利用.NET与无文件攻击的良好相容性,构建一系列基于.NET的自研工具

在开发语言向C#转变同时,.NET灵活而强大的语言特性与DLR的引入使其尤其适于无文件攻击的施展。得益于成熟的CLR Hosting技术,.NET程序集可灵活地在内存中加载而无需在本地残留文件。FireEye也无疑顺应着.NET与无文件攻击的良好相容性,构建一系列基于.NET的自研工具,并积极地将所有工具纳入无文件攻击的体系中。即便是.NET体系之外的Win32程序也可通过MATRYOSHKA工具将其转变为shellcode并采用Process Hollowing的方法进行无文件加载。

  •  综合利用了多种开发语言的优势以达到最佳的实战效果

虽然FireEye团队采用.NET作为主要开发语言,但也综合利用了多种开发语言的优势以达到最佳的实战效果。例如使用D语言进行后门的开发(DSHELL)、利用ruby加载shellcode,实现比较好的防御规避效果;使用python与golang实现跨平台的良好兼容性。

  • 包含了大量首次披露的LOLBAS利用方法

值得注意的是占此次披露工具集中很大比例的PGF(PayloadGenerationFramework) 武器家族,包含了大量LOLBAS利用方法,部分执行方法可能为首次披露但还需确认。

  1. 涉及漏洞利用情况

从FireEye公布的信息来看,已被窃取的红队工具中利用了16个已知漏洞(非0day),所涉及对象包括操作系统,企业常用应用软件、网络设备等。经绿盟科技M01N安全研究团队核实确认,这些漏洞均已公开漏洞POC,绝大部分也已有公开的漏洞EXP。侧面推测,这批红队工具中也包含其对漏洞利用的武器化,以辅助完成对企业对红队评估。从红队技术来看,已公开EXP的漏洞在众多大型内部网络中仍然没有完全被修复,利用成功率仍然可观。同时,也看到修复这些漏洞将有效限制红队工具发挥作用。

CVE编号漏洞名称漏洞评级公开漏洞EXP情况
CVE-2014-1812Microsoft   Windows组策略权限提升漏洞已有公开EXP
CVE-2019-0708Microsoft   Windows RDP远程执行漏洞已有公开EXP (无稳定利用)
CVE-2017-11774Microsoft   Outlook 安全功能绕过已有公开EXP
CVE-2018-15961Adobe   ColdFusion 任意文件上传已有公开EXP
CVE-2019-19781Citrix   ADC/Citrix Gateway 远程代码执行已有公开EXP
CVE-2019-3398Confluence 路径穿越漏洞已有公开EXP
CVE-2019-11580Atlassian Crowd   任意文件上传已有公开EXP
CVE-2018-13379Fortigate SSL   VPN 任意文件读取已有公开EXP
CVE-2020-0688Microsoft Exchange Server远程代码执行已有公开EXP
CVE-2019-11510Pulse Secure SSL VPN 任意文件读取已有公开EXP
CVE-2019-0604Microsoft   SharePoint 远程代码执行已有公开EXP
CVE-2020-10189Zoho   ManageEngine Desktop Central远程执行已有公开EXP
CVE-2019-8394Zoho   ManageEngine ServiceDesk Plus 任意文件上传已有公开EXP
CVE-2016-0167Microsoft   Win32k 权限提升漏洞已有公开POC
CVE-2020-1472Microsoft   Netlogon 域内权限提升漏洞已有公开EXP
CVE-2018-8581Microsoft   Exchange Server 权限提升漏洞已有公开EXP

FireEye红队

FireEye在APT情报狩猎及APT组织跟踪方面的能力是世界一流的,虽然此次受到网络攻击,但从泄漏的工具来看也能注意到FireEye在红队方面对一些能力:

  1. 对手仿真技术

红队存在的意义在于模拟真实的高级威胁,模仿对手技术对企业网络进行仿真攻击发现可能存在的安全短板。从泄漏工具可以看出其中有大量类APT的工具、技术和手段,比如在利用Norton等安全产品的签名文件进行持久化,并将其武器化为CobaltStrike的扩展,种种都印证了FireEye红队确实是依靠其高级威胁情报体系展开红队评估工作,包括模拟已知的和未知的威胁。

  • 热点技术

从绿盟科技M01N安全研究团队对工具的整体梳理到所涉及部分技术的分析,不难看出FireEye红队极具国际红队的技术风格,并能把握攻击技术发展的趋势去做创新,工具涉及了近两年比较热门的红队技术,比如CLR Hosting、Gadget2JScript、Process Hollowing等。


仍需警惕工具被暴露及滥用带来的风险

虽然这批工具并未包含0day,从红队角度来看也并没有涉及太多新的技术,大多为现有技术的武器化实现,但这些较为成熟的专业红队工具一旦被暴露出来,极可能被恶意攻击者滥用,导致严重的安全事故。从FireEye急于释放规则的动作来看,这些规则极可能还没有被大规模检测,建议各安全厂商协助企业客户积极防御,防患于未然。

FireEye Red Team Toolkit 详细列表:

工具名称开发语言工具性质功能描述
ADPASSHUNT.NET自研在GPP、Autoruns以及AD对象中窃取AD凭据
ALLTHETHINGS.NET自研可能为武器化过程的实验性测试项目
BEACON 自研对Cobalt Strike的定制化配置和扩展
BELTALOWDA.NET开源SEATBELT工具,从攻击性和防御性安全角度对主机执行安全检查
COREHOUND.NET自研 
DSHELLD语言自研基于D语言开发的后门
DTRIM.NET自研 
DUEDLLIGENCE.NET开源包含稳定的进程注入以及3种DLL加载方法的加载器
EWSRThtml,powershell自研 
EXCAVATOR.NET自研 
FLUFFY.NET自研整合Rubeus工具集来进行一些Kerberos滥用操作
G2JS.NET开源Gadget2JScript,.NET序列化工具,将.NET Assembly转换为可执行的JScript脚本
GETDOMAINPASSWORDPOLICY.NET自研 
GPOHUNT.NET自研域组策略相关的工具
SHARPGENERATOR.NET自研 
SHARPSECTIONINJECTION.NET自研 
IMPACKETOBFpython自研基于python实现了smbexec与wmiexec的工具,并对通信进行了混淆
INVEIGHZERO.NET开源用于网络嗅探与中间人攻击的工具集
WMIRUNNER.NET自研 
JUSTASK.NET自研 
KEEFARCE.NET自研 
KEEPERSIST.NET自研 
LNKSMASHERpython自研链接钓鱼攻击生成框架
LUALOADER.NET自研 
MATRYOSHKAruby,python自研将PE文件转换为shellcode,用process hollowing的方法加载
MEMCOMP.NET自研使用内存中编译技术的加载器
MOFCOMP.NET自研从已知模板中创建的可疑WMI Managed Object Format (MOF)文件
MSBUILDME  (技术)从msbuild.exe创建用户程序
NOAMCI.NET开源利用DInvoke进行Amsi Bypass
PGF.NET自研PGF全称为PayloadGenerationFramework(payload生成框架),包含了一系列无文件执行方法以及利用正常程序侧加载DLL执行恶意代码的方法
SHARPGREP.NET自研 
PREPSHELLCODE.NET自研 
PUPPYHOUND.NET自研由开源的域内信息收集工具SharpHound3修改而来,名称与特征字符串改为PuppyHound
PXELOOT.NET自研帮助发现与利用Windows Deployment Services(WDS)中的配置错误
REDFLAREpython自研未公开的支持Windows/Linux/Mac全平台的C2框架
REDFLARE (Gorat)golang自研使用golang开发的RedFlare受控端RAT
RESUMEPLEASEvba自研 
REVOLVER.NET自研 
SHARPUTILS.NET开源辅助.NET武器化开发的第三方库
RUBEUS.NET开源基于.NET的操作Kerberos的工具集
SAFETYKATZ.NET开源基于.NET的Mimikatz修改版
SHARPERSIST.NET自研集成一系列方法的.NET持久化框架:注册 COM CLISID、热键持久化、服务失败滥用持久化、利用keepass和tortoisesvn等第三方程序
SHARPIVOT.NET自研集成一系列方法的.NET Pivot 框架:计划任务、WMI、RPC、谷歌更新服务劫持、潜在句柄污染(Possible Handler Poisoning)
SHARPSACK.NET自研 
SHARPSCHTASK.NET自研基于.NET的计划任务相关工具
SHARPSTOMP.NET自研基于.NET的文件创建/修改/访问时间戳修改工具
SHARPY.NET自研基于.NET的加载器
SHARPZEROLOGON.NET自研基于.NET的ZEROLOGON漏洞(CVE-2020-1472)利用工具
SINFULOFFICE.NET自研基于.NET的Office文档OLE利用生成器
NETASSEMBLYINJECT.NET自研.NET Assembly注入工具
TITOSPECIAL.NET自研基于.NET的内存dump(凭据获取)工具
TRIMBISHOP.NET自研基于.NET的进程注入工具
NETSHSHELLCODERUNNER.NET自研利用netsh执行shellcode
WEAPONIZE  (待验证)可能是一种未公开的LOLBAS方法,利用TSTHEME.EXE来执行,或可能是进程注入
WILDCHILD.NET自研基于.NET的HTA代码执行器生成工具(支持VBScript与JScript)
WMIRUNNER.NET自研基于.NET的WMI执行工具
WMISHARP.NET自研 
WMISPY.NET自研基于.NET的利用WMI进行信息收集的工具
UNCATEGORIZED/DOHC2.NET,python开源模仿CobaltStrike的DNS beacon的C2框架
UNCATEGORIZED/MODIFIEDSHARPVIEW.NET SharpView脚本,用于完成域内信息收集
UNCATEGORIZED/PRAT.NET  
UNCATEGORIZED/REDTEAMMATERIALS.NET  
UNCATEGORIZED/SHARPDACL.NET  
UNCATEGORIZED/SHARPDNS.NET  
UNCATEGORIZED/SHARPGOPHER.NET  
UNCATEGORIZED/SHARPNATIVEZIPPER.NET  
UNCATEGORIZED/SHARPNFS.NET  
UNCATEGORIZED/SHARPPATCHCHECK.NET  
UNCATEGORIZED/SHARPSQLCLIENT.NET  
UNCATEGORIZED/SHARPTEMPLATE.NET  
UNCATEGORIZED/SHARPWEBCRAWLER.NET  
UNCATEGORIZED/SHARPZIPLIBZIPPER.NET  
UNCATEGORIZED/CredSnatcher.NET  
UNCATEGORIZED/WCMDump.NET  

关于 M01N:

绿盟科技M01N安全研究团队

专注于Red Team技术、APT等高级攻击技术、战术及威胁研究,涉及Web安全、终端安全、AD安全、云安全等多个领域的攻击技术研究。通过研判现网攻击技术发展方向,以攻促防,为风险识别及威胁对抗提供决策支撑,全面提升安全防护能力。

绿盟科技M01N安全研究团队是一个低调的团队,但我们在技术的探索绝不低调,欢迎有相同志趣的小伙伴加入我们,共同研究红队技术,也非常欢迎对红队技术、红队工具研究方向有兴趣的同学联系与交流。

Location: 北京、西安、武汉

Spread the word. Share this post!

Meet The Author

Leave Comment