T1564.007: VBA 踩踏(VBA Stomping)

Stealth

摘要

攻击者可能通过用良性数据替换 VBA 源代码,来隐藏嵌入在 MS Office 文档中的恶意 Visual Basic for Applications(VBA)载荷。(Citation: FireEye VBA stomp Feb 2020) 嵌入 VBA 内容的 MS Office 文档将源代码存储在模块流中。每个模块流都有一个 <code>PerformanceCache</code>,它存储着一份单独的已编译版本的 VBA 源代码,称为 p-code。当 <code>_VBA_PROJECT</code> 流(其中包含 VBA 项目的版本相关描述)中指定的 MS Office 版本与宿主 MS Office 应用程序的版本匹配时,就会执行该 p-code。(Citation: Evil Clippy May 2019)(Citation: Microsoft _VBA_PROJECT Stream) 攻击者可能通过用零、良性代码或随机字节覆盖 VBA 源代码位置,同时保留先前已编译的恶意 p-code,来隐藏恶意 VBA 代码。扫描恶意 VBA 源代码的工具可能会被绕过,因为不需要的代码隐藏在已编译的 p-code 中。如果 VBA 源代码被移除,某些工具甚至可能认为不存在宏。如果 <code>_VBA_PROJECT</code> 流与宿主 MS Office 应用程序之间存在版本匹配,则会执行 p-code;否则,良性的 VBA 源代码将被解压缩并重新编译为 p-code,从而移除恶意 p-code,并可能绕过动态分析。(Citation: Walmart Roberts Oct 2018)(Citation: FireEye VBA stomp Feb 2020)(Citation: pcodedmp Bontchev)

来源归属

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

平台

  • Linux
  • macOS
  • Windows

战术

Stealth

参考来源