LM

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Format de hachage de mot de passe (Windows)
Algorithme DES (mode ECB)
Statut Obsolète — désactivé par défaut depuis Vista / 7
Successeur NTLM

Le LM hash (LAN Manager hash) est l'un des formats historiques utilisés par Windows pour stocker les mots de passe utilisateurs de moins de 15 caractères. Il est aujourd'hui considéré comme faible : sa conception facilite grandement le cassage par force brute ou par rainbow tables.

Comparatif LM / NTLMv1 / NTLMv2

Attribut LM NTLMv1 NTLMv2
Mot de passe sensible à la casse Non Oui Oui
Longueur de la clé de hash 56b + 56b - -
Algorithme de hachage DES (ECB) MD4 MD5
Longueur de la valeur de hash 64b + 64b 128 bits 128 bits
Longueur de clé challenge/réponse 56 + 56 + 16 bits 56 + 56 + 16 bits 128 bits
Algorithme challenge/réponse DES (ECB) DES (ECB) HMAC-MD5
Longueur de valeur challenge/réponse 64 + 64 + 64 b 64 + 64 + 64 b 128 bits

Fonctionnement du hachage

Lors du chiffrement d'un mot de passe avec cet algorithme, toutes les lettres sont converties en majuscules (ex. 123456789AZERTYUIOP). Le mot de passe est ensuite complété par des caractères blank jusqu'à atteindre 14 caractères.

Avant chiffrement, les 14 caractères sont coupés en deux moitiés de 7 caractères. Chaque moitié est hachée séparément, puis les deux hashs sont concaténés :

123456Q = 6BF11E04FAB197F
WERTY_  = F1E9FFDCC75575B15
HASH    = 6BF11E04FAB197FF1E9FFDCC75575B15

Autrement dit :

  • Les 8 premiers octets sont dérivés des 7 premiers caractères du mot de passe.
  • Les 8 derniers octets sont dérivés des 7 caractères suivants.

Si le mot de passe fait moins de 7 caractères, le second hash vaut toujours :

0xAAD3B435B51404EE

Chiffrement : le hash est chiffré en DES.

Cassage du hash

La faiblesse du LM hash (majuscules forcées, découpage en deux blocs de 7 caractères) réduit drastiquement l'espace de recherche. Des outils comme LC5 exploitent ces propriétés.

Désactivation du LM hash

Sur Windows Vista et Windows 7, le LM hash est désactivé par défaut. Pour le désactiver explicitement :

  • Politique de sécurité via secpol.msc : « Sécurité réseau : ne pas stocker de valeur de hachage LAN Manager… » (NoLMHash).
  • Clé de registre :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
    Ajouter une clé de type NoLMHash
  • Utiliser un mot de passe de plus de 15 caractères (au-delà, aucun LM hash n'est calculé).

Voir aussi

  • NTLM — successeur du LM hash
  • SAM — base de stockage des hashs sous Windows