
Super UEFIinSecureBoot Disk: Booten Sie jedes Betriebssystem oder jede .efi-Datei, ohne UEFI Secure Boot zu deaktivieren
Super UEFIinSecureBoot Disk ist ein Proof-of-Concept (nicht aktiv gewartet oder weiterentwickelt) bootbares Image mit GRUB2-Bootloader, das als Grundlage für Wiederherstellungs-USB-Sticks dienen soll.
Hauptmerkmal: Die Disk ist voll funktionsfähig bei aktiviertem UEFI Secure Boot Modus. Sie kann jedes Betriebssystem oder jede .efi-Datei starten, selbst mit nicht vertrauenswürdiger, ungültiger oder fehlender Signatur.
Secure Boot ist eine Funktion der UEFI-Firmware, die den Bootvorgang sichern soll, indem das Laden von Treibern oder OS-Ladern verhindert wird, die nicht mit einer akzeptablen digitalen Signatur signiert sind.
Die meisten modernen Computer sind standardmäßig mit aktiviertem Secure Boot ausgestattet, was eine Voraussetzung für den Windows 10-Zertifizierungsprozess ist. Obwohl es auf allen typischen Mainboards im UEFI-Setup-Menü deaktiviert werden kann, ist dies manchmal nicht einfach möglich, z. B. aufgrund eines UEFI-Setup-Passworts auf einem Firmenlaptop, das der Benutzer nicht kennt.
Diese Disk deaktiviert nach der Installation auf einem USB-Stick und dem Booten effektiv die Secure Boot-Schutzfunktionen und erlaubt vorübergehend, fast alle Aktionen mit dem PC durchzuführen, als ob Secure Boot deaktiviert wäre. Dies könnte für die Datenwiederherstellung, die Neuinstallation des Betriebssystems oder einfach zum Booten von USB ohne zusätzliche Schritte nützlich sein.
Laden Sie die Image-Datei von der Releases-Seite herunter und schreiben Sie sie mit einem der folgenden Programme auf einen USB-Stick:
WARNUNG: Alle Daten auf Ihrem USB-Stick werden gelöscht.
Das Image enthält eine einzelne FAT32-Partition von 500 MiB. Verwenden Sie gparted oder ein ähnliches Tool, um sie zu vergrößern und den gesamten USB-Stick-Speicherplatz zu nutzen.
Beim ersten Start auf einem PC mit Secure Boot wird ein Access Violation-Meldungsfenster angezeigt. Drücken Sie OK und wählen Sie die Menüoption "Enroll cert from file". Wählen Sie ENROLL_THIS_KEY_IN_MOKMANAGER.cer aus und bestätigen Sie das Zertifikatseintragen.
Computer ohne Secure Boot booten direkt zu GRUB, ohne manuellen Eingriff.
Funktioniert diese Disk im Secure Boot?
Ja, sie funktioniert. Sie lädt nach dem manuellen Schlüsseleintrag beim ersten Start mit der MokManager-Software jeden unsignierten oder nicht vertrauenswürdigen Linux-Kernel oder .efi-Datei oder Treiber. Sie müssen Secure Boot nicht deaktivieren, um den ersten Schlüsseleintrag durchzuführen.
Funktioniert diese Disk auf UEFI-basierten Computern ohne Secure Boot oder mit deaktiviertem Secure Boot?
Ja, sie funktioniert wie ein normaler GRUB2.
Funktioniert diese Disk auf älteren Computern mit BIOS?
Ja, sie funktioniert wie jeder andere GRUB2-Bootloader.
Kann diese Disk verwendet werden, um Secure Boot in einem UEFI-Bootkit/Virus zu umgehen?
Nein, nicht wirklich. Diese Disk erfordert beim ersten Start einen manuellen Eingriff eines physischen Benutzers, was den Zweck eines Bootkits, versteckt zu sein, zunichte macht.
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 sein und sollte auch jede .efi-Datei starten, dank der von grubx64.efi/grubia32.efi (PreLoader) installierten Sicherheitsrichtlinie, genau wie der auf der Disk enthaltene GRUB2.
Der UEFI-Bootvorgang dieser Disk erfolgt in 3 Stufen.
bootx64.efi (shim) → grubx64.efi (preloader) → grubx64_real.efi (grub2) → EFI file/OS
Stufe 1: Das Motherboard lädt shim. Shim ist ein spezieller Lader, der einfach das nächste ausführbare Programm, in unserem Fall grubx64.efi (Preloader), lädt. Shim ist mit dem Microsoft-Schlüssel signiert, was den Start im Secure Boot Modus auf allen handelsüblichen PC-Motherboards ermöglicht.
Shim enthält ein eingebettetes Fedora-Zertifikat (da es aus dem Fedora-Repository extrahiert wurde). Wenn Secure Boot aktiviert ist, bootet shim, da grubx64.efi nicht mit dem eingebetteten Fedora-Zertifikat signiert ist, ein anderes ausführbares Programm, MokManager.efi, eine spezielle Shim-Schlüsselverwaltungssoftware. MokManager fordert den Benutzer auf, mit dem Schlüssel- oder Hash-Eintragungsprozess fortzufahren.
Neuere Versionen von Shim installieren Hooks für die UEFI-Funktionen LoadImage, StartImage, ExitBootServices und Exit, um "gegen nicht teilnehmende Bootloader zu härten", was für den Anwendungsfall dieser Disk umgangen werden muss. Fedoras Shim installiert keine benutzerdefinierten UEFI-Sicherheitsrichtlinien, weshalb es nicht möglich ist, selbstsignierte .efi-Dateien von einem Bootloader der zweiten Stufe zu laden, selbst wenn man deren Hashes oder Zertifikate mit MokManager hinzufügt.
Stufe 2: Preloader ist eine Software ähnlich wie Shim. Sie führt ebenfalls eine Überprüfung der Ausführbarkeit durch und lädt die nächste .efi-Datei. Der in dieser Disk enthaltene Preloader ist eine abgespeckte Version, die nur eine Funktion ausführt: Installieren einer "alles erlauben"-UEFI-Sicherheitsrichtlinie. Dies erlaubt das Laden beliebiger .efi-Programme mit den UEFI-Funktionen LoadImage/StartImage, auch außerhalb von GRUB (z.B. in der UEFI Shell), und umgeht die Shims-Härtung.
Stufe 3: GRUB2 ist ein bekannter universeller Bootloader. Er wurde gepatcht, um Linux-Kernel ohne zusätzliche Überprüfung zu laden (linux/linuxefi-Befehle), .efi-Binärdateien in den Speicher zu laden und zu deren Einstiegspunkt zu springen (chainloader-Befehl) und um für Shim einen "teilnehmenden Bootloader" zu imitieren.
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. Dies kann verwendet werden, um den gepatchten GRUB2 der Disk 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 Lader-Implementierung gibt. Um den internen Lader zu verwenden, fügen Sie set efi_internal_loader=1 in die GRUB-Konfigurationsdatei ein. Beide Methoden können nicht vertrauenswürdige .efi-Dateien laden.