庖丁解牛:SolarWinds供应链攻击事件还原及技术分析 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

庖丁解牛:SolarWinds供应链攻击事件还原及技术分析

丁牛科技 技术 2021-04-13 17:47:20
355067
收藏

导语:2020年12月,全球多家网络安全公司发布报告,声称SolarWinds公司旗下Orion平台遭到黑客入侵

2020年12月,全球多家网络安全公司发布报告,声称SolarWinds公司旗下Orion平台遭到黑客入侵。该次入侵一是影响范围广,33,000余名Orion客户有一多半都安装了带后门的Orion软件,其中不乏美国重要政府部门及各知名企业;二是隐蔽性持久性好,攻击者使用ATT&CK上的持久术等技术使得攻击“隐身”,更不易被发现;三是引入了强大的“Red team”平台,此渗透测试平台在以往的攻击中也有集成应用,极具代表性。此次攻击被各大媒体称为近十年来最复杂、最持久的攻击之一。丁牛网安实验室高度关注相关情况和技术方法,归纳总结Fireeye、Symantec等公司相关报告并对所涉及的具备代表性的渗透测试平台进行实验,具体整理分析如下:

一、背景情况

SolarWinds Inc.是一家美国软件开发公司,拥有庞大的客户群体,囊括几乎所有美国500强企业和美国国务院、商务部、财政部等重要政府机构。Orion是SolarWinds旗下的平台型软件,主要用于帮助企业管理网络、系统和信息技术基础设施,是一个强大的、可扩展的基础架构监视和管理平台。

2020年12月,知名网络安全公司Fireeye发布报告称Orion平台遭到黑客组织入侵,并详细分析了该次攻击的技术方法和波及范围。随后,赛门铁克等安全公司跟进报告,分析了其各个攻击阶段的技术特点。

该次攻击一个显著特点是,在第二阶段使用的恶意软件是为了引出第三阶段定制的Cobalt Strike工具。Cobalt Strike是一套功能齐全的渗透测试工具,由Raphael Mudge于2012年创建,是第一批公开的“Red Team”C&C框架之一,于2020年被HelpSystems正式收购,成为许多美国政府,大型企业和咨询组织的首选“Red Team”平台。

二、攻击阶段

根据目前权威报告情况,此次攻击可分为三个阶段:

image.png

图1 攻击阶段

第一阶段

Sunspot:攻击者使用Sunspot将Sunburst后门插入到SolarWinds Orion IT管理平台的软件版本中,用Sunburst代码替换源代码;

Sunburst:一旦安装了Sunburst后门,Sunspot就会持续监视Orion build操作并劫持它,以通过Sunburst后门将其他恶意代码插入Orion库中。这样,攻击者就将恶意代码插入了Orion版本更新程序包中,分发给成千上万的客户。

第二阶段

TEARDROP&RAINDROP的角色主要为Cobalt Strike的loader。下表是对两个恶意软件的对比情况:

表1 TEARDROPRAINDROP对比

image.png

截止2021年1月18日,赛门铁克发现了4个RAINDROP样本。前三个与TEARDROP类似,Cobalt Strike被配置为使用HTTPS作为通信协议;第四个使用SMB作为通信协议。

第三阶段

攻击者使用Cobalt Strike进行攻击,每个implant在每台机器上都是唯一的。

三、Cobalt Stike工具分析

Cobalt Strike详细功能如图2所示。

image.png

图2 Cobalt Strike Features

本次攻击中,使用到了该工具的Covert Communication功能模块。Malleable C2 profile是一个简单的程序,指定如何传输数据并将数据嵌入通信中,后续对应提取恢复数据方式。Cobalt Strike Linux版包括一个c2lint程序,检查通信配置文件方法。可先检查配置文件,然后将其加载到Cobalt Strike中。

1.HTTP/HTTPS Beacon

一个HTTP用例,客户端可以发送Base64编码的请求,服务器响应HTTP GET,内容为二进制blob编码的任务,如图3所示。在后续通信过程中,客户端发送任务执行信息,服务器做任意回复,此时,客户端并不使用服务器回复的信息。同时,也提供了http-post、http-strager等方式来对信息进行处理。

image.png

图3 A Beacon HTTP Transaction Walk-through

Self-signed Certificates with SSL Beacon

Malleable C2 profiles可以为Beacon C2服务器self-signed SSL certificate指定参数,如通用名称、组织名称等信息。

image.png

Valid SSL Certificates with SSL Beacon

可以为Beacon选择一个有效的 SSL 证书,使用Malleable C2 profile为密钥库指定一个keystore file和一个password。密钥库包含签名私钥、根证书、中间证书及域证书(SSL证书供应商提供)。Java Keystore file与Malleable C2 profile在一个文件夹中。

image.png

2.SMB Beacon

SMB Beacon使用named pipe与父Beacon进行交流,Windows将named pipe封装在SMB协议中,因此叫SMB Beacon。

特点如下:这种对等通信对同一台主机上的 Beacon 和跨网络的 Beacon 都有效;需要使用link [host] [pipe]进行SMB Beacon的连接;具有SMB Beacon的主机必须接受445端口的连接;只能连接由同一个Cobalt Strike管理的Beacon;断开连接使用unlink [ip address] [session PID](要取消链接的Beacon的进程ID);断开链接不会消失,会进入等待状态。

3.DNS Beacons

DNS Beacons是Cobalt Strike一项很棒的功能, DNS 请求发送到由攻击者搭建的MANS(Malicious Authoritative Name Server)作为权威 DNS 服务器进行解析,DNS 应答告诉Beacon 休眠/连接到服务器下载任务/如何从服务器下载任务。只有在有任务时,DNS Beacon才会check in。使用信标的mode命令更改当前信标的数据通道。

