导语:本文讲解如何滥用SettingContent-ms释放基于DeepLink和Icon tag的payload。
微软的SettingContent-ms是最近的一个热点。7月的时候,研究人员就发现有垃圾邮件活动利用嵌入在PDF文件中的恶意SettingContent-ms释放远程访问木马FlawedAmmyy,主要攻击亚洲和欧洲地区的银行。
概览
SettingContent-ms是新添加到微软软件中的,最早是Windows 10中引入的。其中的内容是XML格式的,一般含有Windows函数的设置内容,比如更新进程、打开某文件类型的默认应用设置等。该文件最常被用做打开Windows控制面板的快捷方式。
图1. SettingContent-ms文件扩展和图标
图2. SettingContent DeepLink标签的使用方式
垃圾邮件活动中也有关于7月发布的SettingContent-ms文件的POC研究。研究和垃圾邮件活动都发现用恶意内容替换DeepLink tag下的命令行可以造成滥用。最初,微软是从研究人员处了解到该问题,但并不认为这是一个操作系统漏洞。但8月微软发布了解决该问题的补丁: CVE-2018-8414。
图3.通过DeepLink tag形成的恶意命令行
图3就是SettingContent-ms被滥用的一个示例。DeepLink tag下的恶意命令行可以执行PowerShell脚本来从恶意站点下载和执行payload。深入分析这些滥用方法后发现了这项技术的缺陷。单独使用DeepLink也有一些不利:
优势
· 易于实现
· 文件大小较小,不易被怀疑
劣势
· 最大只接受517个字符
· 命令执行技术有限制,比如:
· Command Prompt
· PowerShell
· MSHTA
· Certutil
· Bitsadmin
· WMI
基于此,研究人员进一步分析了其他可以使用SettingContent-ms的技术。之前有研究人员就提出可以用Icon标签来进行恶意用途。为了验证该技术是否有效,研究人员用DeepLink和Icon一些来安装payload,创建POC。
基于DeepLink + Icon的Payload
在恶意场景中,DeepLink tag必须含有能够激活Icon tag(主payload)的命令行。POC中,研究人员在Icon tag中放入和混淆后的脚本,如图4所示。
图4. DeepLink触发Icon tag
图5. Icon tag中的恶意PowerShell脚本(反混淆后的)
研究人员测试了基于Icon的长、复杂、混淆后的脚本payload能否工作,测试证明可以工作。PoC中Icon tag中的PowerShell脚本可以成功下载恶意软件ANDROM/GAMARUE。
即使这样操作,文件图标也看似是空白的,如图1所示,也就是说不管Icon tag中的内容是什么图标都是空白的。
虽然这项技术未来可能会成为威胁,但也会有一些优势和不利:
优势是:
· 易于实现;
· Icon接收的字符是无限制的;
· 也不局限于简单的命令执行,可以应用不同的脚本技术,比如ReflectivePEInjection、后门等。
劣势是:
· 文件大小较普通文件大,很容易会被标记为suspicious(可疑的)。