Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
msidump — MSI Dump - uno strumento che analizza pacchetti di installazione MSI dannosi, estrae file, flussi, dati binari e incorpora lo scanner YARA. | Kitploit
Strumenti/GitHubGitHub/mgeeky/msidump
Analisi StaticaInformatica ForenseAnalisi MalwareAnalisi di Binari
GitHubmgeeky/msidump

msidump

MSI Dump - uno strumento che analizza pacchetti di installazione MSI dannosi, estrae file, flussi, dati binari e incorpora lo scanner YARA.

Vedi Repository
232203 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

msidump

MSI Dump - uno strumento che analizza pacchetti di installazione MSI maliziosi, estrae file, flussi, dati binari e incorpora lo scanner YARA.

Sui documenti Office abilitati per macro possiamo usare rapidamente oletools mraptor per determinare se un documento è malizioso. Se vogliamo analizzarlo ulteriormente, possiamo utilizzare oletools olevba o oledump.

Per analizzare file MSI maliziosi, finora avevamo solo uno, ma affidabile e degno di fiducia lessmsi. Tuttavia, lessmsi non implementa le funzionalità che cercavo:

  • triage rapido
  • Estrazione di dati binari
  • Scansione YARA

Ecco dove entra in gioco msidump.

Caratteristiche

Questo strumento aiuta sia nei triage rapidi che negli esami dettagliati di corpus di MSI maliziosi. Ci consente di:

  • Determinare rapidamente se un file è sospetto o meno.
  • Elencare tutte le tabelle MSI e scaricare record specifici
  • Estrarre dati binari, tutti i file da CAB, script da CustomActions
  • Scansionare tutti i dati interni e i record con regole YARA
  • Usa la deduzione del tipo file/MIME per determinare il tipo di dato interno

È stato creato come strumento complementare al post del blog che ho pubblicato qui:

  • MSI Shenanigans. Part 1 - Offensive Capabilities Overview

Limitazioni

  • Il programma è ancora in una versione alpha iniziale, ci si aspetta che le cose si rompano e che la logica di triage/analisi cambi
  • A causa della forte dipendenza di questo strumento dalle interfacce Win32 COM WindowsInstaller.Installer, attualmente non è possibile supportare piattaforme Linux native. Forse wine python msidump.py potrebbe aiutare, ma non l'ho ancora provato.

Casi d'Uso

  1. Eseguire un triage rapido di un MSI sospetto arricchito con regola YARA:
root@kitploit:~
cmd> python msidump.py evil.msi -y rules.yara

1.png

Qui possiamo vedere che l'MSI di input è iniettato con un sospetto VBScript e contiene numerosi eseguibili al suo interno.

  1. Ora vogliamo dare un'occhiata più da vicino a questo VBScript estraendo solo quel record.

Dalla tabella di triage vediamo che era presente nella tabella Binary. Otteniamolo:

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

Possiamo specificare quale record scaricare tramite il suo nome/ID o il suo numero di indice (qui sarebbe 7).

2.png

Diamo un'occhiata a un altro esempio. Questa volta c'è un eseguibile memorizzato nella tabella Binary che verrà eseguito durante l'installazione:

3.png

Per estrarre quel file andiamo con

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

Dove

  • -x binary dice di estrarre i contenuti della tabella Binary
  • -i lmskBju specifica quale record esattamente estrarre
  • -O extracted imposta la directory di output

4.png

Per la migliore esperienza di output, esegui lo strumento in una finestra della console massimizzata o reindirizza l'output su file:

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

Utilizzo Completo

root@kitploit:~
PS D:\> python .\msidump.py --help
options:
  -h, --help            mostra questo messaggio di aiuto ed esci

Argomenti obbligatori:
  infile                File MSI di input (o directory) per l'analisi.

Opzioni:
  -q, --quiet           Sopprime il banner e le informazioni non necessarie. In modalità triage, mostrerà solo il verdetto.
  -v, --verbose         Modalità verbosa.
  -d, --debug           Modalità di debug.
  -N, --nocolor         Non usare colori nell'output di testo.
  -n PRINT_LEN, --print-len PRINT_LEN
                        Quando si visualizza in anteprima i dati - quanti byte includere nell'anteprima/hexdump. Default: 128
  -f {text,json,csv}, --format {text,json,csv}
                        Formato di output: text, json, csv. Default: text
  -o path, --outfile path
                        Reindirizza l'output del programma a questo file.
  -m, --mime            Quando si analizza il tipo di dato interno, riporta i tipi MIME

Modalità di analisi:
  -l what, --list what  Elenca i contenuti di tabelle specifiche. Vedi il messaggio di aiuto per sapere cosa può essere elencato.
  -x what, --extract what
                        Estrae dati dall'MSI. Per cosa può essere estratto, fare riferimento al messaggio di aiuto.

Opzioni specifiche di analisi:
  -i number|name, --record number|name
                        Può essere un numero o un nome. In modalità --list, specifica quale record scaricare/mostrare completamente. In modalità --extract, scarica solo quel particolare record in --outdir
  -O path, --outdir path
                        Quando si utilizza la modalità --extract, specifica la posizione di output in cui estrarre i dati.
  -y path, --yara path  Percorso alla regola/directory YARA con regole. YARA verrà confrontato con dati binari, flussi e file interni

------------------------------------------------------

- Cosa può essere elencato:
    --list CustomAction     - Tabella specifica
    --list Registry,File    - Elenca più tabelle
    --list stats            - Stampa le statistiche del database MSI
    --list all              - Tutte le tabelle e i loro contenuti
    --list olestream        - Stampa tutti i flussi e gli archivi OLE.
                              Per visualizzare i CAB incorporati nell'MSI prova: --list _Streams
    --list cabs             - Elenca file CAB incorporati
    --list binary           - Elenca dati binari incorporati nell'MSI per i propri scopi.
                              Che tipicamente include EXE, DLL, script VBS/JS, ecc.

- Cosa può essere estratto:
    --extract all           - Estrae dati binari, tutti i file da CAB, script da CustomActions
    --extract binary        - Estrae dati binari
    --extract files         - Estrae file
    --extract cabs          - Estrae cabinet
    --extract scripts       - Estrae script

------------------------------------------------------

TODO

  • La logica di triage è ancora un po' traballante, non ne sono molto orgoglioso. Pertanto sarà soggetta a riprogettazioni costanti e ulteriori ramificazioni
  • Testarlo su un corpus di campioni di test più ampio
  • Aggiungere supporto per archivi ZIP con password
  • Aggiungere supporto per l'ingestione di un'intera directory piena di regole YARA invece di lavorare con un singolo file
  • Attualmente, lo strumento identifica i CustomAction Type maliziosi basandosi sulla valutazione dei loro numeri, il che è soggetto a elusione.
    • Deve essere rielaborato per consumare correttamente il numero del Tipo e scomporlo in flag

Nome dello Strumento

A quanto pare, quando ho chiamato il mio strumento, non ho pensato a controllare se fosse già stato preso. Esiste un altro strumento chiamato msidump che fa parte del pacchetto GNU msitools:

  • msidump

☕ Mostra Supporto ☕

Questo e altri progetti sono il risultato di notti insonni e molto duro lavoro. Se ti piace quello che faccio e apprezzi che restituisco sempre alla comunità, Considera di offrirmi un caffè (o meglio una birra) solo per dire grazie! 💪


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