Blacklotus: il Bootkit che bypassa l’avvio protetto di Windows

Spia russa nella cybersecurity tedesca

Buongiorno cari lettori, oggi vi andremo a parlare del bootkit Blacklotus che può bypassare l’avvio protetto di Windows

I ricercatori di sicurezza informatica dell’azienda di sicurezza ESET hanno condiviso la loro analisi del primo bootkit UEFI al mondo utilizzato, che può aggirare l’avvio protetto su sistemi UEFI completamente aggiornati.

Analisi approfondita di ESET su UEFI Bootkit

Secondo i ricercatori, non vi è alcuna indicazione su chi abbia creato questo bootkit, quindi hanno concluso che corrisponde al bootkit BlackLotus. Questo bootkit è stato promosso nei forum clandestini di hacking dal 2022 per 5.000€, con ulteriori 200€ per gli aggiornamenti.

Funzionalità di BlackLotus

BlackLotus è scritto nei linguaggi di programmazione assembly e C, quindi gli sviluppatori possono inserire una suite di potenti funzionalità in un file da 80kb. Non solo disabilita l’avvio protetto, ma molti altri meccanismi di sicurezza del sistema operativo, tra cui l’integrità del codice protetto da hypervisor (HVCI), BitLocker e Windows Defender.

Questo bootkit può essere eseguito su sistemi completamente aggiornati che eseguono Windows 11 con UEFI Secure Boot abilitato. Si rivolge alla catena di basso livello del firmware chiamata Unified Extensible Firmware Interface (UEFI). Questa complessa catena è responsabile dell’avvio dei computer moderni. L’UEFI collega il firmware del computer con il sistema operativo mentre funge da sistema operativo stesso.

Poiché l’UEFI si trova nel chip di archiviazione flash connesso a SPI presente sulla scheda madre del computer, è estremamente difficile ispezionarlo o correggerlo. La differenza tra il modo in cui BlackLotus prende di mira UEFI e altri bootkit come MoonBounce, CosmicStrand e MosaicRegressor è che questi prendono di mira il firmware UEFI archiviato nel chip di archiviazione flash, mentre BlackLotus prende di mira il software nella partizione di sistema EFI.

In che modo BlackLotus attacca l’avvio protetto?

BlackLotus sfruttando una vulnerabilità presente in tutte le versioni supportate di Microsoft Windows e patchata nel gennaio 2022. Viene chiamata CVE-2022-21894 e si tratta di un difetto logico, soprannominato “Baton Drop” dal ricercatore che lo ha scoperto, e può essere sfruttato per rimuovere completamente le funzioni Secure Boot dalla sequenza di avvio all’avvio del PC.

Gli hacker possono facilmente sfruttare questo difetto per ottenere chiavi per il BitLocker, che crittografa i dischi rigidi. Per i creatori di BlackLotus, questo difetto si è rivelato immensamente utile perché, nonostante siano stati corretti, i file binari firmati vulnerabili non sono ancora stati aggiunti all’elenco di revoche UEFI, che avvisa sui file di avvio non attendibili.

Secondo i ricercatori, sono attualmente in uso centinaia di bootloader vulnerabili e, se questi file binari firmati venissero revocati, renderebbero inutilizzabili milioni di dispositivi. Ecco perché i dispositivi aggiornati sono ancora vulnerabili perché gli hacker possono sostituire il software con patch del software vecchio e vulnerabile.

I bootkit UEFI sono una minaccia?

I bootkit UEFI in generale sono potenti minacce perché l’UEFI ha il controllo completo sul processo di avvio del sistema operativo. È così che può disabilitare vari meccanismi di sicurezza del sistema operativo e distribuire i propri payload in modalità kernel e modalità utente nelle prime fasi di avvio del sistema operativo. Ciò consente agli hacker di operare furtivamente e ottenere privilegi elevati.

Distribuzione del Bootkit:

Il modo in cui questo bootkit viene distribuito non è chiaro, ma guardando questo fenomeno in generale la catena di attacco coinvolge un componente del programma di installazione che scrive i file nella partizione di sistema EFI e disabilita HVCI e BitLocker, dopodiché riavvia l’host. BlackLotus disabilita le soluzioni di protezione per distribuire un driver del kernel, che protegge dall’eliminazione del file bootkit, e un caricatore HTTP. Al contrario, il bootloader stabilisce la comunicazione con il server di controllo ed esegue il payload.