
Este repositorio cubre algunos métodos de ejecución de código y evasión de antivirus para macros en documentos de Office.
En preparación para un Stream/Video de Evasión AV con VBS, estaba investigando métodos de ejecución de código para Macros de Office y técnicas de evasión.
La lista se hizo cada vez más larga y no encontré un lugar centralizado para plantillas VBA ofensivas, así que este repositorio puede usarse para ello. Está muy lejos de estar completo. Si conoces alguna otra técnica interesante o plantilla útil, ¡siéntete libre de contribuir y crear un pull request!
La mayoría de las plantillas en este repositorio ya fueron publicadas en algún lado. Simplemente copié y pegué la mayoría de las plantillas de sitios ms-docs, publicaciones de blogs o de otras herramientas.
| Archivo | Descripción |
|---|---|
| ShellApplication_ShellExecute.vba | Ejecutar un comando del SO a través del objeto ShellApplication y el método ShellExecute |
| ShellApplication_ShellExecute_privileged.vba | Ejecutar un comando privilegiado del SO a través del objeto ShellApplication y el método ShellExecute - solicitud UAC |
| Shellcode_CreateThread.vba | Ejecutar shellcode en el proceso actual a través de Win32 CreateThread |
| Shellcode_EnumChildWindowsCallback.vba | Ejecutar shellcode en el proceso actual a través de EnumChildWindows |
| Win32_CreateProcess.vba | Crear un nuevo proceso para ejecución de código a través de la función Win32 CreateProcess |
| Win32_ShellExecute.vba | Crear un nuevo proceso para ejecución de código a través de la función Win32 ShellExecute |
| WMI_Process_Create.vba | Crear un nuevo proceso a través de WMI para ejecución de código |
| WMI_Process_Create2.vba | Otro ejemplo de ejecución de código mediante WMI |
| WscriptShell_Exec.vba | Ejecutar un comando del SO a través del objeto WscriptShell y el método Exec |
| WscriptShell_run.vba | Ejecutar un comando del SO a través del objeto WscriptShell y el método Run |
| VBA-RunPE | Técnica RunPE de @itm4n's en VBA |
| GadgetToJScript | Script C# de med0x2e's para generar gadgets serializados .NET que pueden desencadenar carga/ejecución de ensamblados .NET cuando se deserializan usando BinaryFormatter desde scripts basados en JS/VBS/VBA. |
| PPID_Spoof.vba | Copia de spoofing-office-macro de christophetd |
| AMSIBypass_AmsiScanBuffer_ordinal.vba | Bypass de AMSI de rmdavy's para parchear AmsiScanBuffer usando valores ordinales para un bypass de firmas |
| AMSIBypass_AmsiScanBuffer_Classic.vba | Parche clásico de AmsiScanBuffer de rasta-mouse's |
| AMSIBypass_Heap.vba | Copia del repositorio HeapsOfFun de rmdavy's |
| AMSIbypasses.vba | Blog de bypass AMSI de outflanknl's AMSI bypass blog |
| COMHijack_DLL_Load.vba | Cargar DLL mediante secuestro COM |
| COM_Process_create.vba | Crear proceso a través de objeto COM |
| Download_Autostart.vba | Descargar un archivo desde un servidor web remoto y colocarlo en la carpeta de Inicio |
| Download_Autostart_WinAPI.vba | Descargar un archivo desde un servidor web remoto mediante URLDownloadtoFileA y colocarlo en la carpeta de Inicio |
| Dropper_Autostart.vba | Colocar un archivo batch en la carpeta de Inicio |
| Registry_Persist_wmi.vba | Crear clave de registro de Inicio para persistencia mediante WMI |
| Registry_Persist_wscript.vba | Crear clave de registro de Inicio para persistencia mediante objeto wscript |
| ScheduledTask_Create.vba | Crear e iniciar una tarea programada para ejecución de código/persistencia |
| XMLDOM_Load_XSL_Process_create.vba | Cargar XSL desde un servidor web remoto para ejecutar código |
| regsvr32_sct_DownloadExecute.vba | Ejecutar regsvr32 para descargar un archivo SCT de un servidor web remoto para ejecución de código |
| BlockETW.vba | Parchear EtwEventWrite en ntdll.dll para bloquear la recopilación de datos ETW |
| BlockETW_COMPLUS_ETWEnabled_ENV.vba | Bloquear la recopilación de datos ETW estableciendo la variable de entorno COMPLUS_ETWEnabled a 0, crédito a @xpn |
| ShellWindows_Process_create.vba | Creación de proceso ShellWindows para obtener explorer.exe como proceso padre |
| AES.vba | Un ejemplo para usar cifrado/descifrado AES en VBA desde Aquí |
| Dropper_Executable_Autostart.vba | Obtener bytes de un ejecutable desde VBA y colocarlos en Autostart - sin descarga en este caso |
| MarauderDrop.vba | Colocar un DLL .NET registrado COM en temp, importar la función y ejecutar código - en este caso carga un binario C# remoto desde un servidor web a memoria y lo ejecuta - crédito a @Jean_Maes_1994 por MaraudersMap |