如何进一步滥用SettingContent-ms投递载荷

一、前言

微软的SettingContent-ms文件已经成为近期的一个热门话题。在7月份,我们看到有个垃圾邮件攻击活动使用了PDF中内嵌的恶意SettingContent-ms文件来释放远程访问木马(RAT)FlawedAmmyy,该恶意软件也是Necurs僵尸网络所使用的RAT。此次攻击活动主要针对的是亚洲和欧洲境内的不同银行机构。

SettingContent-ms是微软软件的新成员,从Windows 10开始首次引入。该文件中的内容采用XML格式(或者语言),正常情况下,这些文件包含Windows功能(比如更新过程以及用来打开特定文件类型的默认应用程序)的一些设置选项。这种文件的最常见用途就是充当老版本Windows控制面板的快捷方式。

图1. SettingContent-ms文件扩展名及图标

 

二、DeepLink标签

图2. SettingContentDeepLink标签的正常用法

除了垃圾邮件攻击活动以外,Specter Ops在7月份还发布了关于微软SettingContent-ms文件的一些概念验证(PoC)研究。研究人员以及攻击者的成果表明,我们通常可以将DeepLink标签下的命令行替换为其他恶意内容,这样就能滥用SettingContent-ms文件。当微软从研究人员处获知这种方法时,他们并不认为这是一个操作系统漏洞。但在2018年8月,微软发布了一个补丁来修复这个问题:CVE-2018-8414

图3. 隐藏在DeepLink标签中的恶意命令行

从图3中我们可以看到如何滥用SettingContent-ms的一个典型样例。在DeepLink标签中的恶意命令行可以执行PowerShell脚本,从恶意站点下载并执行攻击载荷。

进一步分析这种攻击方法后,我们发现这种方法存在一定缺陷。单独使用DeepLink的优缺点如下:

优点:

1、容易部署;

2、文件大小较小(乍一看不容易引起怀疑)。

缺点:

1、最大只能接受517个字符;

2、仅限于某些命令执行技术,比如

命令提示符
PowerShell
MSHTA
Certutil
Bitsadmin
WMI

基于这些信息,我们进一步做了一些研究,探索是否可以使用SettingContent-ms来部署其他技术。之前研究人员提到过可以利用Icon标签来承载恶意载荷。为了验证这种技术是否有效,我们创建了一个SettingContent PoC样本,其中同时使用了DeepLink以及Icon标签来安装载荷。

 

三、Icon标签

在这种恶意场景中,DeepLink标签必须仅包含能够调用Icon标签内容(主载荷)的一个命令行。在PoC例子中,我们将经过大量混淆的一个脚本存放在Icon标签中,如下图所示。

图4. DeepLink调用Icon标签内容

图5. Icon标签中包含的恶意PowerShell脚本(已去混淆处理)

我们测试了这种基于Icon的载荷能否适用于较长的、复杂的或者经过混淆的脚本,事实证明的确如此。在PoC样本Icon标签中的PowerShell脚本来自于之前的某个恶意软件(TROJ_PSINJECT.A),能够下载ANDROM/GAMARUE恶意软件。

即便填充这些数据后,文件的图标貌似不会受到影响(如图1所示),并且我们发现不管往Icon标签写入任何内容,文件图标总是会以空白图标的方式呈现。

如果这种技术在未来可能成为潜在的安全风险,我们认为这种方法也有一些优缺点。

优点

1、易于部署;

2、Icon标签可接受无限长的字符;

3、不限于简单的命令执行,可以用来部署其他脚本技术,如ReflectivePEInjection、后门等等。

缺点

文件大小较大,乍一看容易引起怀疑。

 

四、解决方案

这种技术表明网络犯罪分子可以使用各种工具来部署有效且复杂的载荷。在本文中,我们首先描述了如何利用SettingContent-ms中的DeepLink标签来执行简单的恶意命令,随后我们发现可以通过Icon标签部署更加复杂且更长的载荷。

SettingContent-ms类似,还有许多正常文件可能会被攻击者滥用,因此我们必须继续研究不同的应用,保持对攻击者以及安全威胁的领先地位。

为了防护类似滥用SettingContent-ms的安全威胁,我们需要采用具备行为监控功能的解决方案,可以在恶意载荷在受害者主机上运行之前,识别并阻止这些文件中的恶意命令。

(完)