近日,知名网络安全公司FireEye和软件厂商SolarWinds先后被(同一)APT组织入侵,不但导致FireEye的红队工具“核泄露”,同时还通过SolarWinds软件供应链影响全球数万大型企业(包括FireEye),超过九成财富500强企业安装了木马化软件,在全球掀起轩然大波。
由于“日爆攻击”(SUNBURST)采用了前所未见的全新攻击方法和技术,企业界和网络安全界正密切关注、跟踪和分析此次攻击相关的技术、战术和程序(TTP)。
以下,是网络安全公司Picus Labs用MITER ATT&CK框架映射了SolarWinds事件中攻击者使用的策略、技术和流程,以了解其攻击方法、漏洞影响和缓解方法,研究发现攻击者动用了超过20个ATT&CK战术,以下对其中十种重要战术进行分析。
主要发现
- 这是一场全球性的攻击活动,始于2020年3月,目前正在进行中;
- 攻击活动有可能影响全球成千上万的公共和私人组织;
- 攻击始于软件供应链攻击;
- 威胁参与者对SolarWinds Orion Platform软件的一个组件进行了木马化,该木马组件被FireEye称为SUNBURST(日爆攻击);
- 该软件的木马版本是通过其自动更新机制分发的;
- 攻击者大量使用各种防御规避技术,例如伪装、代码签名、混淆的文件或信息、删除主机上的indicator,以及虚拟化/沙盒规避;
- 攻击者利用了十种不同的MITER ATT&CK战术,包括横向移动、命令和控制以及数据泄露;
- 攻击中使用的技术表明攻击者拥有高超技能。
针对SolarWinds的攻击中使用的战术,技术和程序(映射到MITER ATT&CK框架)本次分析使用MITER ATT&CK 8.1框架。所引用的攻击策略和技术,请参阅企业版ATT&CK 8.1
(https://attack.mitre.org/techniques/enterprise/)。
1. 资源开发
T1587.001开发功能:恶意软件
攻击者会在攻击受害者之前开发恶意软件和恶意软件组件,例如有效载荷、投放程序(dropper)、后门和入侵后期工具。攻击者可能会从头开发全新的恶意软件,也可以使用公开可用的工具。
在SolarWinds事件中,攻击者将其恶意载荷嵌入到SolarWinds Orion Platform软件的合法组件——DLL库SolarWinds.Orion.Core.BusinessLayer.dll。FireEye将该DLL文件的后门版本命名为SUNBURST 。所述SUNBURST后门提供不同的有效载荷,例如,以前从未见过的内存专用Dropper(FireEye称之为TEARDROP)。该dropper能够部署臭名昭著的后期攻击工具Cobalt Strike Beacon。显然,攻击者在FireEye漏洞中使用了Beacon,并偷走了FireEye的Red Team工具(其中包括Beacon)。
T1583.003获取基础结构:虚拟专用服务器
在这种MITER ATT&CK技术中,攻击者为攻击活动租用了虚拟专用服务器(VPS)。根据FireEye的研究,攻击者利用VPS使用与受害者同一国家的IP地址。FireEye在nGitHub上提供了两个Yara规则来检测TEARDROP 。
2. 初始访问
T1195.002供应链攻击:入侵软件供应链
在软件供应链攻击技术中,攻击者可以在最终用户获取软件之前对其进行多种修改,包括:
- 源代码
- 源代码存储库(公共或私有)
- 开源依赖的源代码
- 开发和分发系统
- 更新机制
- 开发环境
- 编译后的发行版本
在SolarWinds Orion漏洞中,攻击者通过将恶意代码嵌入到SolarWinds库文件SolarWinds.Orion.Core.BusinessLayer.dll中,向后攻击了Orion Platform软件的三个版本:2019.4 HF 5、2020.2(暂无热修复补丁)和2020.2 HF 1 。尚不清楚攻击者如何篡改此文件。根据微软的研究,攻击者可能已经入侵和篡改了开发或分发系统以嵌入式恶意代码。另一个说法是,攻击者可能使用泄漏的FTP凭据将恶意DLL文件上传到SolarWinds的源代码存储库中。
包含恶意DLL后门文件的SolarWinds Orion Platform软件更新文件是通过其自动更新机制分发的。
作为对策,请检查以下位置是否存在篡改的SolarWinds.Orion.Core.BusinessLayer.dll文件:
%PROGRAMFILES%\SolarWinds\Orion\%WINDIR%\ System32\config\systemprofile\AppData\Local\assembly\tmp \
如果该DLL具有以下SHA256哈希值之一,则它是被篡改的恶意版本:
- 32519b85c0b422e4656de6e6c41878e95fd95026267daab4215ee59c107d6c77
- dab758bf98d9b36fa057a66cd0284737abf89857b73ca89280267ee7caf62f3b
- eb6fab5a2964c5817fb239a7a5079cabca0a00464fb3e07155f28b0a57a2c0ed
- c09040d35630d75dfef0f804f320f8b3d16a481071076918e9b236a321c1ea77
- ac1b2b89e60707a20e9eb1ca480bc3410ead40643b386d624c5d21b47c02917c
- 019085a76ba7126fff22770d71bd901c325fc68ac55aa743327984e89f4b0134
- ce77d116a074dab7a22a0fd4f2c1ab475f16eec42e1ded3c0b0aa8211fe858d6
- a25cadd48d70f6ea0c4a241d99c5241269e6faccb4054e62d16784640f8e53bc
然后,使用最新的防病毒产品扫描上述文件夹,并运行EDR以检测被恶意篡改的SolarWinds文件及其(潜在)异常行为。
3. 执行
T1569.002系统服务:服务执行
在该MITER ATT&CK技术中,对手将恶意软件作为Windows服务执行。在安装SolarWinds应用程序或更新的过程中,被篡改的DLL文件由合法SolarWinds.BusinessLayerHost.exe或SolarWinds.BusinessLayerHostx64.exe加载并作为Windows服务安装。
4. 驻留
T1543.003创建或修改系统:Windows服务
作为驻留(持久性)的一部分,攻击者可以创建或更改Windows服务以重复执行恶意有效负载。Windows启动时,恶意代码将作为服务启动。修改后的DLL加载的TEARDROP恶意软件将作为服务在后台运行。
5. 特权提升
T1078有效账户
使用这种MITER ATT&CK技术攻击者可以获取并滥用合法凭据来获得初始访问权、驻留、特权提升、防御逃避或横向移动。攻击者在此攻击活动中使用多个有效帐户进行横向移动。
6. 防御逃避
(1) T1553.002破坏信任控制:代码签名
要想绕过应用控制技术,攻击者通过创建、获取或窃取代码签名材料来帮恶意软件获取有效的签名。
在SolarWinds事件中,攻击者破坏了SolarWinds的数字证书。
请移除受损的SolarWinds证书:
- “Signer”:“Solarwinds Worldwide LLC”
- “SignerHash”:“47d92d49e6f7f296260da1af355f941eb25360c4”
(2) T1036.005 伪装:匹配合法名称或位置
作为一种防御规避技术,对手可以通过合法和可信的方式更改其恶意工件的功能。这些功能的一些示例包括代码签名、恶意软件文件的名称和位置,任务和服务的名称。伪装后,攻击者的恶意工件(如恶意软件文件)对用户和安全控件而言都是合法的。
根据FireEye的报告,SolarWinds漏洞的攻击者使用在受害者环境中找到的合法主机名作为其Command and Control(C2)基础结构上的主机名,以避免被检测到。此外,该恶意软件将其C2流量伪装成Orion Improvement Program(OIP)协议。
(3) T1036.003 伪装:重命名系统工具程序
为了避免基于名称的检测,对手可以重命名系统工具程序。此外,攻击者用其替换合法的实用程序,执行其有效负载,然后恢复合法的原始文件。
(4) T1036.004伪装:伪装任务或服务
对手将任务/服务的名称伪装成合法任务/服务的名称,以使其看起来是良性的,从而逃避了检测。攻击者常使用与Windows Task Scheduler(在Linux和Windows中)中运行的合法Windows和Linux系统服务名称类似或一致的服务。
(5) T1497.003虚拟化/沙盒逃避:基于时间的逃避
攻击者采用各种基于时间的规避方法,例如在初始执行时延迟恶意软件的功能,以避免虚拟化和分析环境。在Solarwinds事件中,攻击者在安装后延迟两周内才启动命令和控制通信。
(6) T1027.003 文件或信息混淆:隐写术
在这种MITER ATT&CK技术中,攻击者将数据隐藏在数字媒体中,例如图像、音频、视频和文本来逃避检测。SolarWinds漏洞中使用的TEARDROP恶意软件从文件gracious_truth.jpg中读取了恶意负载。
(7) T1070.004 主机指标移除:文件删除
攻击者删除其恶意文件以清除痕迹,并最大程度地清除攻击痕迹,以逃避检测和检查。远程访问后,攻击者会删除其恶意文件,包括后门。
7. 发现
T1057流程发现
攻击者获取有关系统上正在运行的进程的信息,以了解网络内系统上运行的常见软件和应用程序。攻击者获得流程清单以确定后续行动的流程。
T1012查询注册表
攻击者查询Windows注册表以获取有关系统,配置和已安装软件的信息。攻击者通过查询HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography密钥中的MachineGuid值来获取加密计算机GUID,以为每个受害者生成唯一的用户ID。
8. 横向移动
T1021远程服务
在这种MITER ATT&CK技术中,对手使用有效账户登录远程服务,例如远程桌面协议(RDP)、SSH和VNC。攻击者使用有效帐户和合法的远程访问在目标网络中横向移动。
9. 命令与控制
(1) T1071.001应用层协议:Web协议
根据该技术,攻击者使用应用程序层(L7)协议进行通信,并将“命令与控制”流量与现有的Web流量混合在一起,以避免检测和网络过滤。SolarWinds漏洞中使用的恶意软件利用了:
- 请求数据时的HTTP GET或HEAD请求
- 发送数据时的HTTP PUT或HTTP POST请求。
恶意DLL会调用avsvmcloud.com的远程网络基础结构。阻止该域名并检查网络连接日志。
(2) T1568.002动态解析:域名生成算法
攻击者使用动态域名生成算法(DGAs)动态生成C2域名,而不是依靠静态IP地址或域名列表。此攻击活动中使用的后门使用DGA来确定其C2服务器。
10. 渗透
T1041通过C2通道渗透。这种MITRE ATT&CK技术中,攻击者通过在现有的C2通道来窃取数据。当收集的数据被分发到C2服务器时,攻击者会使用HTTP PUT或HTTP POST请求。如果有效载荷大于10000个字节将使用POST方法。否则,将使用PUT方法。
参考资料:
https://www.picussecurity.com/resource/blog/ttps-used-in-the-solarwinds-breach
【本文是51CTO专栏作者“安全牛”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】