​ SolarWinds供应链攻击:Raindrop恶意软件分析

admin 2021年1月27日03:13:30评论53 views字数 5574阅读18分34秒阅读模式

概述

Broadcom(博通)的子公司Symantec(赛门铁克)发现并命名了SolarWinds攻击中使用的另一种恶意软件 “Raindrop”,该恶意软件用于针对攻击者感兴趣的特定受害者。

Raindrop是继Sunspot、Sunburst(微软:Solorigate)和Teardrop之后在SolarWinds供应链攻击中发现的第4种恶意软件。该恶意软件仅在入侵的最后阶段使用,且仅部署在目标较少的网络上。

​ SolarWinds供应链攻击:Raindrop恶意软件分析


Raindrop (Backdoor.Raindrop)是一个loader,可提供Cobalt Strike的Payload,该恶意软件与之前FireEye发现并命名的“Teardrop”功能非常相似,但两者之间有一些关键的区别。

Teardrop是由初始Sunburst后门(Backdoor.Sunburst)交付的,而Raindrop也出现在找到Sunburst的系统上,且似乎已被用于在受害者的网络中传播。但迄今为止,Symantec尚未发现Sunburst直接交付Raindrop的证据。

 

 

Raindrop攻击

众所周知,Sunburst是2020年7月上旬在一个受害者的计算机中发现的,其通过SolarWinds Orion更新安装,有两台计算机遭到了入侵。

第二天,攻击者在其中一台计算机上安装了Teardrop。该计算机上被发现一个活动目录查询工具,以及一个专门为SolarWinds Orion数据库设计的凭证转储程序,该凭证转储程序与开源的Solarflare工具相似但不同。

11天后,在第三台受害计算机上(之前未观察到任何恶意活动),以bproxy.dll的名称安装了以前未见过的Raindrop的副本。这台计算机正在运行计算机访问和管理软件,攻击者可以利用该软件访问受感染组织中的任何一台计算机。

一个小时后,Raindrop恶意软件安装了一个名为“ 7z.dll”的文件,我们无法检索该文件。但是,在几个小时内,一个合法版本的7zip 被用于将目录服务内部文件(DSInternals)的副本提取到计算机上。DSInternals是一个合法工具,可用于查询Active Directory服务器和检索数据,其通常是密码、密钥或密码哈希。

随后,攻击者在这台电脑上又安装了一个名为mc_store.exe的工具,该工具是一个未知的PyInstaller打包应用程序,但在这台计算机上未观察到进一步的活动。

以下是Raindrop受害者时间的示例:


 

​ SolarWinds供应链攻击:Raindrop恶意软件分析

在另一个Raindrop 恶意软件受害者的计算机中,该恶意软件于5月底被安装在一个名为astdrvx64.dll的文件中。6月初,攻击者在该计算机上执行PowerShell命令,试图在同组织中的其它计算机上感染Raindrop。

"Invoke-Command -ComputerName REDACTED -ScriptBlock {rundll32c:PackagesPluginsMicrosoft.Powershell.DSC2.77.0.0binTelemetryStatus.dllTk_CreateItemType}"

 

"Invoke-WMIMethod win32_process -name create -argumentlist'rundll32 c:windowsSpeech_OneCoreEnginesTTSen-USenUS.Media.dllTkChangeEventWindow' -ComputerName REDACTED"

 

在Raindrop的第三个受害者中提取的CobaltStrike实例没有基于HTTP的命令和控制服务器,而是配置为通过SMB使用网络管道(\.pipeprotected_storage[REDACTED])通信。在这种情况下,受害计算机可能无法直接访问Internet,因此命令和控制通过本地网络上的另一台计算机进行转发。

 

 

Raindrop技术分析

Raindrop与Teardrop相似,因为两种恶意软件都充当Cobalt Strike Beacon的loader。不同的是,Raindrop 使用自定义的packer来包装 Cobalt Strike,该packer与Teardrop使用的packer不同。

