Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
msidump — MSI Dump - una herramienta que analiza paquetes de instalación MSI maliciosos, extrae archivos, flujos, datos binarios e incorpora el escáner YARA. | Kitploit
Herramientas/GitHubGitHub/mgeeky/msidump
Análisis EstáticoAnálisis ForenseAnálisis de MalwareAnálisis de Binarios
GitHubmgeeky/msidump

msidump

MSI Dump - una herramienta que analiza paquetes de instalación MSI maliciosos, extrae archivos, flujos, datos binarios e incorpora el escáner YARA.

Ver Repositorio
232204hace 3 añosRevisado por Kitploit

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 →
Sitio web
Compartir

msidump

MSI Dump - una herramienta que analiza paquetes de instalación MSI maliciosos, extrae archivos, flujos, datos binarios e incorpora un escáner YARA.

En documentos de Office con macros, podemos usar rápidamente oletools mraptor para determinar si un documento es malicioso. Si queremos analizarlo más a fondo, podemos recurrir a oletools olevba o oledump.

Para analizar archivos MSI maliciosos, hasta ahora solo teníamos una opción, pero confiable y fiable: lessmsi. Sin embargo, lessmsi no implementa las características que buscaba:

  • triaje rápido
  • Extracción de datos binarios
  • Escaneo con YARA

Por eso aquí entra en juego msidump.

Características

Esta herramienta ayuda tanto en triajes rápidos como en exámenes detallados de corpus de MSI maliciosos. Permite:

  • Determinar rápidamente si un archivo es sospechoso o no.
  • Listar todas las tablas MSI y volcar registros específicos.
  • Extraer datos binarios, todos los archivos de los CAB, scripts de CustomActions.
  • Escanear todos los datos internos y registros con reglas YARA.
  • Usar la deducción de tipo file/MIME para determinar el tipo de datos internos.
  • Fue creado como herramienta complementaria para la publicación del blog que publiqué aquí:

    • MSI Shenanigans. Part 1 - Offensive Capabilities Overview

    Limitaciones

    • El programa aún está en una versión alfa temprana; es probable que las cosas fallen y que la lógica de triaje/parsing cambie.
    • Debido a la fuerte dependencia de esta herramienta de las interfaces Win32 COM WindowsInstaller.Installer, actualmente no es posible dar soporte nativo a Linux. Quizás wine python msidump.py podría ayudar, pero aún no lo he probado.

    Casos de uso

    1. Realizar un triaje rápido de un MSI sospechoso aumentado con una regla YARA:
    root@kitploit:~
    cmd> python msidump.py evil.msi -y rules.yara
    

    1.png

    Aquí podemos ver que el MSI de entrada está inyectado con un VBScript sospechoso y contiene numerosos ejecutables.

    1. Ahora queremos examinar más de cerca este VBScript extrayendo solo ese registro.

    Vemos en la tabla de triaje que estaba presente en la tabla Binary. Vamos a obtenerlo:

    root@kitploit:~
    python msidump.py putty-backdoored.msi -l binary -i UBXtHArj
    

    Podemos especificar qué registro volcar ya sea por su nombre/ID o por su número de índice (aquí sería 7).

    2.png

    Veamos otro ejemplo. Esta vez hay un ejecutable almacenado en la tabla Binary que se ejecutará durante la instalación:

    3.png

    Para extraer ese archivo vamos a usar:

    root@kitploit:~
    python msidump.py evil2.msi -x binary -i lmskBju -O extracted
    

    Donde:

    • -x binary indica extraer el contenido de la tabla Binary.
    • -i lmskBju especifica qué registro exactamente extraer.
    • -O extracted establece el directorio de salida.

    4.png

    Para una mejor experiencia de salida, ejecute la herramienta en una ventana de consola maximizada o redirija la salida a un archivo:

    root@kitploit:~
    python msidump.py [...] -o analysis.log
    

    Uso completo

    root@kitploit:~
    PS D:\> python .\msidump.py --help
    options:
      -h, --help            show this help message and exit
    
    Required arguments:
      infile                Input MSI file (or directory) for analysis.
    
    Options:
      -q, --quiet           Surpress banner and unnecessary information. In triage mode, will display only verdict.
      -v, --verbose         Verbose mode.
      -d, --debug           Debug mode.
      -N, --nocolor         Dont use colors in text output.
      -n PRINT_LEN, --print-len PRINT_LEN
                            When previewing data - how many bytes to include in preview/hexdump. Default: 128
      -f {text,json,csv}, --format {text,json,csv}
                            Output format: text, json, csv. Default: text
      -o path, --outfile path
                            Redirect program output to this file.
      -m, --mime            When sniffing inner data type, report MIME types
    
    Analysis Modes:
      -l what, --list what  List specific table contents. See help message to learn what can be listed.
      -x what, --extract what
                            Extract data from MSI. For what can be extracted, refer to help message.
    
    Analysis Specific options:
      -i number|name, --record number|name
                            Can be a number or name. In --list mode, specifies which record to dump/display entirely. In --extract mode dumps only this particular record to --outdir
      -O path, --outdir path
                            When --extract mode is used, specifies output location where to extract data.
      -y path, --yara path  Path to YARA rule/directory with rules. YARA will be matched against Binary data, streams and inner files
    
    ------------------------------------------------------
    
    - What can be listed:
        --list CustomAction     - Specific table
        --list Registry,File    - List multiple tables
        --list stats            - Print MSI database statistics
        --list all              - All tables and their contents
        --list olestream        - Prints all OLE streams & storages.
                                  To display CABs embedded in MSI try: --list _Streams
        --list cabs             - Lists embedded CAB files
        --list binary           - Lists binary data embedded in MSI for its own purposes.
                                  That typically includes EXEs, DLLs, VBS/JS scripts, etc
    
    - What can be extracted:
        --extract all           - Extracts Binary data, all files from CABs, scripts from CustomActions
        --extract binary        - Extracts Binary data
        --extract files         - Extracts files
        --extract cabs          - Extracts cabinets
        --extract scripts       - Extracts scripts
    
    ------------------------------------------------------
    

    TODO

    • La lógica de triaje todavía es un poco inestable, no estoy muy orgulloso de ella. Por lo tanto, estará sujeta a rediseños constantes y más ramificaciones.
    • Probar en una muestra más amplia de corpus.
    • Agregar soporte para archivos ZIP de entrada con contraseña.
    • Agregar soporte para ingerir un directorio completo de reglas YARA en lugar de trabajar solo con un archivo.
    • Actualmente, la herramienta detecta CustomAction Type maliciosos evaluando sus números, lo que es propenso a ser evadido.
      • Es necesario reelaborarlo para consumir correctamente el número de tipo y descomponerlo en banderas

    Nombre de la herramienta

    Aparentemente, al nombrar mi herramienta, no pensé en verificar si ya estaba en uso. Existe otra herramienta llamada msidump que forma parte del paquete GNU msitools:

    • msidump

    ☕ Muestra tu apoyo ☕

    Este y otros proyectos son el resultado de noches sin dormir y mucho trabajo duro. Si te gusta lo que hago y aprecias que siempre devuelvo algo a la comunidad, Considérame un café (o mejor una cerveza) solo para darte las gracias! 💪


    root@kitploit:~
    Mariusz Banach / mgeeky, (@mariuszbit)
    <mb [at] binary-offensive.com>
    
    Descargar herramienta