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
firmware-analysis-toolkit — Toolkit per emulare firmware e analizzarlo per vulnerabilità di sicurezza | Kitploit
Strumenti/GitHubGitHub/attify/firmware-analysis-toolkit
Sicurezza Sistemi EmbeddedSicurezza IoTAnalisi delle VulnerabilitàReverse EngineeringAnalisi di BinariApprendimento e FormazioneAnalisi del Firmware
GitHubattify/firmware-analysis-toolkit

firmware-analysis-toolkit

Toolkit per emulare firmware e analizzarlo per vulnerabilità di sicurezza

Vedi Repository
1.6k2831 anno 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

Firmware Analysis Toolkit

FAT è un toolkit creato per aiutare i ricercatori di sicurezza ad analizzare e identificare vulnerabilità nel firmware di dispositivi IoT e embedded. Viene anche utilizzato nel corso di formazione "Offensive IoT Exploitation" tenuto da Attify.

Nota:

  • Ad oggi, è semplicemente uno script per automatizzare Firmadyne, uno strumento utilizzato per l'emulazione del firmware. In caso di problemi con l'emulazione vera e propria, segnala i tuoi problemi nel repository di Firmadyne.

  • Se riscontri problemi, puoi provare AttifyOS che ha il Firmware Analysis Toolkit e altri strumenti preinstallati e pronti all'uso.


