Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
msidump — MSI Dump - uma ferramenta que analisa pacotes de instalação MSI maliciosos, extrai arquivos, fluxos, dados binários e incorpora o scanner YARA. | Kitploit
Ferramentas/GitHubGitHub/mgeeky/msidump
Análise EstáticaAnálise ForenseAnálise de MalwareAnálise de Binários
GitHubmgeeky/msidump

msidump

MSI Dump - uma ferramenta que analisa pacotes de instalação MSI maliciosos, extrai arquivos, fluxos, dados binários e incorpora o scanner YARA.

Ver Repositório
23220há 3 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

msidump

MSI Dump - uma ferramenta que analisa pacotes MSI maliciosos, extrai arquivos, streams, dados binários e incorpora um scanner YARA.

Em documentos do Office habilitados para macro, podemos usar rapidamente oletools mraptor para determinar se o documento é malicioso. Se quisermos dissecá-lo mais, podemos usar oletools olevba ou oledump.

Para dissecar arquivos MSI maliciosos, até agora tínhamos apenas um, mas confiável, lessmsi. No entanto, o lessmsi não implementa os recursos que eu procurava:

  • Triagem rápida
  • Extração de dados binários
  • Varredura YARA

É aí que o msidump entra em cena.

Funcionalidades

Esta ferramenta auxilia tanto em triagens rápidas quanto em exames detalhados de coleções de MSIs maliciosos. Ela nos permite:

  • Determinar rapidamente se um arquivo é suspeito ou não.
  • Listar todas as tabelas MSI, bem como despejar registros específicos
  • Extrair dados binários, todos os arquivos de CABs, scripts de CustomActions
  • Escanear todos os dados internos e registros com regras YARA
  • Usar a dedução de tipo file/MIME para determinar o tipo de dado interno

Foi criada como uma ferramenta complementar para a postagem do blog que publiquei aqui:

  • MSI Shenanigans. Parte 1 - Visão Geral das Capacidades Ofensivas

Limitações

  • O programa ainda está em uma versão alfa inicial; é esperado que coisas quebrem e que a lógica de triagem/análise mude
  • Devido à forte dependência desta ferramenta das interfaces COM Win32 WindowsInstaller.Installer, atualmente não é possível suportar nativamente plataformas Linux. Talvez wine python msidump.py possa ajudar, mas ainda não testei isso.

Casos de Uso

  1. Realize uma triagem rápida de um MSI suspeito aumentada com regra YARA:
root@kitploit:~
cmd> python msidump.py evil.msi -y rules.yara

1.png

Aqui podemos ver que o MSI de entrada está injetado com um VBScript suspeito e contém vários executáveis nele.

  1. Agora queremos dar uma olhada mais de perto neste VBScript, extraindo apenas aquele registro.

Vemos na tabela de triagem que ele estava presente na tabela Binary. Vamos pegá-lo:

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

Podemos especificar qual registro despejar pelo seu nome/ID ou pelo seu número de índice (aqui seria 7).

2.png

Vejamos outro exemplo. Desta vez, há um executável armazenado na tabela Binary que será executado durante a instalação:

3.png

Para extrair esse arquivo, usaremos:

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

Onde

  • -x binary indica para extrair o conteúdo da tabela Binary
  • -i lmskBju especifica qual registro extrair exatamente
  • -O extracted define o diretório de saída

4.png

Para a melhor experiência de saída, execute a ferramenta em uma janela de console maximizada ou redirecione a saída para um arquivo:

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

  • A lógica de triagem ainda é um pouco instável; não estou muito orgulhoso dela. Portanto, estará sujeita a constantes redesenho e ramificações
  • Testar em uma amostra mais ampla de amostras de teste
  • Adicionar suporte para arquivos ZIP de entrada com senhas
  • Adicionar suporte para ingerir um diretório inteiro com regras YARA em vez de trabalhar com um único arquivo
  • Atualmente, a ferramenta combina CustomAction Types maliciosos com base na avaliação de seus números, o que é propenso a ser contornado.
    • Precisa ser reformulado para consumir corretamente o número do Type e decompô-lo em flags

Nome da Ferramenta

Aparentemente, ao nomear minha ferramenta, não pensei em verificar se já estava sendo usado. Existe outra ferramenta chamada msidump que faz parte do pacote GNU msitools:

  • msidump

☕ Mostre Apoio ☕

Este e outros projetos são resultado de noites sem dormir e muito trabalho duro. Se você gosta do que faço e aprecia que sempre retribuo à comunidade, Considere me comprar um café (ou melhor, uma cerveja) só para agradecer! 💪


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