启明星辰ADLab:MSC文件的在野利用情况与黑客攻击活动分析

发布时间 2024-09-14

一、背 景


2024年6月22日,一个利用MSC格式的新型攻击技术的恶意样本出现在VT平台上,此时利用这种技术的恶意样本在VT上均显示为零检测率。这种技术被Elastic研究团队命名为“GrimResource”,其通过恶意构建的MSC文件在Microsoft管理控制台中执行任意代码。启明星辰ADLab在此后的两个月时间中,持续关注使用这种利用手法的攻击,通过监测的结果分析发现:自该技术公开后,同类攻击迅速增加,到目前为止能够监测到的有效攻击及其攻击样本有100多起。并且有越来越多的APT组织、黑产团伙和红队利用该技术在全球范围内进行网络攻击,包括Kimusuky、银狐、海莲花等。目前已发现的目标有中国、韩国、越南、蒙古等国家的政府机构和企业,涉及政府、科技、教育、石油等敏感行业。


这些攻击普遍通过MSC文件作为恶意payload,通过各种方式发送给目标并诱使目标打开该文件。由于MSC格式的攻击文件是一种相对罕见的文件类型(多数被攻击者可能熟悉.exe、.doc等常见的可执行文件扩展名,但并不了解.msc文件,因此可能在实际攻击中产生奇效),并且目前防护系统也鲜有对此类文件的针对性检测,所以黑客利用该技术实现攻击的成功率高,被检测和发现的几率低,就目前我们观察到攻击诱饵,有包含如:“《**论坛》外审专家邀请函与文章评审单”、:“匿名审稿专家回执 (校外) ”、“适用于南海的两种法律制度研究 (稿件)”、“美国战略收缩对中东地缘政治的影响”、“****网络大会”等极具引诱性的攻击,一旦点击其中的MSC文件,其系统便会被植入窃密木马,导致重要敏感数据被窃取。


通过我们对攻击的追溯发现早在2024年4月,Kimusuky APT组织就开始利用MSC文件来对其目标实施了大量的攻击,但其利用手法与GrimResource技术有所不同。由于MSC样本的公开利用和技术演变尚处于发展初期,因此有关攻击样本和手法的变化值得引起持续关注。此外,Outflank于8月13日发文称GrimResource技术源于其武器库,其在攻防演练中被防守方上传到公共沙箱。


MSC(Microsoft Snap-In Control)文件,是微软管理控制台(MMC)用来添加/删除的嵌入式管理单元文件, 由于此类文件能够执行命令和脚本,因此攻击者能够借助MSC文件在目标系统上执行各类恶意任务。自微软默认限制来自互联网的Office宏文档后,LNK、MSI、ISO等其他类型的恶意利用数量就开始大幅增加,此次新出现的GrimResource技术也理所当然成为了黑客们的新宠,相关MSC样本数量自4月以来呈高速增长态势。因此,启明星辰ADLab针对近期捕获到的MSC样本进行了深入的分析,本文将主要介绍目前MSC文件在野利用技术的相关原理,披露近期利用MSC文件的多起攻击活动,并重点针对其中的两个案例进行深入分析。

二、近期在野攻击活动分析



通过对目前收集到的100余个MSC样本的分析,我们发现最早的利用样本出现在2024年4月5日,所有样本中,出现在4-5月的攻击样本主要属于Kimusuky组织。6月后,随着GrimResource技术的公开,MSC格式的样本数量以月为单位呈明显的递增关系,表明黑客们正积极利用和测试相关攻击技术并转化为实际攻击。以下是近几个月捕获到的MSC格式的攻击样本数量图。


图片1.png

图1 MSC攻击样本数量统计图(单位:月)


在这批攻击样本中,其中一些是基于开源项目编译的样本(如下图中图标为“眼睛”的样本即为开源项目MSC_Dropper生成),这类样本可能是部分攻击者正在积极地进行技术准备和免杀测试。同时,一些真实的攻击活动也越来越频繁地出现,在实际攻击中样本通常会把图标伪装成WORD、PDF、MP4等各类常见的文件格式用以迷惑受害目标,下图是部分样本及图标示例。


图片2.png

图2 捕获MSC样本示例


从中我们发现了数起针对全球多个国家和地区的攻击活动,目标主要包括中国、韩国、越南、蒙古等,攻击的目标行业则涉及政府、科技、教育、石油等敏感行业。其中,针对中国的APT攻击活动在近期开始明显增多。在7月初期,有关攻击主要以“易翻译助手”、”抖音千粉企业号”、“教育行业数据”等为诱饵的黑产组织攻击为主。而在8月之后,开始陆续出现了多起以政治议题、专家邀请、会议日程、投诉建议、举报材料等针对政府组织或科研部门的针对性攻击,需要引起高度警惕,部分诱饵文档如下所示。


