Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
EfiGuard — PatchGuard und Treibersignaturerzwingung beim Booten deaktivieren | Kitploit
Tools/GitHubGitHub/mattiwatti/efiguard
DefensivwerkzeugeExploitationReverse EngineeringBinäranalyse
GitHubmattiwatti/efiguard

EfiGuard

PatchGuard und Treibersignaturerzwingung beim Booten deaktivieren

Repository anzeigen
2.5k40932vor 3 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Übersicht

EfiGuard ist ein portables x64-UEFI-Bootkit, das den Windows-Boot-Manager, den Boot-Loader und den Kernel zur Bootzeit patcht, um PatchGuard und die Treibersignaturprüfung (DSE) zu deaktivieren.

Wenn Sie EfiGuard nur ausprobieren möchten, springen Sie zu Verwendung.

Funktionen

  • Unterstützt derzeit alle jemals veröffentlichten EFI-kompatiblen Versionen von Windows x64, von Vista SP1 bis Windows 11.

  • Einfach zu bedienen: Kann von einem USB-Stick oder der Windows-EFI-Partition über einen Lader gebootet werden, der Windows automatisch findet und startet. Der Treiber kann auch manuell über die UEFI-Shell oder den Lader geladen und konfiguriert werden.

  • Nutzt umfangreich die Zydis-Disassembler-Bibliothek für schnelle Laufzeit-Dekodierung von Anweisungen, um eine robustere Analyse zu unterstützen, als dies mit Signatur-Matching möglich ist, das oft Änderungen bei neuen OS-Updates erfordert.

  • Arbeitet passiv: Der Treiber lädt oder startet den Windows-Boot-Manager nicht. Stattdessen reagiert er auf ein Laden von bootmgfw.efi durch den Firmware-Boot-Manager über das Boot-Auswahlmenü oder eine EFI-Anwendung wie den Lader. Wenn ein Nicht-Windows-Betriebssystem gebootet wird, entlädt sich der Treiber automatisch.

  • Unterstützt vierstufiges Patchen für den Fall, dass bootmgfw.efi bootmgr.efi statt winload.efi startet. Dies ist der Fall, wenn eine WIM-Datei geladen wird, um WinPE, Windows-Setup oder Windows-Wiederherstellungsmodus zu booten.

  • Sanfte Wiederherstellung: Bei einem Patch-Fehler zeigt der Treiber Fehlerinformationen an und fordert auf, mit ESC den Bootvorgang fortzusetzen oder neu zu starten. Dies gilt sogar bis zur letzten Kernel-Patch-Stufe, da die letzte Patch-Stufe vor dem Aufruf von ExitBootServices stattfindet. Viele UEFI-Windows-Bootkits hooken OslArchTransferToKernel, das zwar leicht durch Pattern-Matching zu finden ist, aber eine Funktion ist, die im geschützten Modus nach ExitBootServices ausgeführt wird. Das bedeutet, dass keine Boot-Dienste verfügbar sind, um dem Benutzer mitzuteilen, dass etwas schiefgelaufen ist. bsod

    Simulierter Patch-Fehler mit Fehlerinformationen

  • Debug-fähig: Kann während der Kernel-Patching-Phase Nachrichten an einen Kernel-Debugger und an den Bildschirm (wenn auch gepuffert) ausgeben und während der Phasen des Boot-Managers und Boot-Loaders an eine serielle Schnittstelle oder ungepuffert an den Bildschirm. Wenn der Treiber mit PDB-Debug-Informationen kompiliert wird, können die Debug-Symbole zu jedem Zeitpunkt nach der HAL-Initialisierung geladen werden, indem die virtuelle DXE-Treiberbasis angegeben und der Treiber wie ein normaler NT-Treiber debuggt wird.

  • DSE-Bypässe: Verfügbar entweder als einfache UPGDSED-artige DSE-Deaktivierung zur Bootzeit oder als Hook auf den EFI-Laufzeitdienst SetVariable(). Letzteres dient als Hintertür für beliebiges Kernel-Mode-Lesen/Schreiben, die von Windows aus mit NtSetSystemEnvironmentValueEx aufgerufen werden kann und das Setzen von g_CiEnabled/g_CiOptions auf den gewünschten Wert erlaubt. Eine kleine DSEFix-ähnliche Anwendung namens EfiDSEFix.exe wird bereitgestellt, um dies zu tun. Es ist auch möglich, DSE aktiviert zu lassen und nur PatchGuard zu deaktivieren. Der Lader verwendet standardmäßig die SetVariable-Hook-Methode, da einige Anti-Cheat- und Anti-Viren-Programme den Unterschied zwischen Cheats oder Malware und selbstsignierten Treibern im Allgemeinen nicht verstehen und den UPGDSED-Fix ins Visier nehmen.

  • Unterstützt modifizierte Kernel und Boot-Loader auf der Festplatte, indem ImgpValidateImageHash auf jeder Stufe sowie ImgpFilterValidationFailure gepatcht wird, das möglicherweise stillschweigend bestimmte Verstöße an ein TPM oder die SI-Protokolldatei meldet.

  • Ermöglicht Secure Boot unter Windows 7 (kein Witz!). Windows 7 selbst ist sich Secure Boot nicht bewusst, da es es nicht unterstützt oder (offiziell) sogar das Booten ohne CSM. Dies ist nützlich für Personen, die Windows 7 auf einem gesperrten Gerät verwenden möchten, das WHQL Secure Boot erfordert. Wiki-Eintrag zur Funktionsweise hier. win7_secureboot

    WinObjEx64 unter Windows 7 mit aktiviertem Secure Boot

