web-dev-qa-db-fra.com

Comprendre les hachages de mots de passe locaux Windows (NTLM)

J'ai récemment vidé certains hachages de ma machine locale parce que j'essaie de comprendre le processus dans lequel Windows 7 hache ses mots de passe.

J'ai découvert mon hachage de mot de passe local qui ressemble à (similaire): Jason:502:aad3c435b514a4eeaad3b935b51304fe:c46b9e588fa0d112de6f59fd6d58eae3:::

Maintenant, ce que je voudrais savoir, c'est ce que signifient les différentes sections, donc:

Nous avons ce hachage: Jason:502:aad3c435b514a4eeaad3b935b51304fe:c46b9e588fa0d112de6f59fd6d58eae3::: qui semble être séparé par : si nous séparons cela par le : on se retrouve avec ça:

[Jason, :, 502, :, aad3c435b514a4eeaad3b935b51304fe, :, c46b9e588fa0d112de6f59fd6d58eae3, :, :, :]
  • Je suppose que la première partie Jason est le nom d'utilisateur, c'est le plus logique pour moi.
  • La troisième partie aad3c435b514a4eeaad3b935b51304fe est le hachage ntlm serait ma meilleure estimation.

Si mon hypothèse est correcte, cela laisse c46b9e588fa0d112de6f59fd6d58eae3 et 502 la gauche.

  • Je suppose que l'autre hachage (c46b9e588fa0d112de6f59fd6d58eae3) est la clé dérivée, créée à partir du mot de passe lui-même.
  • Le 502 serait les données binaires de l'utilisateur.
  • Et le : n'est qu'un séparateur ou un remplissage.

Maintenant, pour ma question, ai-je raison dans mes hypothèses sur ce que chaque partie du hachage représente? Sinon, quelqu'un peut-il m'expliquer ce que représente chaque partie?

7
13aal

En utilisant

[Jason, :, 502, :, aad3c435b514a4eeaad3b935b51304fe, :, c46b9e588fa0d112de6f59fd6d58eae3, :, :, :] 

comme exemple

  • Jason est le nom d'utilisateur

  • 502 est l'identifiant relatif (500 est administrateur, 502 ici est un compte Kerberos.) (adsecurity.org/?p=483)

  • aad3c435b514a4eeaad3b935b51304f est le hachage LM

  • c46b9e588fa0d112de6f59fd6d58eae3 est le hachage NT

Les détails sur la différence entre les hachages peuvent être trouvés ici: LM/NT Hashes

8
iainpb