Dans ce tutoriel, je vais vous expliquer comment changer le mot du passe du compte KrbTgt.
Avant de vous expliquer comment opérer le changement du mot de passe de ce compte, je vais vous donner quelques explications.
C’est qui krbtgt ?
Le compte krbtgt est compte de service désactivé dans l’Active Directory, qui est utilisé pour la distribution des Tickets Kerberos, il intervient dans le processus d’authentification Kerberos.
Ce compte a les particularités suivantes :
- Il est désactivé
- Il conserve 2 mots de passe dans son historique
Pour rappel, les tickets Kerberos ont une validité de 10 heures par défaut et ceci est configuré dans la stratégie Default Domain Policy.
Le compte utilisateur se trouve dans le conteneur Users, comme vous pouvez le voir sur la capture ci-dessous, on ne voit pas le compte.
Pour voir le compte, il est nécessaire de passer la vue en fonctionnalités avancées et on peut voir le compte krbtgt.
Maintenant que vous avez les informations de base sur ce compte, je vais vous expliquer pourquoi changer le mot de passe.
Pourquoi changer le mot de passe du krbtgt
La principale raison raison est la sécurité, en cas de compromission ou de doute d’attaque de votre environnement Active Directory par attaques de Golden Ticket, il est impératif de changer le mot de passe du compte.
Il est aussi conseillé d’opérer de changer le mot de passe une fois par an.
Changer le mot de passe du compte krbtgt
Le changement du mot de passe n’est pas quelque chose de compliqué à faire, mais elle nécessite de passe par un script PowerShell, un changement de mot de passe par l’interface graphique ne fonctionne pas et il ne faut surtout par le faire.
Microsoft ne propose pas d’outil pour le faire, mais il existe un script « plus ou moins officiel » qui permet de le faire.
Télécharger le script, voici plusieurs liens :
- New-KrbtgtKeys.ps1/New-KrbtgtKeys.ps1 at master · microsoft/New-KrbtgtKeys.ps1 · GitHub
- PowerShell/New-KrbgtKey · master · RDR-IT / Scripts · GitLab
Une fois télécharger, aller sur un contrôleur de domaine, de préférence le contrôleur qui a le rôle FSMO : PDC.
Lancer une invite PowerShell en administrateur et exécuter le scripts.
Au lancement du script, celui-ci vous demande si vous souhaiter lire les informations du script, entrer YES ou NO.
Pour ma part j’ai répondu NO.
Ensuite vous allez devoir choisir le mode d’exécution, ici, c’est le choix 6 qui nous intéresse pour changer le mot de passe, entrer 6.
En fonction de la version du script , le numéro du mode peut changer, avant la production, je vous conseille de tester un mode de test. Idéalement.
Si vous avez plusieurs forêts Active Directory, indiquer le nom de domaine, sinon valider en appuyant sur Entrée.
Il faut ensuite indiquer le domaine Active Directory, la aussi, si vous avez un seul domaine, appuyer directement sur Entrée pour valider sinon indiquer le nom de domaine.
Le script va tester si l’utilisateur courant est autorisé à effectuer ce changement.
Il faut maintenant indiquer les comptes KrbTgt qui vont être impacté par le changement de mot de passe, ici n’ayant pas de contrôleurs de domaine en lecture seul, je vais choisir 1 et valider en appuyant sur Entrée.
Confirmer le changement de mot de passe en entrant CONTINUE et en appuyant sur Entrée.
Le premier changement de passe est effectué.
Pour finir le changement de mot de passe, il faut répéter l’opération au bout de 10 heures, car afin de ne pas invalider l’ensemble des tickets déjà distribués, le compte garde en mémoire l’ancien mot de passe.
Vous savez maintenant comment changer le mot de passe du compte KrbTgt.
Afin de vous familiarisez avec l’opération, je vous conseille de le faire dans un environnement de Lab avant.
Normalement cette opération peut être effectué en journée, mais je vous conseille tout de même de le faire un week end.