Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
MaldocTrace — Analizador defensivo de macros de Office en Go: extrae VBA, lo desofusca y lo emula en un sandbox totalmente simulado para recuperar comandos, PowerShell, shellcode y payloads depositados sin ejecutar la muestra. | Kitploit
Herramientas/GitHubGitHub/debugactiveprocess/maldoctrace
Herramientas DefensivasAnálisis EstáticoAnálisis Dinámico (Sandboxing)Análisis de VulnerabilidadesAnálisis de CódigoIngeniería InversaAnálisis ForenseFuzzingAnálisis de Malware

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
GitHubdebugactiveprocess/maldoctrace

MaldocTrace

Analizador defensivo de macros de Office en Go: extrae VBA, lo desofusca y lo emula en un sandbox totalmente simulado para recuperar comandos, PowerShell, shellcode y payloads depositados sin ejecutar la muestra.

Ver Repositorio
1hace 5h 16mAún no revisado
Compartir

MaldocTrace

MaldocTrace es un analizador defensivo para documentos de Office maliciosos, escrito en Go. Extrae macros de VBA y de Excel 4.0 (XLM), reconstruye cadenas ofuscadas y emula las macros en un entorno totalmente simulado. La salida informa de lo que el documento haría: los comandos que ejecutaría, las cargas útiles que decodificaría y los archivos que dejaría caer. Todo ello está respaldado por evidencia que señala el módulo, procedimiento y línea (u hoja y celda) que lo produjo.

También se cubren los documentos sin macros. La inyección de plantillas remotas, los campos DDE, los objetos OLE vinculados e incrustados (incluidos los exploits de Equation Editor en RTF), las imágenes señuelo con hipervínculo y el VBA stomping se reportan como hallazgos estáticos.


Características

  • Extracción de contenedores: OLE/CFB (.doc, .xls, .ppt), OOXML (.docx, .docm, .xlsx, .xlsm, .pptm), RTF y texto VBA sin procesar. Incluye descompresión MS-OVBA, propiedades de controles UserForm y límites de recursos contra bombas zip y contenedores malformados.
  • Macros de Excel 4.0 (XLM):
    • hojas de macros de .xls (fórmulas BIFF8 descompiladas a partir de tokens analizados, usando las tablas de funciones MS-XLS) y .xlsm, incluidas hojas ocultas y muy ocultas;
    • un intérprete XLM que comienza en Auto_Open (cualquier nombre que Excel ejecutaría). Sigue GOTO, RUN, IF, WHILE/FOR/NEXT, ON.TIME y RETURN, y aplica FORMULA/FORMULA.FILL/SET.VALUE/SET.NAME, de modo que las macros autodescodificadoras reconstruyen su código real;
    • EXEC, CALL, REGISTER y alias simulados (URLDownloadToFileA, ShellExecuteA, WinExec, CreateProcessA) y FOPEN/FWRITE. Las sondas anti-sandbox (GET.WORKSPACE, GET.WINDOW, GET.CELL) obtienen respuestas plausibles, marcadas como simuladas;
    • las fórmulas escritas en tiempo de ejecución se listan como la macro desofuscada.
  • Hallazgos estáticos (no se necesita emulación):
    • inyección de plantilla remota (attachedTemplate, RTF \*\template);
    • objetos OLE externos, incluidos los monikers MHTML (CVE-2021-40444) y ms-msdt (Follina);
    • campos DDE/DDEAUTO (incluidos los codificados con QUOTE) y fórmulas y vínculos DDE de Excel;
    • objetos incrustados en RTF decodificados tal como los lee Word (\objdata ofuscado, cabeceras OLE1 corruptas), con detección de exploits de Equation Editor: el desbordamiento MTEF FONT (CVE-2017-11882 / CVE-2018-0802) y el desbordamiento MATRIX (CVE-2018-0798), además de la extracción de los bytes que siguen;
    • hipervínculos en imágenes y celdas, y señuelos de códigos QR;
    • VBA stomping: los literales de cadena compilados en el p-code pero ausentes del código fuente significan que el código fuente mostrado no es el código que ejecuta Office. Esos literales se reportan y se escanean en busca de indicadores.
  • Lugares donde se ocultan payloads: los valores de celda (Sheets("x").Range("A1"), Cells(r, c)), las propiedades del documento (BuiltInDocumentProperties("Comments"), propiedades personalizadas), las variables del documento (ActiveDocument.Variables) y los controles UserForm (TextBox.Text, Label.Caption) están todos disponibles para la macro emulada.
  • Texto del cuerpo del documento: extraído de Word 97-2003 (tabla de piezas) y .docx. Los droppers suelen ocultar su payload en el cuerpo del documento y leerlo de vuelta mediante ActiveDocument.Paragraphs(n).Range.Text.
  • Intérprete VBA: un lexer, un parser y un intérprete acotado que cubre el subconjunto de VBA del que depende el malware: procedimientos, parámetros ByRef, argumentos con nombre, compilación condicional, bucles, arrays y las funciones integradas de cadenas.
  • Desofuscación estática: plegado de constantes de Chr/StrReverse/Replace/concatenación. Cada valor registra cómo se reconstruyó (concatenation+Chr, StrReverse, ...).
  • Entorno simulado:
    • procesos: WScript.Shell, Shell, WMI Win32_Process.Create (tanto GetObject como CreateObject("winmgmts:..."))
    • archivos y red: FileSystemObject, ADODB.Stream, XMLHTTP/WinHttp
    • motores de script: MSScriptControl.ScriptControl
    • modelo de documento de Word: Paragraphs, Range, Delete, SaveAs2
    • modelo de objetos de Excel (Sheets, Worksheets, Range, Cells, Offset), compartido con el motor XLM, y ExecuteExcel4Macro/Application.Run hacia hojas de macros
    • APIs de Windows declaradas, con punteros VarPtr simulados
  • Recuperación de payloads:
    • decodificación de -EncodedCommand de PowerShell, con plegado estático de concatenaciones 'ht'+'tp' antes de extraer las URL
    • búferes de shellcode UTF-7 pasados a MultiByteToWideChar(CP_UTF7)
    • certutil -decode, reproducido sobre un sistema de archivos virtual construido a partir de lo que escribió la macro
    • scripts pasados a ScriptControl.AddCode, reportados como payloads de script en lugar de líneas de comando
    • identificación de PE/ZIP/OLE/PDF a partir de las cabeceras de archivo
  • Procedencia en todas partes: los comandos, payloads e indicadores llevan IDs de evidencia (event-3, command-1, payload-1) y ubicaciones de origen. Las vistas secundarias se refieren a un elemento por su ID en lugar de repetir grandes blobs.
  • Robusto frente a entradas hostiles: cada etapa del pipeline se recupera de los panics y registra el fallo como un diagnóstico. Por lo tanto, una muestra defectuosa nunca interrumpe la ejecución de un lote. El pipeline de VBA y los analizadores de contenedores se someten a fuzzing.