图片3.png

图3 主题为“专家邀请函”类的诱饵文档


图片4.png

图4 主题为“政策制度研究”类的诱饵文档


图片5.png

图5 主题为“****网络大会”的诱饵文档


图片6.png

图6 针对水利署的诱饵文档


除了针对中国以外,韩国、越南、蒙古等多国也接连遭遇到利用MSC文件的攻击活动,其中尤以韩国遭受的攻击最多,这可能与kimsuky组织的攻击目标倾向有关,部分攻击活动诱饵如下所示。


图片7.png

图7 针对韩国的诱饵文档


图片8.png

图8 针对越南石油公司的诱饵文档


在针对这批样本进行深入分析后,我们发现了攻击者使用的多个基础设施,包括多阶段下载服务器和C2服务器等,其中大部分都采用了云服务来干扰溯源追踪,其中一些服务器归属于美国、日本、瑞典、法国、新加坡等国家。部分样本及C2服务器如下所示。


表1 恶意服务器地址

表1-1.png

表1-2.png


同时,我们也捕获到了部分样本的投递URL地址如下表所示。


表2 样本投递URL

表2-1.png

表2-2.png


三、MSC文件利用技术原理分析


MSC(Microsoft Snap-In Control)文件,是微软管理控制台(MMC)用来添加/删除的嵌入式管理单元文件, 管理员通过创建控制台可以管理计算机的各种设置,添加各类功能如用户账户管理、系统服务、设备驱动程序等,然后可以将这些管理单元的自定义配置以XML的形式保存到磁盘上,即MSC格式。Windows中常见的设备管理器、磁盘管理器、组策略管理器等都是MSC格式文件。如下图是自定义MSC文件的管理单元任务板界面,攻击者可以通过编程的方式与MMC进行交互,从而构造自定义的界面和内容。


图片9.png

图9 MSC文件管理单元任务板


我们在进一步针对这批样本分析后,发现目前MSC格式文件的在野利用方式主要有两种。在受害者默认开启用户账户控制(UAC)的情况下,第一种利用方式需要与受害者交互两次(主要由Kimusuky组织使用);另一种只需交互一次(GrimResource技术),相关技术利用流程图如下所示。

图片10.png

图10 MSC文件技术利用流程图


利用方式一:在受害者打开MSC文件后,首先弹出UAC控制选项,如果选择是,则继续弹出攻击者定制的Microsoft管理控制台界面诱导目标,一旦受害者继续点击open打开文档即会中招,执行cmd命令、powershell脚本等后续利用阶段。

图片11.png

图11 利用方式一


对于此类样本,攻击者通过编辑MSC文件的界面伪造UI外观,从而诱骗受害者点击控制台任务板上的链接,而不会产生怀疑。这种利用方式借助了MMC中的控制台任务板实施攻击,控制台任务板是在MMC1.2中引入的,攻击者可以借助控制台任务板来执行各类任务,例如打开属性页、执行菜单命令、运行命令行和打开网页等,目前主要发现Kimsuky组织在大量使用此类攻击方式,相关利用样本的最早出现时间是在今年4月5日,利用示例如下图所示。

图片12.png

图12 控制台任务板执行任意命令示例


图片13.png

图13 任务板执行任意命令XML


利用方式二:GrimResource技术,该技术利用apds.dll中的XSS漏洞,通过MSC文件的StringTable部分引用易受攻击的APDS资源,从而实现嵌入在MSC文件中的JS代码任意执行,最后执行XML中的脚本代码。相较于利用方式一,其具有最少的安全警告,无疑能够使得攻击的成功率大大提高。同时,对于很多为了方便而默认取消UAC通知的受害者来说更是能达到无交互即可执行的效果。
技术利用关键点:


  • 将ActiveX对象加载到“ActiveX控件”管理单元中。

  • 将HTML文件加载到“链接到Web地址”管理单元中。

  • 在HTML文件中,使用JavaScript与加载的ActiveX对象进行交互。并通过 MSXML方法,触发XSL转换来执行JScript代码。

  • 最后从JScript代码中调用系统函数,或者通过 DotNetToJScript 执行.NET代码。


首先,在MMC程序中,攻击者可以自定义插入ActiveX控件。通过文件编辑器打开创建的MSC文件时,可以看到创建的ActiveX控件存储在XML的StringTable中。


图片14.png

图14 插入ActiveX控件对象


