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
debloat — Uno strumento con GUI e CLI per rimuovere il bloat dagli eseguibili | Kitploit
Strumenti/GitHubGitHub/squiblydoo/debloat
Reverse EngineeringAnalisi MalwareDigital ForensicsAnalisi di Binari
GitHubsquiblydoo/debloat

debloat

Uno strumento con GUI e CLI per rimuovere il bloat dagli eseguibili

Vedi Repository
453372 mesi 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

debloat

Debloat

Debloat è uno strumento con interfaccia grafica e da riga di comando per rimuovere la spazzatura in eccesso da eseguibili "gonfiati".

Per spazzatura in eccesso intendo 100 - 800 MB di byte inutili aggiunti a un binario per evitare che finisca in una sandbox. Questo metodo di aggiunta di spazzatura è chiamato "inflating" o "pumping" di un binario. Debloat attualmente gestisce le 10 tattiche di gonfiaggio più comuni.

Essendo sviluppato in Python, l'applicazione può essere facilmente integrata in altri flussi di lavoro. Attualmente, debloat è utilizzato da CCCS's AssemblyLine e CERT Polska's MWDB.

Il programma può essere compilato per Windows, MacOS, Linux. La GUI e la CLI hanno opzioni minime: l'intento è di essere il più semplice possibile e la logica interna del programma gestisce automaticamente i diversi casi d'uso.

I binari compilati sono già inclusi nelle Release.

Debloat può essere installato usando pip install debloat. Usa debloat per avviare la CLI e debloat-gui per avviare la GUI.

Per utenti avanzati, Debloat può anche essere importato in altri script e le funzioni di elaborazione possono essere chiamate singolarmente.

Come si usa la GUI?

La GUI di Debloat punta a essere il più intuitiva possibile. Una volta avviata, puoi trascinare e rilasciare il file "gonfiato" sulla barra di testo e premere il pulsante "Process file". Alcune informazioni tecniche verranno stampate nella casella di testo scorrevole e il file senza spazzatura verrà scritto nella directory da cui è stato prelevato il file. Sembra facile? Lo è!

L'elaborazione dei file richiederà alcuni secondi.
image

Come si usa la CLI?

Dopo l'installazione con pip install debloat usa il comando debloat.
debloat accetta due argomenti. Il primo argomento è obbligatorio: il file da debloatare. Il secondo argomento è opzionale: la posizione di output. Quando non viene fornito un output, il file verrà scritto nella stessa directory del file originale.

La GUI può anche essere avviata dalla CLI usando il comando debloat-gui.

Funziona sempre?

Non ancora. In base alla mia analisi recente, debloat riesce a rimuovere la spazzatura dai file gonfiati nel 97,8% dei casi.

Nelle versioni precedenti, debloat poteva accidentalmente rimuovere troppo dal binario. Non è più così, a meno che non si usi l'opzione "--last-ditch". Se mai dovessi aver bisogno di questa opzione, considera di condividere il campione per ulteriori analisi. Questa opzione è stata ora aggiunta anche alla GUI. Funzionalmente, ciò che fa è rimuovere l'intero overlay, se presente. In alcuni casi è necessario perché non è stato trovato alcun pattern per la spazzatura—questo è il caso più comune nei campioni che non si comprimono bene.

Casi d'uso (Immagini da Malcat)

