【天穹】GrimResource来袭!看天穹沙箱精准检出MSC样本

一、概述

近期,天穹团队在日常狩猎活动中发现了一个MSC格式的样本,该样本利用了一种被称为GrimResource的攻击技术,当用户点击样本后,就会触发mmc.exe执行msc内嵌的JavaScript代码。这种攻击方式在今年6月份才被Elastic Security首次公布,市面上的许多沙箱还无法分析此类样本。天穹沙箱不同凡响,具备强大的样本分析能力,针对msc格式的文件也可以有效分析。接下来,我们结合天穹沙箱分析报告,深度剖析此类样本的攻击手法。

二、样本基本信息

  • 样本名:1c5fdc9e8c7106b88ce0aeda1dca55bb.msc
  • SHA1:4b3ff2be83035a7e20ac4cecf45247aa82fdb985
  • 文件类型:MSC
  • 文件大小:1.86 MB
  • C2: https[:]//77.221.152.139[:]443/js/zutool_weatherpoint_bundle.js
  • 报告链接:样本分析报告

三、样本分析

1、利用原理

GrimResource的关键点在于利用apds.dll中的一个基于DOM的XSS漏洞,该漏洞允许攻击者在MSC文件的StringTable部分引用易受攻击的APDS资源,实现任意JS代码执行。该样本利用GrimResource执行JS代码等一些列行为,目的是为了执行CobaltStrike Beacon连接C2,同时为了迷惑用户,打开了一个前端文档来掩盖后台的恶意行为,流程图如图1所示。

图1 样本攻击流程

使用编辑器打开该MSC样本文件,可以看到样本通过构造特殊URL:res://apds.dll/redirect.html?target=javascript:eval(external.Document.ScopeNamespace.GetRoot().Name)去执行<String ID="10" Refs="2">内的JS代码,如图2所示。

图2 apds.dll XSS漏洞

解码后的JS代码内容如图3所示,最终调用XML.loadXML执行混淆的VBScript代码。

图3 JS代码

解码后的VBScript代码仍参杂混淆,如图4所示,下面我们将结合沙箱报告分析代码功能。

图4 执行经过混淆的VBScript代码

2、沙箱分析

打开沙箱分析报告,在样本详细信息的EXIT信息中可以看到mmc.exe的图标指向了WORDICON.EXE,因此在资源管理器中该文件以文档图标显示,用于诱骗用户点击查看,如图5、6所示。

图5 指向图标文件
图6 样本图标

在动态行为类目中可以看到mmc.exe解析了敏感地址:res://apds.dll/redirect.html?target=javascript:eval(external.Document.ScopeNamespace.GetRoot().Name),如图7所示。

图7 解析敏感地址

随后,mmc.exe执行JS代码,释放一个名为美国战略收缩对中东地缘政治的影响(稿件).docx%TEMP%目录,并调用文档工具打开它,试图将自身伪装为一个真实的文档文件,如图8所示。在报告的运行过程截图部分也可以看到样本打开的文档截图。

图8 释放并打开文档

除此之外,mmc.exe还释放了两个可执行文件Warp.exe7z.dllC:\Profram Files\Cloudflare目录,如图9所示:

图9 释放可执行文件

释放完成后,mmc.exe启动Warp.exe可执行文件,启动命令为C:\Program Files\Cloudflare\Warp.exe" t 8.8.8.8,如图10所示。经测试验证,样本使用此命令参数是为了能够加载同级目录的7z.dll文件,直接启动Warp.exe并不会加载7z.dll

图10 创建进程Warp.exe

Warp.exe加载的7z.dll是一个无签名模块,如图11所示,此处利用了DLL侧加载技术执行恶意代码。

图11 DLL侧加载

分析发现,Warp.exe原始文件名为7zwrap.exe,拥有Lenovo公司的合法签名,如图12所示。但在加载DLL时未做模块签名校验,遭攻击者恶意利用。

图12 白程序签名信息

7z.dll加载后会在内存中解密并加载CobaltStrike Beacon,天穹沙箱成功提取到了威胁配置信息,如图13所示。

图13 威胁配置信息

Beacon在执行后使用Host伪装技术连接C2地址并上线,真实C2地址为77[.]221.152.139,如图14所示,报告的联网活动追踪列出了伪装URL和真实URL。

图14 Host伪装连接C2并上线

3、其他沙箱分析结果

我们将该样本的哈希稍作修改后(不会影响其正常运行)投递到其他沙箱,发现一部分沙箱的动态检测失败,说明这些沙箱还尚未适配MSC格式的样本分析功能。考虑到此类样本的高威胁性和隐蔽性,应当立刻引起分析人员的足够重视。

图15 沙箱一动态分析结果
图16 沙箱二分析结果

四、IOC

1
2
3
4
5
6
7
8
恶意文件(SHA1)
4B3FF2BE83035A7E20AC4CECF45247AA82FDB985 1c5fdc9e8c7106b88ce0aeda1dca55bb.msc
6B01BA6292274749DD0945F86DAC1458EF9E5A7B Warp.exe
10E2D7CF1FBEE9682C9485F03698CDCA9D39BA43 7z.dll

恶意链接
https[:]//sz-everstar[.]com/js/zutool_weatherpoint_bundle.js C2地址
https[:]//77.221.152.139:443/js/zutool_weatherpoint_bundle.js C2地址

报告链接:天穹沙箱分析报告

特别注意:

  1. 截止发稿时,示例样本C2地址仍处于存活状态,请务必保持警惕。
  2. 由于7zwrap.exe存在DLL劫持风险,请务必注意包含Wrap.exe7zwarp.exe7z.dll或类似名称的压缩包,或SHA1为6B01BA6292274749DD0945F86DAC1458EF9E5A7B的可执行文件,这很可能是攻击者用于钓鱼的白加黑样本。

五、技术支持与反馈

星图实验室深耕沙箱分析技术多年,致力于让沙箱更好用、更智能。做地表最强的动态分析沙箱,为每个样本分析人员提供便捷易用的分析工具,始终是我们最求的目标。各位同学在使用过程中有任何问题,欢迎联系我们。

天穹沙箱支持模拟14种CPU架构的虚拟机,环境数量50+,全面覆盖PC、服务器、智能终端、IoT设备的主流设备架构形态。在宿主机方面,除了Intel/AMD的x86架构CPU和CentOS操作系统之外,天穹沙箱支持海光、飞腾、鲲鹏等x86、ARM架构国产CPU和银河麒麟、中科方德等信创操作系统。

天穹沙箱系统以云沙箱、引擎输出、数据接口等多种形式服务于公司各个业务部门,包括天眼、终端安全、态势感知、ICG、锡安平台、安服等。