Descarga

Los binarios precompilados para Windows, Linux y macOS (x64 y ARM64) están en la página de Releases, junto con las sumas de verificación SHA-256. Las notas de cada versión provienen de CHANGELOG.md.

Compilación

Requiere Go 1.23+.

go build -o maldocTrace ./cmd/maldoctrace

En Windows:

go build -o maldocTrace.exe ./cmd/maldoctrace

Uso

maldocTrace inspect <file>
maldocTrace extract <file> --out <dir> [--force]
maldocTrace analyze <file> [--format json|text|jsonl] [--timeout 30s] [--max-steps N]
                           [--input-format vba] [--show-strings] [--dump-payloads DIR]
maldocTrace analyze <dir> --recursive [--format jsonl] [--workers N]
maldocTrace version
OpciónDescripción
--format textInforme legible por humanos (predeterminado).
--format jsonInforme JSON completo y versionado (esquema 1.3.0). Siempre incluye indicadores, diagnósticos, cadenas decodificadas y contenido completo del payload.
--format jsonlUn informe JSON por línea, para análisis por lotes con --recursive.
--show-stringsSolo formato de texto. Enumera las cadenas reconstruidas, deduplicadas, con cada aparición de módulo/procedimiento/línea y el método de reconstrucción.
--dump-payloads DIREscribe los payloads decodificados y los archivos depositados por la macro en DIR/<input-sha256>/, con un manifest.json. Los archivos reciben extensiones neutras (.bin, .txt), de modo que nada pueda ejecutarse con un doble clic. Los archivos existentes nunca se sobrescriben.
--input-format vbaAnaliza un archivo VBA de texto plano.
--timeout, --max-stepsPresupuesto de tiempo por archivo y presupuesto de pasos del intérprete.

Códigos de salida: 0 éxito (incluso cuando la muestra es maliciosa), 1 error de análisis o interno, 2 error de uso.


Ejemplos

Los cuatro informes siguientes provienen de documentos maliciosos reales y muestran las principales rutas de recuperación. Los blobs largos se acortan con …. Los valores completos están en la salida JSON.

1. Cargador de shellcode UTF-7 (MultiByteToWideChar → EnumUILanguages)

Descargar herramienta