• 我们在哪一颗星上见过 ,以至如此相互思念 ;我们在哪一颗星上相互思念过,以至如此相互深爱
  • 我们在哪一颗星上分别 ,以至如此相互辉映 ;我们在哪一颗星上入睡 ,以至如此唤醒黎明
  • 认识世界 克服困难 洞悉所有 贴近生活 寻找珍爱 感受彼此

红:在 Excel 中执行远程 VBA 脚本

红蓝对抗 云涯 2年前 (2022-09-15) 921次浏览

这种技术很有趣,它有点类似于 Microsoft Word 中的“远程模板”技术

该技术基本上是通过插入一个名为“customUI.xml”的 XML 文件将自定义 UI 功能添加到 Excel 文档中。自定义 UI 是 Microsoft 设计的一项功能,用于允许对 Microsoft Office 文档进行 UI 自定义,并且它已被攻击者滥用来创建特制的 XLSX 文件,以最少的用户交互实现代码执行。

为了将“customUI.xml”文件添加到合法的 XLSX 文件中,将使用名为“ Microsoft Office 的自定义 UI 编辑器”的工具。此工具由 Microsoft 创建,但目前不再受他们支持。

下载并启动“Microsoft Office 自定义 UI 编辑器”后,您将看到如下 UI:

然后,您可以单击“打开”并选择要修改的 XLSX Excel 文件

接下来,您可以右键单击打开的文件并选择“Office 2007 自定义 UI 部件”:

然后,您可以在 UI 的右侧插入一个特制的 XML。XML 由链接到 XLS 文件的远程 URL 及其 VBA 函数组成。

现在您可以单击“保存”按钮来保存文件并通过单击“验证”按钮来验证语法。

准备一个包含vba得xls的文件

完成上述所有步骤后,您现在就可以执行“demo.xlsx”文件了。执行后,您将看到两条警告消息:

单击“启用”和“启用宏”后,将执行 VBA 脚本

新下载的XLS文件会临时存放在“C:\Users\<当前用户>\AppData\Local\Microsoft\Windows\INetCache\Content.MSO”中

最初这种技术没有警告信息。但是,微软在 2021 年 11 月修补了这个漏洞(CVE-2021-42292),现在它会弹出如上所示的警告消息。

如果您因为弹出警告消息而不喜欢上述用法,您仍然可以将自定义 UI 功能用于其他规避技术。
例如,您可以使用“onLoad”触发器在 Excel 中调用 VBA 函数,而无需使用“WorkbookOpen”和“Auto_Open”函数。
为此,创建一个新的 XLSM 并在 VBA 编辑器的“ThisWorkbook”下的 XLSM 文件中添加 VBA 脚本
启动“Microsoft Office 自定义 UI 编辑器”,打开新创建的 XLSM,添加“Office 2007 自定义 UI 部件”
在右侧插入精心制作的 XML
保存上述 XML 并打开 XLSM 文件。单击“启用内容”按钮后,您的 VBA 脚本将立即执行
使用上述方法,您可以避免使用可能会被安全产品大量检查的经典“Workbook_Open”功能。
除了“On Load”的用法外,您还可以在自定义 UI XML 中插入其他命令触发函数(例如 FileSave),以仅在单击 Excel 中的某些功能按钮时触发 VBA 脚本的执行,以实现沙盒规避。
<customUI xmlns=”http://schemas.microsoft.com/office/2006/01/customui”&gt;
<commands>
<command idMso=”FileSave” onAction=”ThisWorkbook.test” />
</commands>
</customUI>

对于 VBA 部分,您可以添加以下 VBA 回调过程以满足“onAction”函数的参数要求:

Sub test(control As IRibbonControl, ByRef CancelDefault)
Call MsgBox(“netero1010”)
End Sub

通过上述设置,VBA 脚本将在单击“保存”按钮时执行。

 

参考

https://www.netero1010-securitylab.com/evasion/execution-of-remote-vba-script-in-excel

https://www.trellix.com/en-gb/about/newsroom/stories/threat-labs/prime-ministers-office-compromised.html

 


云涯历险记 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:红:在 Excel 中执行远程 VBA 脚本
喜欢 (0)