Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
EfiGuard — Désactiver PatchGuard et Driver Signature Enforcement au démarrage | Kitploit
Outils/GitHubGitHub/mattiwatti/efiguard
Outils DéfensifsExploitationRétro-ingénierieAnalyse de Binaires
GitHubmattiwatti/efiguard

EfiGuard

Désactiver PatchGuard et Driver Signature Enforcement au démarrage

Voir le dépôt
2.5k40932il y a 3 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Aperçu

EfiGuard est un bootkit UEFI x64 portable qui patche le gestionnaire de démarrage Windows, le chargeur de démarrage et le noyau au moment du démarrage afin de désactiver PatchGuard et Driver Signature Enforcement (DSE).

Si vous cherchez simplement à essayer EfiGuard, passez à Usage.

Fonctionnalités

  • Prend actuellement en charge toutes les versions compatibles EFI de Windows x64 jamais publiées, de Vista SP1 à Windows 11.

  • Facile à utiliser : peut être démarré depuis une clé USB ou la partition EFI Windows via un chargeur qui trouve et démarre automatiquement Windows. Le pilote peut également être chargé et configuré manuellement à l'aide du shell UEFI ou du chargeur.

  • Utilise largement la bibliothèque de désassembleur Zydis pour un décodage rapide des instructions à l'exécution, afin de prendre en charge une analyse plus robuste que ce qui est possible avec la correspondance de signatures, qui nécessite souvent des modifications avec les nouvelles mises à jour du système d'exploitation.

  • Fonctionne passivement : le pilote ne charge ni ne démarre le gestionnaire de démarrage Windows. Il agit plutôt sur un chargement de bootmgfw.efi par le gestionnaire de démarrage du firmware via le menu de sélection de démarrage ou une application EFI telle que le chargeur. Si un système d'exploitation non Windows est démarré, le pilote se déchargera automatiquement.

  • Prend en charge le patching en quatre étapes lorsque bootmgfw.efi démarre bootmgr.efi plutôt que winload.efi. C'est le cas lorsqu'un fichier WIM est chargé pour démarrer WinPE, le programme d'installation de Windows ou le mode de récupération de Windows.

  • Récupération élégante : en cas d'échec du patch, le pilote affichera des informations d'erreur et demandera de continuer le démarrage ou de redémarrer en appuyant sur ESC. Cela est vrai même jusqu'à la dernière étape de patching du noyau, car la dernière étape de patching a lieu avant l'appel de ExitBootServices. De nombreux bootkits UEFI Windows hookent OslArchTransferToKernel qui, bien que facile à trouver par correspondance de motifs, est une fonction qui s'exécute en mode protégé après ExitBootServices. Cela signifie qu'aucun service de démarrage n'est disponible pour informer l'utilisateur que quelque chose s'est mal passé. bsod

    Échec de patch simulé avec informations d'erreur

  • Débogable : peut afficher des messages vers un débogueur de noyau et vers l'écran (bien que mis en mémoire tampon) pendant l'étape de patching du noyau, et vers un port série ou sans mémoire tampon vers l'écran pendant les étapes de patching du gestionnaire de démarrage et du chargeur de démarrage. Si le pilote est compilé avec des informations de débogage PDB, il est possible de charger les symboles de débogage à tout moment après l'initialisation de HAL en spécifiant la base virtuelle du pilote DXE et en le débogant comme vous le feriez avec un pilote NT classique.

  • Contournements de DSE : disponibles soit sous la forme d'une désactivation DSE simple de style UPGDSED au moment du démarrage, soit sous la forme d'un hook sur le service d'exécution EFI SetVariable(). Ce dernier sert de backdoor arbitraire de lecture/écriture en mode noyau qui peut être appelé depuis Windows à l'aide de NtSetSystemEnvironmentValueEx et permet de définir g_CiEnabled/g_CiOptions à la valeur souhaitée. Une petite application de style DSEFix nommée EfiDSEFix.exe est fournie pour le faire. Il est également possible de laisser DSE activé et de désactiver uniquement PatchGuard. Le chargeur utilisera la méthode de hook SetVariable par défaut, car certains programmes anti-triche et antivirus ne comprennent pas la différence entre les triches ou les logiciels malveillants et les pilotes auto-signés en général et ciblent le correctif UPGDSED.

  • Prend en charge les noyaux et chargeurs de démarrage modifiés sur disque en patchant ImgpValidateImageHash à chaque étape ainsi que ImgpFilterValidationFailure, ce qui peut silencieusement signaler certaines classes de violations à un TPM ou au fichier journal SI.

  • Permet à Secure Boot de fonctionner avec Windows 7 (ce n'est pas une blague !). Windows 7 lui-même ignore Secure Boot car il ne le prend pas en charge, ni (officiellement) même le démarrage sans CSM. Ceci est utile pour les personnes qui souhaitent utiliser Windows 7 sur un appareil verrouillé qui nécessite WHQL Secure Boot. Entrée du wiki sur la façon de faire fonctionner cela ici. win7_secureboot

    WinObjEx64 sur Windows 7 avec Secure Boot activé

Problèmes et limitations

  • EfiGuard ne peut pas désactiver l'Intégrité du Code renforcée par l'Hyperviseur (HVCI ou HyperGuard) car HVCI s'exécute à un niveau de privilège supérieur. EfiGuard peut coexister avec HVCI et même désactiver avec succès PatchGuard dans le noyau normal, mais cela n'est pas utile en pratique car HVCI attrapera ce que PatchGuard faisait auparavant. Les deux types de contournement de DSE sont rendus inutiles par HVCI : le patch au démarrage n'a aucun effet car le noyau délègue au noyau sécurisé les vérifications d'intégrité, et le hook SetVariable provoquera un bugcheck SECURE_KERNEL_ERROR s'il est utilisé pour écrire dans g_CiOptions.
  • Les noyaux vérifiés ne sont pas pris en charge en raison des différences dans le code d'initialisation de PatchGuard et DSE causées par les optimisations désactivées et les assertions ajoutées, ainsi que des modifications supplémentaires de PatchGuard dans les noyaux vérifiés. Cela ne devrait pas poser de problème car les noyaux vérifiés ne sont généralement pas utiles sans un débogueur de noyau attaché, ce qui désactive PatchGuard.

Utilisation

Il existe deux façons d'utiliser EfiGuard : démarrer l'application de chargeur, qui chargera le pilote et démarrera Windows pour vous, ou installer le pilote comme entrée de pilote UEFI afin qu'il soit chargé automatiquement par le firmware.

L'installation du pilote peut être préférable dans certaines configurations avancées, comme le multi-démarrage, mais le chargeur est le plus facile à utiliser et devrait bien fonctionner dans toutes les configurations. Voir le tableau ci-dessous pour les différences les plus importantes entre les deux méthodes. En cas de doute, choisissez l'application de chargeur.

EmplacementInstallationIgnorable ?Quel système d'exploitation est démarré ?
Entrée de pilote UEFIDoit être sur ESPVia le shell UEFI❌Comme avant
ChargeurN'importe oùNon nécessaire✔️Windows

Comparaison entre le chargeur et l'entrée de pilote UEFI

Télécharger l’outil