背景
CVE-2021-40444为微软MHTML远程命令执行漏洞,攻击者可通过传播Microsoft Office文档,诱导目标点击文档从而在目标机器上执行任意代码。该漏洞最初的利用思路是使用下载cab并释放、加载inf文件的形式执行恶意代码。独立安全研究员Eduardo B.在github公开了一种新的“无CAB”的漏洞利用方法及其POC。公众号之前发布的研判文章中已对在野利用中出现的新的Cabless利用链以及RAR文件隐藏载荷的巧妙方法进行了分析。本篇将进一步探究该利用链的技术本质,并在复现攻击场景的前提下尝试对利用链进行改进。
基于URL Scheme的Cabless利用链
与基于cab的攻击方式一样,新攻击链依然需要在Office文档中插入恶意htmlfile OLE对象,当目标用户点击文档后会请求访问远程html页面,而html页面中通过ActiveX控件调用".wsf:…/" URL Scheme链接,最终调用wcript.exe执行RAR中嵌入的wsf脚本。
‘.wsf:…/…/…/Downloads/?.wsf’
URL Scheme也叫URL protocol,它的作用是通过链接启动对应的本地程序,格式为[scheme]😕/[host]/[path]?[query]。文件后缀名可同样用作scheme,调用相关文件类型绑定的程序。’?[query]’的存在则可利用URL Scheme与程序在处理路径时不同的行为,达到忽略真实后缀名,绕过扩展名校验的目的。在之前的攻击链中曾使用”.cpl”链接调用系统rundll32.exe程序将inf文件作为cpl文件加载执行。