Office文档中宏代码执行和AV规避方法|bypass

Office文档中宏代码执行和AV规避方法|bypass

在准备 VBS AV Evasion Stream/Video 时,我正在研究 Office 宏代码执行方法和杀毒软件绕过技术。

列表越来越长,我发现没有攻击性 VBA 模板的中心位置 – 所以这个 repo 可以用于此类。它离完成还很远。如果您知道任何其他很酷的技术或有用的模板,请随时贡献并创建拉取请求!

这个 repo 中的大多数模板已经在某个地方发布了。我只是从 ms-docs 站点、博客文章或其他工具中复制粘贴了大多数模板。

文件描述
ShellApplication_ShellExecute.vba通过 ShellApplication 对象和 ShellExecute 方法执行 OS 命令
ShellApplication_ShellExecute_privileged.vba通过 ShellApplication 对象和 ShellExecute 方法执行特权操作系统命令 – UAC 提示
Shellcode_CreateThread.vba通过Win32 CreateThread在当前进程中执行shellcode
Shellcode_EnumChildWindowsCallback.vba通过EnumChildWindows在当前进程中执行shellcode
Win32_CreateProcess.vba通过 Win32 CreateProcess 函数创建代码执行的新进程
Win32_ShellExecute.vba通过 Win32 ShellExecute 函数创建代码执行的新进程
WMI_Process_Create.vba通过 WMI 创建新进程用于代码执行
WMI_Process_Create2.vba另一个 WMI 代码执行示例
WscriptShell_Exec.vba通过 WscriptShell 对象和 Exec 方法执行 OS 命令
WscriptShell_run.vba通过 WscriptShell 对象和 Run 方法执行 OS 命令
VBA-RunPE@itm4n在 VBA 中RunPE 技术
GadgetToJScriptmed0x2e 的C# 脚本,用于生成 .NET 序列化小工具,当使用来自基于 JS/VBS/VBA 的脚本的 BinaryFormatter 反序列化时,这些小工具可以触发 .NET 程序集加载/执行。
PPID_Spoof.vbachristophetd 的 欺骗办公室宏副本
AMSIBypass_AmsiScanBuffer_ordinal.vbarmdavy 的 AMSI Bypass 使用序号值绕过签名来修补 AmsiScanBuffer
AMSIBypass_AmsiScanBuffer_Classic.vbarasta-mouse 的经典 AmsiScanBuffer 补丁
AMSIBypass_Heap.vbarmdavy 的 HeapsOfFun 存储库副本
AMSIbypasses.vbaoutflanknl 的 AMSI 绕过博客
COMHijack_DLL_Load.vba通过 COM 劫持加载 DLL
COM_Process_create.vba通过 COM 对象创建进程
下载_Autostart.vba从远程网络服务器下载文件并将其放入 StartUp 文件夹
下载_Autostart_WinAPI.vba通过 URLDownloadtoFileA 从远程网络服务器下载文件并将其放入 StartUp 文件夹
Dropper_Autostart.vba将批处理文件放入启动文件夹
Registry_Persist_wmi.vba通过 WMI 创建用于持久性的启动注册表项
Registry_Persist_wscript.vba通过 wscript 对象为持久性创建启动注册表项
ScheduledTask_Create.vba为代码执行/持久性创建和启动调度任务
XMLDOM_Load_XSL_Process_create.vba从远程 Web 服务器加载 XSL 以执行代码
regsvr32_sct_DownloadExecute.vba执行 regsvr32 下载远程网络服务器 SCT 文件以执行代码
区块ETW.vba修补 ntdll.dll 中的 EtwEventWrite 以阻止 ETW 数据收集
BlockETW_COMPLUS_ETWEnabled_ENV.vba通过COMPLUS_ETWEnabled为0的环境变量,信贷设置为阻止ETW数据收集XPN
ShellWindows_Process_create.vbaShellWindows 进程创建以获取 explorer.exe 作为父进程
AES.vba这里在 VBA 中使用 AES 加密/解密的示例
Dropper_Executable_Autostart.vba从 VBA 获取可执行字节并放入自动启动 – 在这种情况下无需下载
MarauderDrop.vba将 COM 注册的 .NET DLL 放入 temp,导入函数并执行代码 – 在这种情况下,将远程 C# 二进制文件从网络服务器加载到内存并执行 – 归功于@Jean_Maes_1994MaraudersMap
Dropper_Workfolders_lolbas_Execute.vba将嵌入式可执行文件放入 TEMP 目录并使用 C:\windows\system32\Workfolders.exe 作为 LOLBAS 执行它 – 归功于@YoSignals
沙盒规避一些 SandBox Evasion 模板
Evasion Dropper Autostart.vba通过重命名文件夹操作将文件放置到启动目录绕过文件写入监控
Evasion MsiInstallProduct.vba使用 WindowsInstaller ActiveXObject 安装远程 MSI 包,避免产生可疑的 office 子进程,msi 安装将作为 MSIEXEC /V service
StealNetNTLMv2.vba通过共享连接窃取 NetNTLMv2 哈希 – 归功于https://book.hacktricks.xyz/windows/ntlm/places-to-steal-ntlm-creds
Office文档中宏代码执行和AV规避方法|bypass

待办事项

文件描述
脱钩工具.vba在内存中取消挂钩 API 以摆脱挂钩
系统调用.vbaSyscall 使用 – 来自磁盘或 Syswhispers 之类的新鲜
更多.vba如果您有更多想法,请随时贡献

混淆器/payload生成器

  1. VBad
  2. wePWNise
  3. VisualBasicObfuscator – 需要一些修改,因为它不会拆分行,因此不适用于办公文档宏
  4. macro_pack
  5. shellcode2vbscript.py
  6. EvilClippy
  7. OfficePurge
  8. SharpShooter
  9. VBS-Obfuscator-in-Python – – 需要一些修改,因为它不会拆分行,因此不适用于办公文档宏

有用资源

ASR 绕过:blog.sevagas.com/IMG/pdf/bypass_windows_defender_attack_surface_reduction.pdf

Shellcode 到 VBScript 的转换:
github.com/DidierStevens/DidierStevensSuite/blob/master/shellcode2vbscript.py

在 VBA 中绕过 AMSI:
https://outflank.nl/blog/2019/04/17/bypassing-amsi-for-vba/

VBA 清除:
www.mandiant.com/resources/purgalicious-vba-macro-obfuscation-with-vba-purging

F-Secure VBA 规避和检测帖子:
blog.f-secure.com/dechaining-macros-and-evading-edr/

另一个 F-Secure 博客:
labs.f-secure.com/archive/dll-tricks-with-vba-to-improve-offensive-macro-capability/

项目地址:

GitHub:
https://github.com/S3cur3Th1sSh1t/OffensiveVBA

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注