andiamo ad impostare firmware_dir nel file firmadyne.config per puntare alla directory di questo repository.
scarichiamo un'immagine del firmware, ad esempio v2.0.3 per netgear wnap320.
wget
www.downloads.netgear.com/files/GDC...ion%202.0.3.ziputilizziamo l'estrattore per recuperare solo il filesystem, senza il kernel (-nk), senza operazioni parallele (-np), popolando la tabella delle immagini nel server sql 127.0.0.1 (-sql) con il marchio netgear (-b), e memorizziamo il tarball in images.
./sources/extractor/extractor.py -b netgear -sql 127.0.0.1 -np -nk "wnap320 firmware version 2.0.3.zip" images
identifichiamo l'architettura del firmware 1 e memorizziamo il risultato nella tabella delle immagini del database.
./scripts/getarch.sh ./images/1.tar.gz
carichiamo i contenuti del filesystem per il firmware 1 nel database, popolando le tabelle object e object_to_image.
./scripts/tar2db.py -i 1 -f ./images/1.tar.gz
creiamo l'immagine disco qemu per il firmware 1.
sudo ./scripts/makeimage.sh 1
inferiamo la configurazione di rete per il firmware 1. i messaggi del kernel vengono loggati in
./scratch/1/qemu.initial.serial.log.
./scripts/infernetwork.sh 1
emuliamo il firmware 1 con la configurazione di rete inferita. questo modificherà la configurazione del sistema host creando un dispositivo tap e aggiungendo una route.
./scratch/1/run.sh
il sistema dovrebbe essere disponibile sulla rete ed essere pronto per l'analisi. i messaggi del kernel vengono loggati in
./scratch/1/qemu.final.serial.log.
il filesystem per il firmware 1 può essere montato e smontato da scratch/1/image con
./scripts/mount.sh 1 e ./scripts/umount.sh 1
./analyses/snmpwalk.sh 192.168.0.100
./analyses/webaccess.py 1 192.168.0.100 log.txt
mkdir exploits; ./analyses/runexploits.py -t 192.168.0.100 -o exploits/exploit -e x (richiede metasploit framework)
sudo nmap -o -sv 192.168.0.10