Firmware Integrity
Il firmware personalizzato e/o i binari compilati possono essere caricati per sfruttare le vulnerabilità di integrità o verifica della firma. I seguenti passaggi possono essere seguiti per la compilazione di un backdoor bind shell:
Il firmware può essere estratto utilizzando firmware-mod-kit (FMK).
L'architettura del firmware target e l'endianness devono essere identificati.
Un cross compiler può essere costruito utilizzando Buildroot o altri metodi adatti per l'ambiente.
Il backdoor può essere costruito utilizzando il cross compiler.
Il backdoor può essere copiato nella directory /usr/bin del firmware estratto.
Il binario QEMU appropriato può essere copiato nel rootfs del firmware estratto.
Il backdoor può essere emulato utilizzando chroot e QEMU.
Il backdoor può essere accessibile tramite netcat.
Il binario QEMU deve essere rimosso dal rootfs del firmware estratto.
Il firmware modificato può essere ripacchettato utilizzando FMK.
Il firmware con backdoor può essere testato emulandolo con il toolkit di analisi del firmware (FAT) e collegandosi all'IP e alla porta del backdoor target utilizzando netcat.
Se una shell root è già stata ottenuta tramite analisi dinamica, manipolazione del bootloader o test di sicurezza hardware, binari malevoli precompilati come impianti o reverse shell possono essere eseguiti. Strumenti automatizzati per payload/impianti come il framework Metasploit e 'msfvenom' possono essere utilizzati seguendo i seguenti passaggi:
L'architettura del firmware target e l'endianness devono essere identificati.
Msfvenom può essere utilizzato per specificare il payload target, l'IP dell'host attaccante, il numero di porta in ascolto, il tipo di file, l'architettura, la piattaforma e il file di output.
Il payload può essere trasferito al dispositivo compromesso e assicurarsi che abbia i permessi di esecuzione.
Metasploit può essere preparato per gestire le richieste in arrivo avviando msfconsole e configurando le impostazioni secondo il payload.
La reverse shell meterpreter può essere eseguita sul dispositivo compromesso.
Last updated