Firmware Analysis Toolkit (d'ora in poi FAT) si basa su Firmadyne con alcune modifiche. Firmadyne utilizza un database PostgreSQL per memorizzare informazioni sulle immagini emulate. Tuttavia, per la funzionalità principale, ovvero l'emulazione del firmware, PostgreSQL non è realmente necessario. Quindi FAT non lo usa.

Istruzioni per l'installazione

FAT è sviluppato in Python 3. Tuttavia è necessario avere sia Python 3 che Python 2 installati poiché parti di Firmadyne e delle sue dipendenze usano Python 2. Si consiglia vivamente di installare FAT all'interno di una macchina virtuale.

Per installare, basta clonare il repository ed eseguire lo script ./setup.sh.

root@kitploit:~
git clone https://github.com/attify/firmware-analysis-toolkit
cd firmware-analysis-toolkit
./setup.sh

Dopo aver completato l'installazione, modifica il file fat.config e fornisci la password di sudo come mostrato qui sotto. Firmadyne richiede privilegi di sudo per alcune delle sue operazioni. La password di sudo viene fornita per automatizzare il processo.

root@kitploit:~
[DEFAULT]
sudo_password=attify123
firmadyne_path=/home/attify/firmadyne

Esecuzione di FAT

root@kitploit:~
$ ./fat.py <file del firmware>
  • Fornisci il nome del file del firmware come argomento dello script.

  • Lo script mostrerà gli indirizzi IP assegnati alle interfacce di rete create. Prendine nota.

  • Alla fine, dirà che sta eseguendo il firmware. Premi INVIO e attendi che il firmware si avvii. Fai ping all'IP mostrato nel passaggio precedente, oppure aprilo nel browser.

Congratulazioni! Il firmware è finalmente emulato.

Per rimuovere tutte le immagini del firmware analizzate, esegui

root@kitploit:~
$ ./reset.py

Esempio 1

root@kitploit:~
$ ./fat.py DIR-601_REVB_FIRMWARE_2.01.BIN 

                               __           _   
                              / _|         | |  
                             | |_    __ _  | |_ 
                             |  _|  / _` | | __|
                             | |   | (_| | | |_ 
                             |_|    \__,_|  \__|                    
                    
                Benvenuti in Firmware Analysis Toolkit - v0.3
    Offensive IoT Exploitation Training http://bit.do/offensiveiotexploitation
                  By Attify - https://attify.com  | @attifyme
    
[+] Firmware: DIR-601_REVB_FIRMWARE_2.01.BIN
[+] Estrazione del firmware in corso...
[+] ID immagine: 1
[+] Identificazione architettura in corso...
[+] Architettura: mipseb
[+] Creazione dell'immagine del disco QEMU in corso...
[+] Impostazione della connessione di rete, attendere prego...
[+] Interfacce di rete: [('br0', '192.168.0.1')]
[+] Tutto pronto! Premi INVIO per eseguire il firmware...
[+] Durante l'esecuzione, premi Ctrl + A X per terminare qemu

Asciicast

asciicast

Esempio 2

root@kitploit:~
$ ./fat.py DIR890A1_FW103b07.bin --qemu 2.5.0

                               __           _
                              / _|         | |
                             | |_    __ _  | |_
                             |  _|  / _` | | __|
                             | |   | (_| | | |_
                             |_|    \__,_|  \__|

                Benvenuti in Firmware Analysis Toolkit - v0.3
    Offensive IoT Exploitation Training http://bit.do/offensiveiotexploitation
                  By Attify - https://attify.com  | @attifyme

[+] Firmware: DIR890A1_FW103b07.bin
[+] Estrazione del firmware in corso...
[+] ID immagine: 2
[+] Identificazione architettura in corso...
[+] Architettura: armel
[+] Creazione dell'immagine del disco QEMU in corso...
[+] Impostazione della connessione di rete, attendere prego...
[+] Interfacce di rete: [('br0', '192.168.0.1'), ('br1', '192.168.7.1')]
[+] Utilizzo di qemu-system-arm da /home/attify/firmware-analysis-toolkit/qemu-builds/2.5.0
[+] Tutto pronto! Premi INVIO per eseguire il firmware...
[+] Durante l'esecuzione, premi Ctrl + A X per terminare qemu

Note aggiuntive

  • Al momento, il kernel Firmadyne per ARM non funziona con l'ultima versione di Qemu (2.11.1) disponibile nel repository ufficiale di Ubuntu 18.04. Tuttavia, Qemu (2.5.0) su Ubuntu 16.04 funziona. In alternativa, puoi anche utilizzare il Qemu (2.5.0) incluso fornito con Firmadyne come mostrato nell'esempio 2.

  • Se non vengono rilevate interfacce di rete, prova ad aumentare il valore di timeout da 60 in scripts/inferNetwork.sh come mostrato qui sotto

    root@kitploit:~
    echo "Esecuzione del firmware ${IID}: terminazione dopo 60 secondi..."
    timeout --preserve-status --signal SIGINT 60 "${SCRIPT_DIR}/run.${ARCH}.sh" "${IID}"
    

Problemi noti

  • FAT non funziona su Ubuntu 20.04. La ragione principale è che alcune dipendenze di Firmadyne (soprattutto binwalk) richiedono Python 2. Se non viene risolto a monte, attieniti a Ubuntu 18.04 o inferiore. Ubuntu 20.04 è ora supportato. La versione attuale di FAT corregge lo script di installazione di binwalk per aggirare il problema.

Compilazione di Qemu statico

Il repository include già build statiche di qemu 2.0.0, 2.5.0 e 3.0.0 (nei rilasci), ma se vuoi crearne una tua segui i passaggi qui sotto.

Su una Ubuntu 16.04 pulita esegui. (È importante usare la 16.04, le versioni successive hanno problemi con la compilazione statica).

Qemu 2.0.0

root@kitploit:~
sudo apt update && sudo apt build-dep qemu -y
wget https://download.qemu.org/qemu-2.0.0.tar.bz2
tar xf qemu-2.0.0.tar.bz2
mkdir qemu-2.0.0-build
cd qemu-2.0.0
./configure --prefix=$(realpath ../qemu-2.0.0-build) --static --target-list=arm-softmmu,mips-softmmu,mipsel-softmmu --disable-smartcard-nss --disable-spice --disable-libusb --disable-usb-redir
make
make install

I binari compilati si trovano nella directory qemu-2.0.0-build.

Qemu 2.5.0

root@kitploit:~
sudo apt update && sudo apt build-dep qemu -y
wget https://download.qemu.org/qemu-2.5.0.tar.bz2
tar xf qemu-2.5.0.tar.bz2
mkdir qemu-2.5.0-build
cd qemu-2.5.0
./configure --prefix=$(realpath ../qemu-2.5.0-build) --static --target-list=arm-softmmu,mips-softmmu,mipsel-softmmu --disable-smartcard --disable-libusb --disable-usb-redir
make 
make install

I binari compilati si trovano nella directory qemu-2.5.0-build.

Qemu 3.0.0

root@kitploit:~
sudo apt update && sudo apt build-dep qemu -y
wget https://download.qemu.org/qemu-3.0.0.tar.bz2
tar xf qemu-3.0.0.tar.bz2
mkdir qemu-3.0.0-build
cd qemu-3.0.0
./configure --prefix=$(realpath ../qemu-3.0.0-build) --static --target-list=arm-softmmu,mips-softmmu,mipsel-softmmu --disable-smartcard --disable-libusb --disable-usb-redir
make 
make install

I binari compilati si trovano nella directory qemu-3.0.0-build.

Nota: Dovrebbe essere possibile compilare qemu staticamente anche su un sistema Alpine, ma non è stato testato. In generale, la compilazione su Alpine è preferita rispetto a Ubuntu poiché il primo utilizza musl libc che è migliore per il collegamento statico rispetto a glibc su Ubuntu.

Scarica lo strumento