但如果想成功加载对象,就要绕过ActiveX 控件的安全警告。攻击者采用了一种巧妙的方法,通过Microsoft Internet Explorer浏览器组件访问external 对象,从而与MMC控制台的其他元素进行交互,这是微软官方支持的一种方式。如下图中,scopeNamespace和docObject即是通过external.Document获取现有对象,而非创建新的ActiveX对象,进而绕过了直接创建ActiveX控件时的安全限制。


图片15.png

图15 GrimResource技术利用代码


同时,攻击者利用了apds.dll的一个XSS漏洞,从而可以执行Console Root中的Jscript,进而再执行XML中的脚本。这其中还涉及到一个技巧,即利用MSXML(Microsoft.XMLDOM / {2933BF90-7B36-11D2-B20E-00C04F983E60} )执行XSL文件中嵌入的脚本。

XSLT是一种用于将XML文档转换为其他文档格式的语言,XSLT样式表(XSL)则定义了如何将一个XML文档转换为其他形式。微软支持MSXML XSLT使用元素及其属性implements-prefix实现并扩展函数以提供脚本级支持。因此,攻击者通过MSXML的方式即可执行XSL文件中嵌入的脚本,如调用函数 XML.transformNode(xsl),即可执行嵌入的脚本及后续的恶意利用模块,解码脚本中的标签如下图所示。


图片16.png

图16 脚本中的



四、案例分析


启明星辰ADLab接连捕获到了多起利用MSC文件针对全球目标的攻击活动。其中已发现针对中国、韩国、越南、蒙古等国家的政府机构和企业的攻击,越来越多的APT组织、黑产团伙和红队正在利用相关技术在全球范围内进行网络攻击,包括Kimusuky、银狐、海莲花等。在诸多的攻击案例中,我们选取了在技术层面较有代表性且相对敏感的两类攻击样本作为此次的分析案例,利用GrimResource技术针对中国的攻击活动,以及Kimsuky组织利用MMC控制台任务板针对韩国的最新攻击活动。下面我们将对选取的两个案例进行深入的分析。


4.1 以政治话题为诱饵针对中国的攻击活动


此案例利用的是GrimResource技术,当受害者点击运行msc文件时,mmc.exe会执行样本中的js代码,继而执行嵌入在xml中的VBScript代码。其中,引致VBA代码的执行的关键点是transforNode(xsl)方法的调用。


图片17.png

图17 引致VBA代码执行的关键点


transforNode方法常用于将一个XML文档通过XSLT样式表(作为参数)转换为其他文档格式。如果XSLT样式表中含有元素时,那么元素中的脚本则会在转换过程中被执行。


图片18.png

图18 XSLT样式表内容


被执行的VBScript代码通过自定义编码和解码、字符串拼接、特殊字符混合编码等混淆技术,能够有效地隐藏其真实逻辑和恶意行为,同时增加了分析人员进行逆向分析的时间成本。下图展示了在首次解码之后的部分代码块,能够看到代码中依然存在着其他混淆。


图片19.png

图19 混淆的VBScript代码


我们继续对代码进行去混淆以及函数重命名处理后,可以看到脚本先是设置文件路径和目录结构,再从XML结构中提取数据进行base64解码并保存为指定文件(诱饵文档),最后打开该文件。


图片20.png

图20 释放诱饵文档


在本案例中,用于迷惑受害者的是三个伪装成Word的诱饵MSC文件,具体内容如下图所示。


图片21.png

图21 诱饵文档示例一


图片22.png

图22 诱饵文档示例二


图片23.png

图23 诱饵文档示例三


接着提取和解码其他base64数据,再将解码后的数据保存为最终的Warp.exe和7z.dll可执行文件。随后将“ t 8.8.8.8”作为参数(自动加载同目录下“7z.dll”的所需条件)启动Warp.exe程序。


图片24.png

图24 生成并执行warp.exe程序


经查看,“Warp.exe”具有 “Lenovo (Beijing) Co., Ltd.”的合法数字签名,其原文件名为“7zwrap.exe”。具体信息如下图所示。


图片25.png

图25 “Warp.exe”详细信息


当恶意“7z.dll”文件被“Wrap.exe”成功加载后,其会在内存中对指定数据进行解密。经内存特征扫描后,判定最终被加载执行的是CobaltStrike,我们提取出的CS配置信息如下图所示。



图片26.png

图26 CS配置信息


4.2 以学术演讲为诱饵针对韩国的攻击活动


该案例是Kimsuky APT黑客组织在今年所引入的一种新的攻击策略,攻击者通过XML的设置属性将MSC恶意文件的图标设置为Word图标,借以伪装成WORD文档来迷惑受害者。


图片27.png

图27 伪装的Word图标


