Script d'orchestration d'atténuation du démarrage sécurisé
Aperçu
Ce script PowerShell automatise les étapes d'atténuation du démarrage sécurisé pour CVE-2023-24932, comme indiqué dans le Guide de sécurité Microsoft. Il gère l'ensemble du processus, y compris les mises à jour du registre, les redémarrages et la validation des journaux d'événements, afin de garantir la protection de votre système contre le bootkit UEFI BlackLotus.
Fonctionnalités
Orchestration entièrement automatisée : Le script vous guide à travers chaque étape, y compris plusieurs redémarrages, et reprend automatiquement après chaque redémarrage.
Validation du journal des événements : Vérifie des ID d'événement spécifiques (par exemple, 1799, 1037) pour confirmer les mises à jour réussies.
Alerte BitLocker : Avertit si BitLocker est actif et garantit que vous disposez de la clé de récupération.
Vérifications de compatibilité matérielle : Bloque l'exécution sur des configurations non prises en charge (par exemple, TPM 2.0 sur Windows Server 2012/R2).
Options de vérification manuelle : Permet des vérifications manuelles de la signature du gestionnaire de démarrage et des bases de données du démarrage sécurisé.
Étapes couvertes
Le script suit le guide officiel de Microsoft et exécute les étapes suivantes dans l'ordre :
Mise à jour DB (0x40)
Ajoute le certificat « Windows UEFI CA 2023 » à la base de données du démarrage sécurisé (DB).
Nécessite 2 redémarrages.
Mise à jour du gestionnaire de démarrage (0x100)
Met à jour le gestionnaire de démarrage vers une version signée avec le certificat « Windows UEFI CA 2023 ».
Nécessite 2 redémarrages.
Vérification manuelle (facultative)
Copie le gestionnaire de démarrage (bootmgfw.efi) pour une vérification manuelle de la signature.
Vérifie si le certificat « Windows UEFI CA 2023 » est présent dans la DB.
Mise à jour DBX (0x80)
Ajoute le certificat « Windows Production PCA 2011 » à la base de données des signatures interdites du démarrage sécurisé (DBX).
Bloque les anciens gestionnaires de démarrage signés avec ce certificat.
Nécessite 2 redémarrages.
Mise à jour SVN (0x200)
Met à jour le numéro de version sécurisé (SVN) du démarrage sécurisé pour empêcher les attaques de rollback.
Nécessite 2 redémarrages.
Rapport final
Affiche un résumé de la configuration du démarrage sécurisé et des entrées du journal des événements.
Prérequis
Version Windows : Windows 10/11, Windows Server 2016/2019/2022 ou ultérieur.
Privilèges d'administrateur : Le script doit être exécuté en tant qu'administrateur.
Démarrage sécurisé activé : Assurez-vous que le démarrage sécurisé est activé dans le micrologiciel UEFI de votre système.
Clé de récupération BitLocker : Si BitLocker est actif, assurez-vous de disposer de la clé de récupération.
Suivez les invites à l'écran. Le script vous guidera à travers chaque étape, y compris les redémarrages.
Vérifications matérielles :
Le script vérifie les fournisseurs de matériel et la compatibilité conformément au Guide de sécurité Microsoft
Validation du journal des événements
Le script vérifie les ID d'événement suivants pour confirmer les mises à jour réussies :
1036 : Mise à jour DB (0x40) réussie.
1799 : Mise à jour du gestionnaire de démarrage (0x100) réussie.
1037 : Mise à jour DBX (0x80) réussie.
Si un événement n'est pas trouvé, le script affiche un avertissement mais continue l'exécution. Vous pouvez vérifier manuellement les journaux à l'aide de l'Observateur d'événements.
Exemple après l'exécution réussie de ce script :
Remarques
Modifications irréversibles : Une fois la mise à jour DBX (0x80) appliquée, elle ne peut pas être annulée sans réinitialiser le démarrage sécurisé.
Support de récupération : Assurez-vous de disposer d'un support de récupération à jour avant d'appliquer la mise à jour DBX. Un support plus ancien peut ne pas démarrer après la mise à jour.
Test : Testez le script dans un environnement hors production avant de le déployer à grande échelle.
Dépannage
Erreurs du journal des événements : Si le script ne trouve pas les ID d'événement attendus, vérifiez manuellement les journaux système pour détecter les erreurs.
Récupération BitLocker : Si le système entre en mode de récupération BitLocker, utilisez la clé de récupération pour déverrouiller le lecteur.
Problèmes de micrologiciel : Certains micrologiciels UEFI peuvent ne pas prendre en charge les mises à jour requises. Contactez votre fournisseur de matériel pour obtenir des mises à jour.
Ce script est fourni sous licence MIT. Utilisation à vos risques et périls.
Contribution
Si vous rencontrez des problèmes ou avez des suggestions d'amélioration, veuillez ouvrir un problème ou soumettre une demande de tirage sur GitHub.
Avis de non-responsabilité
Ce script est fourni en l'état, sans garantie d'aucune sorte. Testez toujours dans un environnement hors production avant de le déployer sur des systèmes en production.