Raindrop 被编译成 DLL,它是修改 7-Zip 源代码建立的。7-Zip代码未使用,旨在隐藏攻击者添加的恶意功能,当DLL被编译后,导出目录表的名称文件为"7-zip.dll",导出名称为:

DllCanUnloadNow

DllGetClassObject

DllRegisterServer

DllUnregisterServer

 

并随机抽取以下内容中的一项:

Tk_DistanceToTextLayout

Tk_GetScrollInfoObj

Tk_MainLoop

XGetGeometry

 

其使用的导出名称似乎与Tcl/Tk项目使用的名称重叠,详情参考:

https://github.com/tcltk/tk/blob/main/generic/tk.decls

https://github.com/tcltk/tk/blob/main/generic/tkInt.decls

 

自定义packer

每当加载DLL时,它就会从DllMain子程序启动一个新的线程,来执行恶意代码。这个恶意线程会执行以下操作:

  • 计算以延迟执行。这并不影响计算机功能。

  • 找到嵌入在合法7-Zip机器代码中的编码后Payload的起始点。

 

为了找到编码后Payload的起始点,packer使用隐写术,从子程序的开头开始扫描字节,并跳过所有字节,直到下列代表有关操作码(opcodes)的字节首次出现:

.data:0000000180053008 opcodes         db 5, 0Dh, 15h, 1Dh, 25h, 2Dh, 35h,3Dh, 0B8h

然后,该恶意软件将执行以下操作:

  1. 提取编码后的Payload。(包括从预先确定的位置复制数据,这些位置恰好对应相关机器指令的立即值。)

  2. 对提取的Payload进行解密。(在CBC模式下使用AES算法。)

  3. 对解密后的Payload进行解压。(使用LZMA算法。)

  4. 对解压后的Payload进行解密。(与字节密钥的简单XOR,因此不会影响压缩率。)

  5. 将解密后的Payload作为shellcode执行。

 

 

Raindrop Teardrop

尽管Raindrop与Teardrop非常相似,但这些工具之间存在一些差异。如之前所述,Raindrop使用其它packer。它们使用的packer在以下方面有所不同:

 

类别

TEARDROP

RAINDROP

Payload格式

PE格式的自定义,重用功能。可以通过自动转换将打包程序与一系列作为PE DLL提供的不同Payload一起重用。

仅Shellcode。

Payload嵌入

数据部分的二进制Blob。

隐写术,存储在机器代码中的预定位置。

Payload加密

visualDecrypt与使用长密钥的XOR相结合。

减压前的AES层; 解压缩后使用一个字节密钥分离XOR层。

Payload压缩

没有。

LZMA。

OBFUSCATION(混淆)

读取JPEG文件。插入垃圾代码块,有些可以使用多态引擎生成。

非功能代码延迟执行。

导出名称

导出名称有所不同,在某些情况下,名称与Tcl/Tk项目重叠。

导出名称与Tcl/Tk项目重叠。

被盗代码

来自预先存在的第三方组件的机器代码的字节副本。原始代码仅以编译格式分发。

重新编译的第三方源代码。

 

虽然这两个恶意软件系列都是为了部署Cobalt Strike Beacon而设计的,但Cobalt Strike的配置存在差异。到目前为止,Symantec已经发现了4个Raindrop样本。在三种情况下,CobaltStrike被配置为使用HTTPS作为通信协议,在第四个中,它被配置为使用SMB Named Pipe(SMB命名管道)作为通信协议。

 

使用HTTPS通信的三个Raindrop样本都遵循以前在一个Teardrop样本(b820e8a2057112d0ed73bd7995201dbed79a79e13c79d4bdad81a22f12387e07)中观察到类似的配置模式。主要的相似点如下:

TEARDROP

SHA256  b820e8a2057112d0ed73bd7995201dbed79a79e13c79d4bdad81a22f12387e07