当受害者点击MSC文件时,用户账户控制(UAC)会弹出请求权限选择,如果选[是],则会通过执行msc连接程序mmc.exe,展示攻击者定制的名为“강면의뢰서.docx”的Microsoft管理控制台界面。具体如下图所示。


图片28.png

图28 “강면의뢰서.docx”的Microsoft管理控制台界面


代码中包含一段cmd参数命令行,其中使用了三个网页浏览器可识别的HTML特殊符号,其所对应的解析内容如下表所示。


表3 特殊符号内容解析

表3.png


图片29.png

图29 含有特殊符号的cmd参数命令行内容


通过该符号所对应的解析进行替换后,得到了如下图所示的批处理命令。该串批处理命令则是执行MSC后的管理控制台根任务窗口的命令行参数。该段命令的主要功能是从指定URL下载名为“Grieco Kavanagh Passive Supporters.docx”的用于伪装的诱饵文档,以及后续阶段的“pest.exe”和“pest.exe.manifest”文件。除此之外,其还会创建一个名为“TemporaryClearStatesesf”的计划任务,每58分钟执行一次“%appdata%\pest.exe”文件。内容如下图所示。


图片30.png

图30 cmd参数命令行内容


查看“pest.exe”程序详细信息,发现该程序的数字签名名称为“Adersoft”,原始文件名为“launcher.exe”。该程序为VBSEdit(由Adersoft公司出品的一款小巧而强悍的VBScript编辑工具)脚本启动器。


图片31.png

图31 “pest.exe”程序详细信息


在“pest.exe”程序启动时,会默认加载“pest.exe.manifest”文件,. manifest文件是Windows应用程序清单文件的一部分,常用于指定应用程序的运行时条件和环境变量等。攻击者利用此程序的运行机制将恶意代码写入至清单文件中,那么当“pest.exe”程序运行时恶意代码便可被自动加载执行。


图片32.png

图32 “pest.exe”程序执行报错


 “pest.exe.manifest”文件内容是XML格式,恶意代码包含在“”标签之间。该文件的主要功能是由一段经base64编码的VBScript代码来实现。部分代码如下图所示。


图片33.png

图33 base64编码的VBScript代码


解码后我们可以看到,恶意代码首先会判断"%appdata%\ Microsoft \"目录下是否存在“sim.sid”文件。若存在且小于9字节,则删除该文件并退出脚本;否则,将“sim.sid”移动至”%appdata%\Microsoft\sif.bat"并运行bat文件,执行完成后删除自身文件。


图片34.png

图34 bat文件操作代码


如果“sim.sid”文件不存在,则向指定的Google drive链接发送HTTP请求,并获取响应内容。


图片35.png

图35 向Google drive共享链接发送请求


成功获取后,从接收到的内容中提取base64编码的数据(在"pprbstart--"和"--pprbend"标签之间),最后替换特殊字符并将解码后的数据写入至”%appdata%\Microsoft\sif.bat"。


图片36.png

图36 解析响应内容


截止分析时该Google drive共享链接已失效,暂时无法获取到后续阶段的攻击样本,分析至此结束。


五、总 结


本文针对我们近期捕获到的一系列基于新型MSC文件的攻击活动进行了分析,重点介绍了目前MSC文件在野使用的两种利用技术原理,披露近期利用MSC文件的多起敏感攻击活动,并针对其中的两个案例进行了深入分析。从近几个月MSC文件相关攻击的活跃趋势来看,攻击活动涉及到越来越多的APT组织、黑产组织以及红队等,尤其是近期针对政治、科技、教育、石油等领域的APT攻击开始显著增多,需要引起相关政企和个人用户的重点关注。


同时,MSC文件的公开利用和技术演变尚处于发展初期,尽管目前只是发现了两种在野利用方式,但MMC本身存在不少安全隐患,未来随着更多攻防研究人员的深入挖掘,可能会出现更多基于MSC或是其它Windows组件的新型恶意利用技术,启明星辰ADLab也将持续追踪相关技术的发展演进,及时披露有关威胁活动。


启明星辰积极防御实验室(ADLab)


ADLab成立于1999年,是中国安全行业最早成立的攻防技术研究实验室之一,微软MAPP计划核心成员,“黑雀攻击”概念首推者。截至目前,ADLab已通过 CNVD/CNNVD/NVDB/CVE累计发布安全漏洞5000余个,持续保持国际网络安全领域一流水准。实验室研究方向涵盖基础安全研究、数据安全研究、5G安全研究、人工智能安全研究、移动安全研究、物联网安全研究、车联网安全研究、工控安全研究、信创安全研究、云安全研究、无线安全研究、高级威胁研究、攻防体系建设。研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。



adlab.jpg