In questa guida ti spiego come installare e usare Binwalk per estrarre partizioni. La reverse engineering dei firmware è una pratica fondamentale per chi lavora nel campo della sicurezza informatica e dell’ethical hacking. Uno degli strumenti più potenti e diffusi per analizzare ed estrarre partizioni da file binari è Binwalk. In questa guida vedremo passo-passo come installarlo, configurarlo e utilizzarlo per esplorare il contenuto di un firmware.

Cos’è Binwalk?
Binwalk è un tool open source progettato per analizzare file binari, in particolare firmware di dispositivi embedded. Permette di individuare partizioni, filesystem e compressioni all’interno di un file .bin. È utilizzato da ricercatori, ethical hacker e sviluppatori per capire la struttura interna di un firmware e individuare eventuali vulnerabilità.
Installazione di Binwalk
Su Linux (Ubuntu/Debian):
sudo apt update
sudo apt install binwalk -ySu macOS (con Homebrew)
brew install binwalkCome utilizzarlo:
Utilizzo di base:
binwalk nomefile.binMostra l’elenco delle partizioni, filesystem e compressioni rilevate. Ogni riga indica offset, tipo di dato e descrizione.
binwalk -e nomefile.binIl comando di sopra, crea una cartella nomefile.bin.extracted con i dati decompressi. Utile per esplorare filesystem come SquashFS, JFFS2, o immagini compressi.
Nel mio caso ho un file chiamato root_uImage.bin andrò ad verificare che tipo di partizione sono in possesso nel mio caso, di un router:
binwalk root_uImage.bin
Output rilevante:
8388608 0x800000 UBI erase count header, version: 1, EC: 0x0, VID header offset: 0x800, data offset: 0x1000Questo significa:
- A partire da offset 0x800000 (decimale 8388608) inizia una partizione UBI.
- È presente un header UBI con contatore di erase (
EC) a 0. - Il VID header (Volume Identifier) si trova a offset 0x800.
- I dati reali iniziano a offset 0x1000.
Estrarre automaticamente le partizioni
binwalk -e root_uImage.bin
Opzioni avanzate
- -Me: estrae e ricostruisce anche file compressi multipli.
- -r: ricerca pattern specifici (es. magic numbers).
- –dd=’.*’: estrazione mirata di tutti i file corrispondenti a un pattern.
Binwalk è uno strumento fondamentale per chi vuole capire, documentare e migliorare la sicurezza dei firmware embedded. Con pochi comandi puoi trasformare un file .bin opaco in una struttura leggibile e analizzabile, utile per scopi didattici, investigativi o di sviluppo.

