Corruzione del Firmware: Firmware Corruption (T1495)
La corruzione del firmware è una tecnica di impatto (TA0040 - Impact) con cui un attaccante sovrascrive o danneggia la memoria flash non volatile che ospita il BIOS/UEFI, i bootloader o il microcodice di dispositivi come schede madri, dischi rigidi, schede video e apparati di rete. Il firmware è il software di inizializzazione caricato prima del sistema operativo: alterarlo significa rendere l'hardware inoperabile o incapace di avviarsi, negando la disponibilità del sistema.
A differenza di un wiper che agisce sui dati, l'attacco al firmware colpisce lo strato più profondo della pila di boot. La sovrascrittura della memoria flash può trasformare un dispositivo in un brick permanente, richiedendo la riprogrammazione fisica del chip o la sostituzione della scheda. Su apparati di rete, la corruzione del componente responsabile del caricamento del sistema operativo interrompe l'instradamento del traffico e isola intere infrastrutture.
Questa tecnica si colloca nella fase finale della kill chain, quando l'obiettivo è la distruzione o il sabotaggio. Spesso accompagna la Data Destruction, amplificando i tempi di ripristino: mentre i dati possono essere recuperati da backup, un firmware danneggiato può impedire l'avvio necessario per il recovery. È una capacità rara ma ad altissimo impatto, tipica di operazioni distruttive contro infrastrutture critiche, dove la persistenza sotto il livello del sistema operativo e la difficoltà di remediation la rendono particolarmente insidiosa.
La simulazione di questa tecnica richiede prudenza estrema: scrivere sulla flash BIOS/UEFI può danneggiare irreversibilmente l'hardware. Ogni test va condotto su dispositivi sacrificabili o in ambiente virtualizzato con firmware emulato, mai su asset di produzione.
Su Linux lo strumento di riferimento per leggere, verificare e riscrivere la memoria flash SPI è flashrom (open source). Un red team lab-safe inizia sempre con la sola lettura per creare un backup del dump originale, prima di qualsiasi scrittura:
flashrom -p internal -r backup.bin
Solo dopo aver conservato il dump si potrebbe simulare una riscrittura con -w, operazione che in un esercizio reale va sostituita da una verifica non distruttiva (-v) per evitare il brick. Per analizzare e manipolare immagini UEFI in laboratorio si usa UEFITool (open source) e il framework CHIPSEC (open source) di Intel, che valuta la configurazione di sicurezza della piattaforma, il lock del registro BIOS e la presenza di protezioni come SMM. Comandi come chipsec_main -m common.bios_wp verificano se la write-protection del BIOS è attiva: un flash non bloccato indica una superficie sfruttabile.
Gli esempi reali mostrano due catene distinte. Il modulo Trickboot di TrickBot interroga il registro di controllo del BIOS per determinare se la flash è scrivibile, aprendo la strada a scrittura o cancellazione del firmware UEFI su host già compromessi. Bad Rabbit adotta invece un approccio a livello di bootloader, installando un loader modificato che impedisce l'avvio normale — una tecnica riproducibile in lab modificando il Master Boot Record o la partizione di sistema EFI su una macchina virtuale.
Una catena d'attacco realistica prevede: acquisizione di privilegi elevati (SYSTEM su Windows, root su Linux), verifica dello stato di protezione della flash, e infine l'operazione di scrittura. Su ESXi e apparati di rete il vettore cambia: l'aggiornamento firmware avviene tipicamente tramite upload via TFTP o SCP e riavvio, per cui la simulazione consiste nel caricare un'immagine artefatta seguita da reboot controllato.
Per preparare l'ambiente conviene lavorare con hardware datato e programmatore esterno CH341A (a pagamento, economico), che consente di ripristinare via hardware la flash dopo un test distruttivo. Questo salvagente trasforma un esperimento potenzialmente definitivo in una prova ripetibile, permettendo di studiare comportamenti e artefatti senza perdere l'asset di laboratorio.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo