AD ne stocke pas qu'un seul type de hachage. Lorsque vous changez votre mot de passe, AD reçoit la version en clair du mot de passe, vérifie sa complexité, puis génère et stocke les hachages MD4, MD5, PBKDF2 (4096 * SHA1) et plusieurs autres types de hachages. C'est parce que chaque mécanisme d'authentification (NTLM, Kerberos, Digest,...) utilise une fonction de hachage différente et AD doit les supporter tous.
Les hachages de mots de passe sont stockés dans ces attributs AD : unicodePwd, dBCSPwd, lmPwdHistory, ntPwdHistory et supplementalCredentials. Pour des raisons de sécurité, vous ne pouvez pas les lire via LDAP ou ADSI. Mais j'ai récemment trouvé un moyen de les récupérer et j'ai créé un fichier cmdlet PowerShell qui peuvent le faire :
Get-ADReplAccount -SamAccountName John -Domain Contoso -Server LON-DC1
Il existe également un moyen peu documenté de pousser des hachages MD4 (alias hachages NT) vers une station de travail ou AD par le biais de l'ancien système de gestion des données. Protocole SAMR . Comme il n'y a pas de commandes intégrées qui exposent cette fonctionnalité, j'ai créé Les cmdlets PowerShell pour faire ça, aussi.
Pour générer un hachage NT, vous pouvez utiliser cette commande PowerShell :
$hash = ConvertTo-NTHash (Read-Host -AsSecureString)
Et enfin, cette commande pousse le hachage NT vers AD :
Set-SamAccountPasswordHash -SamAccountName john -Domain ADATUM -NTHash $hash -Server dc1.adatum.com
Ces commandes peuvent être utilisées pour migrer les mots de passe entre les comptes locaux et les comptes de domaine ou entre AD et Samba. Mais attention, l'authentification Kerberos-AES et WDigest ne fonctionnera pas avec ce compte, seulement NTLM et Kerberos-RC4.