Comment sont gérés les mots de passe Windows?

7

Je cherche de bonnes informations sur la manière dont Windows traite les mots de passe de ses utilisateurs:

  • Quels algorithmes sont utilisés (quel hash, utilisent-ils salt, ...)
  • Où sont stockés les mots de passe
  • Y a-t-il des exploits connus?

Windows XP, Vista et 7 sont particulièrement intéressants.

Je n’étais pas capable de trouver des informations utiles avec Google, la plupart des pages parlent de réinitialisation ou de craquage d’outils, mais la théorie m’intéresse.

tanascius
la source
1
NTLM, hachage LM, Kerberos. Regarder ces choses devrait vous donner un aperçu, je pense.
Joey

Réponses:

16

Quels algorithmes sont utilisés (quel hash, utilisent-ils salt, ...)

Deux hachages sont stockés: le hachage LM pour LanMan et un hachage MD4 (également appelé "hachage NT") pour NTLM.

Seul le hachage MD4 est normalement utilisé. Il n'est pas salé, car la base de données SAM est uniquement accessible au Administratorsgroupe et au NT AUTHORITY\SYSTEMcompte interne.

Le hachage LM n'est stocké que pour des raisons de compatibilité. (Voir le paragraphe ci-dessous.) Il est très peu sécurisé (son historique commence avec OS / 2 et MS-DOS), et craquable en (je pense) quelques minutes. Windows ne l'utilise que pour se connecter à d'anciens serveurs. Cependant, si elles sont stockées, elles peuvent être extraites avec un LiveCD ou autre.

Sous Windows 7, le stockage des hachages LM est désactivé. Dans les versions précédentes, vous pouvez le désactiver manuellement dans les stratégies de sécurité ( secpol.msc→ Stratégies locales → Options de sécurité → Sécurité du réseau: ne stockez pas le hachage LAN Manager ).


Où sont stockés les mots de passe?

Base de données Security Accounts Manager - une partie du registre, stockée sous%SystemRoot%\system32\config\.

Depuis Windows 2000, la base de données SAM est en outre cryptée par défaut. <afaik>La clé est dispersée dans le (même) fichier de registre, mais est toujours récupérable. </afaik>Mais si vous le souhaitez, vous pouvez déplacer la clé de cryptage vers un lecteur de disquette ou utiliser un mot de passe supplémentaire. (On vous le demandera au démarrage.) Ceci est fait avec SYSKEY ( syskey.exe)

(La prise en charge de SYSKEY a été ajoutée à NT 4.0 SP3, mais elle a été désactivée par défaut jusqu’à W2000.)


Y a-t-il des exploits connus?

Cracking LM hashes? Plus que vous pouvez imaginer. MD4 semble être plus sécurisé, mais assurez-vous de lire cet article de Wikipedia.


Sur la série Windows 9x, n'attendez rien de mieux que ROT26 .

Grawity
la source
1
Excellente réponse avec beaucoup de liens utiles ... J'ai entendu dire aujourd'hui que les mots de passe Windows XP pouvaient être déchiffrés en quelques minutes - c'est pourquoi j'ai demandé. Je pensais qu'ils étaient sauvés avec du sel SHA1 / 2 +, je ne pouvais donc pas imaginer comment les casser en quelques minutes ... mais votre réponse explique tout ... merci
tanascius
Excellente réponse pour DOS, Win9x, Win2K, mais je ne comprends pas où est le WinXP, 7,8 :)
Searush
2
@SEARAS: Jusqu'à présent, tous les systèmes d'exploitation Windows NT (NT 4.0, 2000, XP, Server 2003, 7, Server 2008, 8) utilisent le même SAM. (La seule différence est que Win7 et les versions plus récentes ont arrêté de stocker le hachage LM.)
grawity