URLs    https(://)infinitysoftwares(.)com/files/information_055.pdf

https(://)infinitysoftwares(.)com/wp-admin/new_file.php

POST FORM   name="uploaded_1";filename="33139.pdf"Content-Type: text/plain

 

RAINDROP

SHA256  be9dbbec6937dfe0a652c0603d4972ba354e83c06b8397d6555fd1847da36725

URLs    https(://)bigtopweb(.)com/files/page_306.pdf

https(://)bigtopweb(.)com/wp-admin/admin-ajax.php

POST FORM   name="uploaded_1";filename="84921.pdf"Content-Type: text/plain

 

RAINDROP

SHA256  f2d38a29f6727f4ade62d88d8a68de0d52a0695930b8c92437a2f9e4de92e418

URLs    https(://)panhardware(.)com/files/documentation_076.pdf

https(://)panhardware(.)com/wp-admin/new_file.php

POST FORM   name="uploaded_1";filename="18824.pdf"Content-Type: text/plain

 

上述所有域名都使用通用注册器NameSilo、LLC,除了panhardware[.]com(目前处于sinkholed),其它域名都有共同的域名服务器:

ns1.dnsowl.com

ns2.dnsowl.com

ns3.dnsowl.com

 

总结

Raindrop的发现是我们调查SolarWinds攻击的重要一步,因为它可以进一步洞悉攻击者感兴趣的组织的攻击后活动。Teardrop是在被初始Sunburst木马感染的计算机上活动,而Raindrop则出现在网络的其它地方,被攻击者用来横向移动并在其它计算机上部署Payload。

 

 

保护和缓解

在计算机上部署Symantec Endpoint或其它终端防护产品,来检测并阻止与这些攻击相关的工具。

基于文件的保护

Backdoor.Raindrop

Backdoor.Teardrop

Backdoor.Sunburst

Backdoor.Sunburst!gen1

Backdoor.SuperNova

 

基于网络的保护

System Infected: Sunburst Malware Activity

 

 

YARA规则

​ SolarWinds供应链攻击:Raindrop恶意软件分析

​ SolarWinds供应链攻击:Raindrop恶意软件分析


Yara规则下载链接:

https://github.com/Symantec/raindrop/blob/main/raindrop.yara

 

IOC


SHA256

描述

f2d38a29f6727f4ade62d88d8a68de0d52a0695930b8c92437a2f9e4de92e418

astdrvx64.dll &  sddc.dll (Raindrop)

be9dbbec6937dfe0a652c0603d4972ba354e83c06b8397d6555fd1847da36725

bproxy.dll (Raindrop)

955609cf0b4ea38b409d523a0f675d8404fee55c458ad079b4031e02433fdbf3

cbs.dll (Raindrop)

N/A

Telemetry.Settings.dll (类似Raindrop)

N/A

enUS.Media.dll (类似 Raindrop)

N/A

TelemetryStatus.dll (类似 Raindrop)

240ef5b8392b8c7a5a025c36a7e5b0e03e5bb0d0d1a28703bb22e6159a4fd10e

mc_store.exe (未知)

f2d38a29f6727f4ade62d88d8a68de0d52a0695930b8c92437a2f9e4de92e418

panhardware[.]com

955609cf0b4ea38b409d523a0f675d8404fee55c458ad079b4031e02433fdbf3

\.pipeprotected_storage[REDACTED]

be9dbbec6937dfe0a652c0603d4972ba354e83c06b8397d6555fd1847da36725

bigtopweb[.]com

 

 

原文链接:

https://symantec-enterprise-blogs.security.com/blogs/threat-intelligence/solarwinds-raindrop-malware

 

本文始发于微信公众号(维他命安全):​ SolarWinds供应链攻击:Raindrop恶意软件分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年1月27日03:13:30
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   ​ SolarWinds供应链攻击:Raindrop恶意软件分析https://cn-sec.com/archives/255297.html

发表评论

匿名网友 填写信息