Lors d’un audit PingCastle, il arrive que le mot de passe du compte krbtgt n’ait jamais été changé. Pour des raisons de sécurité, il est recommandé de changer ce mot de passe tous les 365 jours.
Le changement doit être réalisé en deux étapes :
- Premier changement du mot de passe.
- Second changement 10 heures plus tard (afin de garantir l’expiration des tickets Kerberos basés sur l’ancienne clé).
Conseils :
- Planifier la première rotation vendredi soir puis la seconde pendant le week‑end pour réduire l’impact.
- Effectuer les mises à jour Windows Update et s’assurer que tous les DC sont sur la même version de build.
1) 📥 Télécharger le script
Récupérer le script sur GitHub :
Public-AD-Scripts — Reset-KrbTgt-Password-For-RWDCs-And-RODCs.ps1
2) ⚡ Lancer le script en tant qu’administrateur
- Exécuter une console PowerShell en tant qu’Administrateur du domaine.
- Importer/Exécuter le script puis attendre l’affichage du menu.
3) 🧭 Présentation des modes du script
- Mode 1 : Vérifications préalables (modules PowerShell, nom & niveau fonctionnel du domaine, durée de vie des tickets Kerberos, expiration des tickets N‑1, connectivité avec les DC, etc.).
- Mode 2 : Simulation avec création d’objets pour tester l’interconnexion AD.
- Mode 3 : Création d’un utilisateur TEST virtuel et reset virtuel.
- Mode 4 : Création réelle d’un utilisateur TEST et reset virtuel.
- Mode 5 : Utilise le compte
krbtgtréel avec reset virtuel. - Mode 6 : Utilise le compte
krbtgtréel avec reset réel ✅ (mode choisi pour la réinitialisation). - Mode 8 : Création de l’utilisateur TEST.
- Mode 9 : Suppression de l’utilisateur TEST.
4) 🔄 Procédure de réinitialisation (Mode 6)
- Sélectionner le Mode 6 pour démarrer la réinitialisation réelle.
- Lorsque le script le demande, exécuter d’abord le Mode 1 pour les vérifications.
- Renseigner
CONTINUEpour appliquer les paramètres. - Le premier changement de mot de passe est effectué.
Important : attendre 10 heures avant d’effectuer la deuxième rotation, afin que tous les tickets Kerberos basés sur la clé N‑1 expirent.
5) ⏳ Vérification avant la seconde rotation
Relancer le script. Le tableau récapitulatif affiche une ligne Date/Time N‑1. Par exemple, si N‑1 indique 02:34, la seconde rotation ne peut se faire qu’au moins 10 heures après cette heure.
6) ✅ Vérifier le changement du mot de passe krbtgt (PowerShell)
Exécuter la commande suivante pour confirmer la date/heure de la dernière modification :
Get-ADUser -Identity krbtgt -Properties PasswordLastSet | Select-Object Name, PasswordLastSet
La colonne PasswordLastSet doit refléter la date de la rotation effectuée.
📌 Récapitulatif bonnes pratiques
- Programmer une rotation annuelle (≈ tous les 365 jours).
- Effectuer la rotation en deux passes espacées de 10 heures.</l