Supporto completo

  • Spazzatura aggiunta alla fine di un PE firmato.
    Nell'immagine qui sotto, la spazzatura è stata aggiunta alla fine dell'eseguibile.
    Screenshot 2023-02-11 at 3 32 36 PM

  • Eseguibile impacchettato firmato o non firmato.
    Nell'immagine qui sotto, la spazzatura è stata aggiunta all'eseguibile dopo l'impacchettamento.
    Screenshot 2023-02-11 at 3 44 10 PM

  • L'eseguibile firmato include spazzatura nella sezione .rsrc del PE.
    Nell'immagine qui sotto, la spazzatura viene identificata nella sezione .rsrc e viene rimossa dal PE.
    Screenshot 2023-02-11 at 3 35 21 PM

  • Casi in cui la spazzatura viene aggiunta all'interno di una sezione del PE.
    Nell'immagine qui sotto, la spazzatura è stata inclusa in una sezione del PE chiamata [0].
    Screenshot 2023-02-11 at 3 26 52 PM

  • Casi in cui l'eseguibile è un eseguibile del sistema di installazione scriptabile Nullsoft (NSIS, anche noto come Nullsoft) Questi exe sono installer che possono contenere uno o più file. I file contenuti possono essere malevoli o meno. (A volte gli attori aggiungono file semplicemente per aumentare la dimensione del file.) Tutti i file all'interno dell'installer vengono estratti in una nuova directory. La directory contiene anche lo script dell'installer che può essere consultato per determinare quali file potrebbero essere malevoli. Nell'immagine qui sotto, Malcat ha identificato l'eseguibile come un installer NSIS.

Supporto parziale

  • Casi in cui la spazzatura è troppo casuale e l'entropia è troppo alta. In questi casi, un'opzione chiamata "--last-ditch"

Altri casi d'uso

Ci sono casi d'uso in cui lo strumento non funziona. Tuttavia, ho intenzione di risolverli prima di pubblicare troppo al riguardo.

Perché?

Sembra esserci un numero limitato di strumenti per elaborare facilmente eseguibili "gonfiati". I due strumenti che ho visto più spesso sono "foremost", pensato per recuperare binari da un'immagine disco, e "pecheck".

Foremost funziona meglio nei casi in cui i byte di spazzatura sono nulli (0x00) e fa fatica quando il binario ha una firma falsa o reale. Il suo uso per rimuovere la spazzatura dai file non è il suo scopo originale.

Pecheck è stato sviluppato per oltre 14 anni e ha alcune opzioni da riga di comando confuse. L'opzione per rimuovere il contenuto "gonfiato" non è la funzione principale dello script. Pecheck deve essere combinato con un altro strumento (disitool) per gestire gli eseguibili firmati. Nella mia esperienza, ci sono altri momenti in cui pecheck può confondersi e restituire un eseguibile grande il doppio dell'eseguibile "gonfiato" originale. Tutti questi fattori sembrano accettabili se si gestisce un piccolo numero di binari, ma man mano che il numero di binari e metodi aumenta, serve uno strumento specifico per rimuovere la spazzatura.

Binary Refinery è uno strumento fantastico. È stato scritto con l'intenzione di essere una CyberChef da riga di comando. Sebbene entrambi gli strumenti siano fantastici, hanno entrambi un limite: richiedono che l'utente sappia quali formule applicare.

Esistono buoni e solidi metodi manuali per rimuovere la spazzatura dai binari, ma questi metodi possono essere noiosi e non tutti gli analisti hanno le competenze per farlo. Questo strumento elimina l'onere di dover sapere come rimuovere manualmente la spazzatura. Inoltre, consente una migliore scalabilità. I principi usati nello script consentono una migliore scalabilità se si desidera l'automazione.

Come compilare?

Segui i comandi di build appropriati per la tua piattaforma. La differenza principale tra i comandi di build è il formato dell'icona.
MacOS
pyinstaller --onefile --noconsole --additional-hooks-dir=./hook --icon=debloat.icns gui.py

Windows
pyinstaller --onefile --noconsole --additional-hooks-dir=./hook --icon=debloat.ico gui.py

Linux
pyinstaller --onefile --noconsole --icon=debloat.ico --collect-all tkinterdnd2 gui.py

Vuoi discutere?

Prendi in considerazione l'idea di unirti al Discord di debloat.

Crediti

Un grande ringraziamento a Jesko Hüttenhain, creatore di Binary Refinery. L'estrazione NSIS si basa sul suo reverse engineering del formato file NSIS. Dai un'occhiata a Binary Refinery se non lo hai già fatto.

Quali sono i prossimi passi del progetto?

Elaborazione batch: processare tutti i file in una directory e produrre un report.

Supporto migliore per l'uso dei metodi di elaborazione al di fuori di debloat.

Supporto per debloatare senza decomprimere.

Scarica lo strumento
image