Estrarre dati da un immagine del Firmware

estrarre dati di sistema da un imagine del firmware

I file di sistema attraverso l’analisi dell’immagine del firmware

La capacità di estrarre dati da un’immagine del firmware è estremamente utile e molto laborioso. L’idea è estrarre i file di sistema del kernel e il suo firmware, esaminando il file di aggiornamento firmware per il Linksys WAG120N. L’immagine del firmware utilizzato è per la versione hardware WAG120N 1.0, la versione del firmware 1.00.16 (ETSI), pubblicato il 16/08/2010 ed è attualmente disponibile per il download dal sito Web di Linksys. La prima cosa da fare con una immagine del firmware è quello di eseguire l’utilità di file di Linux nei suoi confronti per essere sicuri che non è un archivio standard o file compresso. Successivamente si procederà con l’analisi attraverso Binwalk.

Cerchiamo di capire che cosa si intende di firmware in questo caso e poi ci dedichiamo al Binwalk. In alcuni apparati che realizzano le reti di calcolatori, come router e molti switch di fascia media e alta, la parola firmware ha un significato più ampio: indica il vero e proprio sistema operativo dell’apparato, che ne gestisce tutte le funzioni, possiede un’interfaccia utente spesso non banale (accessibile via porta seriale, o via rete con i protocolli SNMP, telnet, SSH, HTTP, TFTP o anche FTP per il trasferimento di file di configurazione o nuove versioni del fimware), permette di monitorare ed intervenire sul funzionamento dell’apparato e di modificarne la configurazione.

Data la complessità delle funzioni realizzate dal firmware in questi casi, gli aggiornamenti per aggiungere funzionalità o per correggere bug possono essere frequenti. Anche in questi casi, il firmware è memorizzato su una memoria non volatile ROM o EEPROM. Spesso esiste un altro componente software più semplice e di livello più basso, che si occupa delle funzioni minimali necessarie a gestire la memoria non volatile e a caricare il firmware, denominato bootloader. A proposito di estrarre dati all’interno di immagini del firmware, binwalk è uno strumento per la ricerca di una determinata immagine binaria per i file incorporati. In particolare, è progettato per identificare i file incorporati all’interno di immagini del firmware.

Binwalk utilizza la libreria libmagic ed include anche un file di firma magica che contiene le firme migliorate per i file che si trovano comunemente in immagini del firmware come file archiviati, le intestazioni del firmware, kernel Linux, bootloader, filesystem, ecc L’unica opzione necessaria per Binwalk è il file che si desidera cercare:

$. / Binwalk firmware.bin Con binwalk di default userà le firme di magic.fx, ma è possibile specificare qualsiasi altra firma del file libmagic compatibile con l’opzione-m:

$. / Binwalk-m / usr / share / misc / magic firmware.bin.

Con binwalk di default si verifica per le firme di file valide in qualsiasi punto del file di destinazione. Ciò significa che la scansione di un file di 4MB è l’equivalente di esecuzione dell’utilità file Unix 4 milioni di volte. Per diminuire il tempo di scansione, è possibile specificare l’allineamento di byte da utilizzare tramite l’opzione-b.

Per la compressione di sola lettura del file system, SquashFS rappresenta una buona soluzione. SquashFS (software open source, licenza GPL) comprime i file , gli inode e le directory , e supporta blocco di dimensioni fino a 1 MB per una maggiore compressione. SquashFS è destinato esclusivamente per file system da utilizzare in lettura in cui è necessario un basso overhead. SquashFS versione 4 è incluso nel Linux Kernel 2.6.29 e supporta XZ (LZMA2) compressione dal 2.6.38.

Perché Squashfs LZMA? LZMA è uno dei migliori algoritmi di compressione e Squashfs è uno dei filesystem più compressi oggi disponibili. LZMA è in grado di comprimere molto meglio di gzip, che è stata per anni l’unica opzione in squashfs.

STAMPA     Tags:,

4 Comments

  1. electropower 24 giugno 2011
  2. Luca Giuliodori lucagiuliodori 24 giugno 2011
  3. linus 24 giugno 2011
  4. mdipaolo 26 giugno 2011

Leave a Reply