
Super UEFIinSecureBoot Disk: Avvia qualsiasi sistema operativo o file .efi senza disabilitare UEFI Secure Boot
Super UEFIinSecureBoot Disk è una proof-of-concept (non più mantenuta o migliorata attivamente) immagine avviabile con bootloader GRUB2 progettata per essere utilizzata come base per chiavette USB di ripristino.
Caratteristica principale: il disco è completamente funzionante con la modalità Secure Boot UEFI attivata. Può avviare qualsiasi sistema operativo o file .efi, anche con firma non attendibile, non valida o mancante.
Secure Boot è una funzionalità del firmware UEFI progettata per proteggere il processo di avvio impedendo il caricamento di driver o loader del sistema operativo che non siano firmati con una firma digitale accettabile.
La maggior parte dei computer moderni viene fornita con Secure Boot attivato per impostazione predefinita, requisito per il processo di certificazione di Windows 10. Sebbene possa essere disabilitato su tutte le schede madri tipiche dal menu di configurazione UEFI, a volte non è facilmente possibile, ad esempio a causa di una password di configurazione UEFI su un laptop aziendale che l'utente non conosce.
Questo disco, dopo essere stato installato su una chiavetta USB e avviato, disabilita efficacemente le funzionalità di protezione di Secure Boot e consente temporaneamente di eseguire quasi tutte le operazioni sul PC come se Secure Boot fosse disabilitato. Può essere utile per il recupero dati, la reinstallazione del sistema operativo o semplicemente per avviare da USB senza dover pensare a passaggi aggiuntivi.
Scarica il file immagine dalla pagina delle release, scrivilo su una chiavetta USB utilizzando uno dei seguenti programmi:
ATTENZIONE: tutti i dati sulla tua chiavetta USB verranno cancellati.
L'immagine contiene una singola partizione FAT32 da 500 MiB. Usa gparted o un tool simile per ridimensionarla e ottenere l'intero spazio dell'unità USB.
Al primo avvio su un PC con Secure Boot, apparirà una finestra di messaggio "Access Violation". Premi OK e scegli la voce di menu "Enroll cert from file". Seleziona ENROLL_THIS_KEY_IN_MOKMANAGER.cer e conferma la registrazione del certificato.
I computer senza Secure Boot si avvieranno direttamente in GRUB senza intervento manuale.
Questo disco funziona con Secure Boot?
Sì, funziona. Carica qualsiasi kernel Linux non firmato o non attendibile, file .efi o driver, dopo la registrazione manuale della chiave al primo avvio utilizzando il software MokManager. Non è necessario disabilitare Secure Boot per eseguire la registrazione della chiave al primo avvio.
Questo disco funziona su computer basati su UEFI senza Secure Boot, o con Secure Boot disabilitato?
Sì, funziona come un GRUB2 standard.
Questo disco funziona su computer più vecchi con BIOS?
Sì, funziona come qualsiasi altro bootloader GRUB2.
Questo disco può essere utilizzato per bypassare Secure Boot in un bootkit/virus UEFI?
No, non proprio. Questo disco richiede l'intervento manuale di un utente fisico al primo avvio, il che elimina lo scopo del bootkit di essere furtivo.
Posso sostituire GRUB con un altro bootloader EFI (rEFInd, syslinux, systemd-boot)?
Sì, sostituisci grubx64_real.efi/grubia32_real.efi con i tuoi file. Il bootloader non deve essere firmato e dovrebbe anche avviare qualsiasi file .efi grazie alla Policy di Sicurezza installata da grubx64.efi/grubia32.efi (PreLoader), proprio come GRUB2 incluso nel disco.
Il processo di avvio UEFI di questo disco avviene in 3 fasi.
bootx64.efi (shim) → grubx64.efi (preloader) → grubx64_real.efi (grub2) → file EFI/sistema operativo
Fase 1: la scheda madre carica shim. Shim è un loader speciale che carica semplicemente il prossimo eseguibile, nel nostro caso grubx64.efi (preloader). Shim è firmato con la chiave Microsoft, il che gli consente di essere avviato in modalità Secure Boot su tutte le schede madri PC standard.
Shim contiene il certificato Fedora incorporato (perché estratto dal repository Fedora). Se Secure Boot è attivato, poiché grubx64.efi non è firmato con il certificato Fedora incorporato, shim avvia un altro eseguibile, MokManager.efi, che è un software di gestione delle chiavi shim. MokManager chiede all'utente di procedere con il processo di registrazione di una chiave o di un hash.
Le versioni più recenti di shim installano hook per le funzioni UEFI LoadImage, StartImage, ExitBootServices e Exit per "Indurire contro bootloader non partecipanti", che devono essere bypassati per il caso d'uso di questo disco. Lo shim di Fedora non installa policy di sicurezza UEFI personalizzate, ecco perché non è possibile caricare file efi auto-firmati da un bootloader di secondo livello, anche se si aggiungono i loro hash o certificati tramite MokManager.
Fase 2: preloader è un software simile a shim. Esegue anche la convalida degli eseguibili e carica il successivo file efi. Il preloader incluso in questo disco è una versione ridotta che esegue una sola funzione: installare una policy di sicurezza UEFI che permette tutto. Ciò consente il caricamento di eseguibili efi arbitrari con le funzioni UEFI LoadImage/StartImage anche al di fuori di GRUB (ad esempio, in UEFI Shell) e bypassa l'indurimento di shim.
Fase 3: GRUB2 è un noto bootloader universale. È stato patchato per caricare il kernel Linux senza ulteriore verifica (comandi linux/linuxefi), caricare binari .efi in memoria e saltare al loro punto di ingresso (comando chainloader) e per imitare un "bootloader partecipante" per shim.
Leggi il mio articolo su questo argomento: Exploiting signed bootloaders to circumvent UEFI Secure Boot (anche disponibile in russo)
Super UEFIinSecureBoot Disk GRUB2 imposta la variabile suisbd=1. Può essere utilizzata per rilevare il GRUB2 patchato del disco in un grub.conf condiviso tra più bootloader.
Dalla versione 3, GRUB utilizza il loader .efi UEFI standard, poiché ci sono alcuni problemi con l'implementazione del loader interno. Per utilizzare il loader interno, aggiungi set efi_internal_loader=1 nel file di configurazione di GRUB. Entrambi i metodi possono caricare file .efi non attendibili.