AD non memorizza solo un tipo di hash. Quando si modifica la password, la DC riceve la versione in chiaro della password, ne controlla la complessità e quindi genera e archivia MD4, MD5, PBKDF2 (4096 * SHA1) e diversi altri tipi di hash. È perché ogni meccanismo di autenticazione (NTLM, Kerberos, Digest, ...) utilizza una diversa funzione di hash e AD deve supportare tutti.
Gli hash delle password sono memorizzati in questi attributi AD: unicodePwd, dBCSPwd, lmPwdHistory, ntPwdHistory e SupplementalCredentials. Per motivi di sicurezza, non è possibile leggerli tramite LDAP o ADSI. Ma ho recentemente trovato un modo per recuperarli e ha creato un PowerShell cmdlet che può farlo:
Get-ADReplAccount -SamAccountName John -Domain Contoso -Server LON-DC1
V'è anche un modo poco documentata per spingere gli hash MD4 (AKA NT hash) a workstation o dC attraverso l'eredità SAMR protocol . Poiché non esistono comandi incorporati che espongano questa funzionalità, ho creato anche PowerShell cmdlets.
Per generare un hash NT, è possibile utilizzare questo comando PowerShell:
$hash = ConvertTo-NTHash (Read-Host -AsSecureString)
E, infine, questo comando spinge l'hash NT a AD:
Set-SamAccountPasswordHash -SamAccountName john -Domain ADATUM -NTHash $hash -Server dc1.adatum.com
Questi comandi possono essere utilizzati per la migrazione password tra account locali e di dominio o tra AD e Samba. Ma attenzione, l'autenticazione Kerberos-AES e WDigest non funzionerà con questo account, solo NTLM e Kerberos-RC4.
fonte
2015-08-05 06:24:22