Probleme und Einschränkungen

  • EfiGuard kann Hypervisor-erzwungene Code-Integrität (HVCI oder HyperGuard) nicht deaktivieren, da HVCI auf einer höheren Privilegstufe läuft. EfiGuard kann mit HVCI koexistieren und PatchGuard im normalen Kernel sogar erfolgreich deaktivieren, aber dies ist in der Praxis nicht nützlich, da HVCI abfängt, was PatchGuard zuvor getan hat. Beide Arten von DSE-Bypass werden durch HVCI nutzlos: Der Bootzeit-Patch hat keine Wirkung, da der Kernel für Integritätsprüfungen an den Secure Kernel delegiert, und der SetVariable-Hook verursacht einen SECURE_KERNEL_ERROR-Bugcheck, wenn er zum Schreiben auf g_CiOptions verwendet wird.
  • Geprüfte Kernel werden nicht unterstützt, da die Unterschiede im PatchGuard- und DSE-Initialisierungscode aufgrund deaktivierter Optimierungen und hinzugefügter Asserts sowie zusätzlicher Änderungen an PatchGuard in geprüften Kerneln. Dies sollte kein Problem darstellen, da geprüfte Kernel ohne angeschlossenen Kernel-Debugger, der PatchGuard deaktiviert, im Allgemeinen nicht nützlich sind.

Verwendung

Es gibt zwei Möglichkeiten, EfiGuard zu verwenden: Booten der Lader-Anwendung, die den Treiber lädt und Windows für Sie startet, oder Installieren des Treibers als UEFI-Treibereintrag, damit er automatisch von der Firmware geladen wird.

Die Installation des Treibers kann in einigen fortgeschrittenen Konfigurationen wie beim Multi-Boot vorzuziehen sein, aber der Lader ist am einfachsten zu verwenden und sollte in allen Konfigurationen gut funktionieren. Siehe die Tabelle unten für die wichtigsten Unterschiede zwischen den beiden Methoden. Wenn Sie unsicher sind, wählen Sie die Lader-Anwendung.

OrtInstallationÜberspringbar?Welches OS wird gebootet?
UEFI-TreibereintragMuss auf ESP seinÜber UEFI-Shell❌Wie zuvor
LaderÜberallNicht benötigt✔️Windows

Vergleich Lader vs. UEFI-Treibereintrag

Den Lader booten

  1. Laden Sie EfiGuard herunter und benennen Sie EFI/Boot/Loader.efi in bootx64.efi um.
  2. Legen Sie die Dateien auf einem Boot-Laufwerk ab, z. B. einem FAT32-formatierten USB-Stick (für physische Maschinen) oder einer ISO/virtuellen Festplatte (für VMs). Angenommen Laufwerk X:, sollten die Pfade für die beiden Dateien nun X:/EFI/Boot/{bootx64|EfiGuardDxe}.efi sein.
  3. Booten Sie die Maschine von dem in Schritt 2 verwendeten Laufwerk. Die meisten Firmwares bieten ein Boot-Menü, um dies über F8/F10/F11/F12 zu tun. Wenn nicht, müssen Sie das BIOS so konfigurieren, dass es vom neuen Laufwerk bootet.
  4. Windows sollte nun booten, und Sie sollten während des Bootens EfiGuard-Meldungen sehen.
  5. Wenn Sie mit dem SetVariable-Hook (Standard) gebootet haben, führen Sie nach dem Booten EfiDSEFix.exe -d in einer Administratoreingabeaufforderung aus, um DSE zu deaktivieren, oder führen Sie EfiDSEFix.exe aus, um die vollständige Liste der Optionen zu sehen.
Tool herunterladen