Firmware dei Componenti: Component Firmware (T1542.002)
La manomissione del firmware dei componenti è una delle tecniche di persistenza più insidiose del catalogo MITRE ATT&CK. Un avversario riscrive il microcodice che governa dispositivi come dischi rigidi, controller di rete o schede periferiche, iniettando codice malevolo che vive al di fuori del sistema operativo e persino al di fuori del BIOS o del firmware di sistema principale.
A differenza della tecnica gemella System Firmware, qui il bersaglio sono componenti secondari che raramente dispongono degli stessi controlli di integrità o meccanismi di secure boot. Questo divario rende l'impianto particolarmente resistente: sopravvive a reinstallazioni del sistema, cambi di credenziali e persino alla re-immagine completa del disco.
La tecnica serve due tattiche complementari. Sul fronte Persistence (TA0003), garantisce un punto d'appoggio che riparte a ogni avvio nonostante le operazioni di bonifica tradizionali. Sul fronte Stealth (TA0005), sfrutta l'invisibilità del piano firmware per eludere antivirus, EDR e verifiche d'integrità basate su software, che semplicemente non hanno visibilità sotto il livello del kernel.
L'impatto operativo è severo. Un impianto firmware può sopravvivere per anni, e la sua rimozione spesso richiede la sostituzione fisica del componente. Nel panorama documentato figurano 1 gruppo APT, 1 famiglia malware e 1 mitigazione principale, a testimonianza di quanto questa capacità resti appannaggio di attori con risorse elevate.
In un contesto di red team, simulare la manomissione del firmware di componente richiede prudenza estrema: un flash errato può trasformare un dispositivo in un fermacarte. Per questo il lavoro va confinato in laboratorio, su hardware sacrificabile e con backup delle immagini originali.
La catena tipica parte da un accesso privilegiato al sistema (root o SYSTEM), prosegue con l'enumerazione dei componenti flashabili e culmina nella riscrittura dell'immagine firmware. Il primo passo è mappare la superficie: su Linux si ispezionano i controller SPI e le periferiche PCI.
- lspci -vvv per elencare i dispositivi e le loro capacità
- lsusb -v per periferiche USB con firmware aggiornabile
- smartctl -i /dev/sda (pacchetto smartmontools, open source) per leggere modello e revisione firmware di un disco
Per il firmware SPI di flash montate su scheda, flashrom (open source) è lo strumento di riferimento. Un dump di baseline si ottiene con
flashrom -p internal -r backup.bin
mentre la scrittura di un'immagine modificata userebbe il flag -w. Su hardware dedicato conviene un programmatore esterno come un CH341A abbinato a flashrom con -p ch341a_spi, così da poter recuperare il chip anche dopo un flash fallito.
Sul versante dischi, la strada storica di Equation consisteva nel riscrivere il firmware HDD di specifici produttori tramite comandi vendor-specific inviati via interfaccia ATA. Questi comandi non sono standardizzati e la loro emulazione in lab richiede firmware toolkit del produttore, spesso non pubblici; per esercizi didattici ci si limita quindi a leggere e confrontare le revisioni con hdparm -I /dev/sda.
Per riprodurre lo scenario Cyclops Blink, dove il firmware legittimo veniva patchato durante il download e re-flashato al successivo aggiornamento del dispositivo WatchGuard, l'approccio lab-safe è simulare un aggiornamento firmware intercettato: si prepara un'immagine con una modifica benigna (ad esempio un marker riconoscibile), la si firma con chiavi di test e la si applica su un dispositivo di appliance dedicato.
A supporto dell'analisi statica dell'immagine estratta, binwalk (open source) scompone e identifica i filesystem embedded, mentre UEFITool (open source) è utile per esplorare volumi EFI. L'obiettivo dell'esercizio non è la weaponizzazione ma dimostrare la finestra di rischio: se l'attaccante controlla il canale di aggiornamento o dispone di accesso privilegiato, il piano firmware diventa un rifugio invisibile agli strumenti host.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo