Super UEFIinSecureBoot Disk ist ein bootfähiges Proof-of-Concept-Image (nicht aktiv gewartet oder erweitert) mit GRUB2-Bootloader, das als Basis für Wiederherstellungs-USB-Flash-Laufwerke verwendet werden soll.
Hauptmerkmal: Die Festplatte ist bei aktiviertem UEFI Secure Boot-Modus voll funktionsfähig. Es kann jedes Betriebssystem oder jede EFI-Datei starten, auch mit nicht vertrauenswürdiger, ungültiger oder fehlender Signatur.
Secure Boot ist eine Funktion der UEFI-Firmware, die den Startvorgang sichern soll, indem das Laden von Treibern oder Betriebssystemladern verhindert wird, die nicht mit einer akzeptablen digitalen Signatur signiert sind.
Bei den meisten modernen Computern ist Secure Boot standardmäßig aktiviert. Dies ist eine Voraussetzung für den Windows 10-Zertifizierungsprozess. Obwohl es auf allen typischen Motherboards im UEFI-Setup-Menü deaktiviert werden kann, ist dies manchmal nicht einfach möglich, z. B. weil das UEFI-Setup-Passwort in einem Firmen-Laptop dem Benutzer nicht bekannt ist.
Nachdem dieser Datenträger auf einem USB-Flash-Laufwerk installiert und von dort gebootet wurde, deaktiviert er effektiv die Secure Boot-Schutzfunktionen und ermöglicht vorübergehend die Ausführung fast aller Aktionen mit dem PC, als ob Secure Boot deaktiviert wäre. Dies kann für die Datenwiederherstellung, die Neuinstallation des Betriebssystems oder einfach zum Booten von USB nützlich sein, ohne über zusätzliche Schritte nachdenken zu müssen.
Laden Sie die Bilddatei von der Veröffentlichungsseite herunter und schreiben Sie sie mit einem der folgenden Programme auf den USB-Stick:
ACHTUNG: Alle Ihre USB-Flash-Daten werden gelöscht.
Das Image enthält eine einzelne FAT32-500-MiB-Partition. Verwenden Sie gparted oder ein ähnliches Tool, um die Größe zu ändern, um den vollen Speicherplatz auf dem USB-Laufwerk zu erhalten.
Beim ersten Start auf einem PC mit Secure Boot wird das Meldungsfeld „Zugriffsverletzung“ angezeigt. Drücken Sie OK und wählen Sie die Menüoption „Zertifikat aus Datei registrieren“. Wählen Sie ENROLL_THIS_KEY_IN_MOKMANAGER.cer
aus und bestätigen Sie die Registrierung des Zertifikats.
Computer ohne Secure Boot booten ohne manuellen Eingriff mit GRUB.
Funktioniert diese Festplatte im Secure Boot?
Ja, das tut es. Es lädt alle nicht signierten oder nicht vertrauenswürdigen Linux-Kernel- oder .efi-Dateien oder -Treiber nach der manuellen Schlüsselregistrierung beim ersten Start mithilfe der MokManager-Software. Sie müssen Secure Boot nicht deaktivieren, um die Registrierung des Fist-Boot-Schlüssels durchzuführen.
Funktioniert diese Festplatte auf UEFI-basierten Computern ohne Secure Boot oder mit deaktiviertem Secure Boot?
Ja, es würde wie ein Standard-GRUB2 funktionieren.
Funktioniert diese Festplatte auf älteren Computern mit BIOS?
Ja, es funktioniert genauso wie jeder andere GRUB2-Bootloader.
Kann diese Festplatte verwendet werden, um Secure Boot in UEFI-Bootkit/-Virus zu umgehen?
Nein, nicht wirklich. Diese Festplatte erfordert beim ersten Start einen manuellen Eingriff eines physischen Benutzers, wodurch der Zweck des Bootkits entfällt, heimlich zu sein.
Kann ich GRUB durch einen anderen EFI-Bootloader (rEFInd, syslinux, systemd-boot) ersetzen?
Ja, ersetzen Sie grubx64_real.efi
/ grubia32_real.efi
durch Ihre Dateien. Der Bootloader muss nicht signiert werden und sollte dank der von grubx64.efi
/ grubia32.efi
(PreLoader) installierten Sicherheitsrichtlinie auch alle .efi-Dateien starten, genau wie GRUB2 auf der Festplatte.
Der UEFI-Startvorgang dieser Festplatte wird in drei Schritten durchgeführt.
bootx64.efi (shim) → grubx64.efi (preloader) → grubx64_real.efi (grub2) → EFI file/OS
Stufe 1 : Motherboard lädt Shim. Shim ist ein spezieller Loader, der nur die nächste ausführbare Datei lädt, in unserem Fall grubx64.efi (Preloader). Shim ist mit einem Microsoft-Schlüssel signiert, wodurch es im Secure Boot-Modus auf allen serienmäßigen PC-Motherboards gestartet werden kann.
Shim enthält ein eingebettetes Fedora-Zertifikat (da es aus dem Fedora-Repository extrahiert wird). Wenn Secure Boot aktiviert ist, startet Shim eine andere ausführbare Datei, MokManager.efi, eine spezielle Shim-Schlüsselverwaltungssoftware, da grubx64.efi nicht mit eingebettetem Fedora-Zertifikat signiert ist. MokManager fordert den Benutzer auf, mit der Schlüssel- oder Hash-Registrierung fortzufahren.
Neuere Versionen von Shim-Installations-Hooks für UEFI LoadImage, StartImage, ExitBootServices und Exit-Funktionen zum Schutz vor nicht teilnehmenden Bootloadern, die für diesen Festplatten-Anwendungsfall umgangen werden sollten. Fedoras Shim installiert keine benutzerdefinierten UEFI-Sicherheitsrichtlinien. Aus diesem Grund ist es nicht möglich, selbstsignierte EFI-Dateien vom Bootloader der zweiten Stufe zu laden, selbst wenn Sie deren Hashes oder Zertifikate mit MokManager hinzufügen.
Stufe 2 : Preloader ist eine Software ähnlich wie Shim. Außerdem führt es eine ausführbare Validierung durch und lädt die nächste EFI-Datei. Der auf dieser Diskette enthaltene Preloader ist eine abgespeckte Version, die nur eine Funktion ausführt: die Installation der UEFI-Sicherheitsrichtlinie „Alles zulassen“. Dies ermöglicht das Laden beliebiger ausführbarer EFI-Dateien mit den UEFI-Funktionen LoadImage/StartImage auch außerhalb von GRUB (z. B. in der UEFI-Shell) und umgeht Shim-Hardening.
Stufe 3 : GRUB2 ist ein bekannter universeller Bootloader. Es wurde gepatcht, um den Linux-Kernel ohne zusätzliche Überprüfung (Linux/Linuxefi-Befehle) zu laden, .efi-Binärdateien in den Speicher zu laden und zu seinem Einstiegspunkt zu springen (Chainloader-Befehl) und einen „teilnehmenden Bootloader“ für Shim nachzuahmen.
Lesen Sie meinen Artikel zu diesem Thema: Ausnutzung signierter Bootloader zur Umgehung von UEFI Secure Boot (auch auf Russisch verfügbar)
Super UEFIinSecureBoot Disk GRUB2 setzt die Variable suisbd=1
. Es könnte verwendet werden, um gepatchtes GRUB2 der Festplatte in einer grub.conf
zu erkennen, die von mehreren Bootloadern gemeinsam genutzt wird.
Seit Version 3 verwendet GRUB den Standard-UEFI-.efi-Dateilader, da es einige Probleme mit der internen Loader-Implementierung gibt. Um den internen Loader zu verwenden, fügen Sie set efi_internal_loader=1
zur GRUB-Konfigurationsdatei hinzu. Beide Methoden können nicht vertrauenswürdige .efi-Dateien laden.