四、Cobalt Strike实验复现

1.HTTP Beacon实验

服务器端运行“sudo ./teamserver ip 密码”,在主控端创建一个HTTP listen(选择其中http选项),此时,服务器端显示增加了一个Listener,如图4所示。

image.png

图4 C2服务器端监听状态

在主控端选择Attack,创建一个Windows Executable,如图5所示。

image.png

图5 Windows上创建的可执行载荷

将此Executable放到目标主机上运行,即可在主控端界面上显示上线,如图6所示。

image.png

图6 受害主机上线

与此同时,在受害(目标)主机上运行Wireshark,抓到了其发出的GET流量(图7上)。同时也发现了鲁大师之类的软件也在获取用户信息,如图7下。

image.png

image.png

图7 受害主机流量

2.DNS Beacon实验

与上述实验类似,在服务器上运行服务端程序,在主控端创建一个DNS Listen。同样,在主控端生成一个用于攻击的载荷,此次,生成一个powershell,如图8所示。

image.png

图8 Powershell Delivery

切换到目标主机,在目标主机上运行该powershell。在主控端上即可显示上线,如图9所示。既然受害主机已经被控制,运行getuid命令,即可传回命令的执行结果。

image.png

图9 受害主机受控并回传信息

同时,也可以获取指定目录下的文件。使用ls命令,可以获得受害设备上的文件列表,如图10所示。选择其中一个文件,例如“give.bat”,对其进行回传。

image.png

图10 受害设备文件列表

在主控端输入“download 文件名”命令让受害设备回传文件,如图11所示,后续显示complete即回传完成。

image.png

图11 命令受害设备回传文件

此时,查看服务器download列表,可以发现刚刚受害主机回传的文件,如图12。内容与图13受害设备上该文件情况一致,验证确实回传成功。

image.png

图12 服务器接收到回传文件

image.png

图13 受害设备上该文件情况

与此同时,在受害设备上抓取流量,查看流量情况。可以发现在整个过程中受害设备发送的流量情况,如图14所示。

image.png

图14 受害设备发出的流量

通过实验抓取流量发现,使用Cobalt Strike 3开源版本生成Windows exe在受害设备上运行后,可以在主控端报活,但并不发出DNS流量;生成powershell在受害设备上运行后,运行结果回传会有DNS流量产生。通过查看官网发现,Cobalt4.0版本才是DNS-Only,在版本3中可能还有一部分使用HTTP通信。同时,在实验过程中,输入命令时可能需要几次才能成功,文件、命令传输较慢,在另一方面也证明,其具备良好的隐蔽性。

五、攻击隐身术

1.Teardrop—Transition from Solorigate (Sunburst) to Cobalt Strike

攻击者显然认为强大的SolarWinds后门价值不菲,为了防止被发现,他们尽可能将Cobalt Strike 的执行与SolarWinds进程分开。如图15所示,大多数通信都会采用1步骤,进行DNS通信,但并不活跃。随后进行2步骤,产生以现有文件/服务命名的VBScript及Teardrop,此处的Teardrop的用处是作为一个Cobalt Strike loader存在。步骤3,使SolarWinds进程为进程dllhost.exe创建映像文件执行选项(IFEO)注册表值,通过此步骤,来实现“隐身”目的,这是用于持久性的MITRE ATT&CK中的技术。创建注册表值后,攻击者只需等待偶尔执行dllhost.exe(这可能在系统上自然发生)。此执行将触发wscript.exe的进程启动,该进程的wscript.exe配置为VBScript文件。VBScript依次运行rundll32.exe,使用干净的父/子进程树(与SolarWinds进程完全断开连接)激活Cobalt Strike。

image.png

图15 Transition from Sunburst to Cobalt Strike

2.Raindrop—使用7-Zip隐藏Raindrop

7-Zip是目前最普及的开源压缩程序,主要用在Microsoft Windows操作系统,Linux与FreeBSD下面有移植版本p7zip可以使用。主要的竞争对手是WinZip以及WinRAR。为了隐藏恶意功能,攻击者使用7-ZIP源代码的修改版将Raindrop编译为DLL文件(7-ZIP.dll)。7-ZIP仅用作掩护,没有以任何方式使用。

参考文献:

1.Highly Evasive Attacker Leverages SolarWinds Supply Chain to Compromise Multiple Global Victims With SUNBURST Backdoor,https://www.fireeye.com/blog/threat-research/2020/12/evasive-attacker-leverages-solarwinds-supply-chain-compromises-with-sunburst-backdoor.html,2020.

2.Raindrop: New Malware Discovered in SolarWinds Investigation,https://symantec-enterprise-blogs.security.com/blogs/threat-intelligence/solarwinds-raindrop-malware,2021.

3.Deep dive into the Solorigate second-stage activation: From SUNBURST to TEARDROP and Raindrop,https://www.microsoft.com/security/blog/2021/01/20/deep-dive-into-the-solorigate-second-stage-activation-from-sunburst-to-teardrop-and-raindrop/,2021.

4.Cobalt Strike,https://www.cobaltstrike.com/,2021.

5.SolarWinds hackers used 7-Zip code to hide Raindrop Cobalt Strike loader,https://www.bleepingcomputer.com/news/security/solarwinds-hackers-used-7-zip-code-to-hide-raindrop-cobalt-strike-loader/,2021.

6.SolarWinds: The more we learn, the worse it looks,https://www.zdnet.com/article/solarwinds-the-more-we-learn-the-worse-it-looks/,2020.

如若转载,请注明原文地址
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务