Introduction
Dans ce laboratoire, vous plongerez dans le monde de la sécurité des mots de passe en apprenant à casser les hachages NTLM (NT LAN Manager). NTLM est un algorithme de hachage utilisé par les systèmes Microsoft Windows pour stocker les mots de passe des utilisateurs. Comprendre comment ces hachages peuvent être cassés est une compétence fondamentale en matière de tests d'intrusion et d'audit de sécurité.
Vous utiliserez Hashcat, un outil de récupération de mots de passe puissant et populaire, pour effectuer une attaque par dictionnaire contre un échantillon de hachage NTLM. À la fin de ce laboratoire, vous comprendrez le processus de base du cassage de mots de passe et apprécierez l'importance d'utiliser des mots de passe forts et complexes.
Comprendre ce que sont les hachages NTLM
Dans cette étape, vous apprendrez les bases des hachages NTLM. Cette connaissance fondamentale est cruciale avant de tenter de les casser.
NTLM (NT LAN Manager) est une suite de protocoles de sécurité développée par Microsoft. L'une de ses fonctions clés est de gérer l'authentification. Lorsque vous définissez un mot de passe sur un système Windows, il n'est pas stocké en texte brut. Au lieu de cela, il est converti en une valeur de hachage à l'aide de l'algorithme NTLM.
Un hachage NTLM est une valeur de 128 bits, généralement représentée par une chaîne hexadécimale de 32 caractères. Par exemple, le hachage NTLM pour le mot de passe "password" est 8846f7eaee8fb117ad06bdd830b7586c.
Étant donné que le hachage est un processus unidirectionnel, vous ne pouvez pas le "dé-hacher" directement pour obtenir le mot de passe d'origine. Cependant, les attaquants peuvent utiliser des techniques telles que les attaques par dictionnaire ou les attaques par force brute pour deviner le mot de passe, hacher leur supposition et voir si elle correspond au hachage cible. C'est le processus que nous allons explorer dans ce laboratoire.
Il n'y a pas de commandes à exécuter dans cette étape. Veuillez passer à l'étape suivante pour créer un fichier de hachage d'exemple.
Créer un fichier de hachage NTLM d'exemple
Dans cette étape, vous allez créer un fichier contenant un hachage NTLM d'exemple. Dans un test d'intrusion réel, vous devriez d'abord extraire ces hachages de la base de données Security Account Manager (SAM) d'un système Windows. Pour ce laboratoire éducatif, nous allons simplement créer un fichier texte avec un hachage connu.
Tout votre travail sera effectué dans le répertoire ~/project. Tout d'abord, utilisez la commande echo pour créer un fichier nommé ntlm_hash.txt et y écrire un hachage NTLM d'exemple. Ce hachage correspond à un mot de passe courant et faible.
echo "8846f7eaee8fb117ad06bdd830b7586c" > ~/project/ntlm_hash.txt
Maintenant, vérifiez que le fichier a été créé correctement en affichant son contenu à l'aide de la commande cat.
cat ~/project/ntlm_hash.txt
Vous devriez voir la sortie suivante, qui est le hachage que vous venez d'enregistrer :
8846f7eaee8fb117ad06bdd830b7586c
Avec le fichier de hachage prêt, vous pouvez maintenant procéder à la préparation du processus de cassage.
Sélectionner le bon mode de hachage pour NTLM
Dans cette étape, vous apprendrez comment identifier le bon mode de hachage dans Hashcat pour les hachages NTLM.
Hashcat est un outil polyvalent qui prend en charge des centaines de types de hachage différents, des hachages de mots de passe d'applications web aux hachages de systèmes d'exploitation. Pour fonctionner correctement, vous devez indiquer à Hashcat exactement quel type de hachage vous essayez de casser. Ceci est fait en utilisant un numéro de mode spécifique.
Vous pouvez trouver le numéro de mode pour NTLM en parcourant le menu d'aide de Hashcat. Utilisez la commande grep pour filtrer la sortie sur "NTLM".
hashcat --help | grep NTLM
La sortie listera divers types de hachage liés à NTLM. Recherchez l'entrée pour NTLM standard.
...
1000 | NTLM | Operating System
...
Comme vous pouvez le voir dans la sortie, le numéro de mode pour NTLM est 1000. Vous utiliserez ce numéro dans l'étape suivante pour indiquer à Hashcat comment interpréter le hachage dans votre fichier ntlm_hash.txt.
Lancer une attaque par dictionnaire contre le hachage NTLM
Dans cette étape, vous utiliserez Hashcat pour lancer une attaque par dictionnaire contre le hachage NTLM. Une attaque par dictionnaire est une méthode de cassage de mot de passe en essayant une liste de mots et d'expressions courants, connue sous le nom de "wordlist" ou "dictionnaire".
Le script de configuration de ce laboratoire a déjà téléchargé une liste de mots populaire appelée rockyou.txt dans votre répertoire ~/project. Maintenant, vous allez construire la commande Hashcat pour démarrer l'attaque.
La structure de la commande est la suivante :
hashcat: Le nom du programme.-m 1000: Le mode de hachage pour NTLM, que vous avez identifié à l'étape précédente.~/project/ntlm_hash.txt: Le chemin vers votre fichier contenant le hachage cible.~/project/rockyou.txt: Le chemin vers la liste de mots.--force: Cette option indique à Hashcat de s'exécuter même s'il détecte des problèmes potentiels avec l'environnement, ce qui peut être utile dans les laboratoires virtualisés.
Exécutez maintenant la commande complète dans votre terminal :
hashcat -m 1000 ~/project/ntlm_hash.txt ~/project/rockyou.txt --force
Hashcat va démarrer. Le processus peut prendre quelques instants car il charge la liste de mots et commence à comparer les hachages. Vous verrez une sortie similaire à la suivante :
hashcat (vX.X.X) starting...
...
Session..........: hashcat
Status...........: Running
Hash.Type........: NTLM
Hash.Target......: 8846f7eaee8fb117ad06bdd830b7586c
Time.Started.....: ...
Time.Estimated...: ...
Guess.Base.......: File (~/project/rockyou.txt)
...
Session..........: hashcat
Status...........: Cracked
...
Le message "Status...........: Cracked" indique que Hashcat a trouvé le mot de passe avec succès.
Analyser le mot de passe NTLM cassé
Dans cette étape, vous allez visualiser et analyser le mot de passe cassé que Hashcat a découvert.
Une fois que Hashcat a réussi à casser un hachage, il enregistre le résultat dans un fichier appelé "potfile" (comme dans "pot of gold"). Cela vous évite d'avoir à recasser le même hachage à l'avenir. L'emplacement par défaut de ce fichier est ~/.local/share/hashcat/hashcat.potfile.
La manière la plus simple de voir le mot de passe cassé est d'utiliser l'option --show de Hashcat. Cette commande indique à Hashcat d'afficher tous les mots de passe cassés pour les hachages fournis dans votre fichier d'entrée.
Exécutez la commande suivante :
hashcat -m 1000 ~/project/ntlm_hash.txt --show
Hashcat vérifiera son potfile et affichera le résultat pour votre hachage :
8846f7eaee8fb117ad06bdd830b7586c:password
Le format de sortie est hash:plaintext_password. Comme vous pouvez le voir, le mot de passe original pour le hachage 8846f7eaee8fb117ad06bdd830b7586c est password.
Vous pouvez également visualiser directement le potfile brut en utilisant la commande cat :
cat ~/.local/share/hashcat/hashcat.potfile
Cela affichera le même résultat. Vous avez maintenant réussi à casser un hachage NTLM et à récupérer le mot de passe original.
Résumé
Dans ce laboratoire, vous avez réussi à effectuer une attaque de base de cassage de mot de passe contre un hachage NTLM.
Vous avez appris :
- Ce que sont les hachages NTLM et comment ils sont utilisés dans les systèmes Windows.
- Comment utiliser Hashcat, un outil puissant de récupération de mots de passe.
- Le concept d'attaque par dictionnaire et l'importance des listes de mots comme
rockyou.txt. - Le processus d'identification du bon type de hachage, de lancement d'une attaque et de visualisation du mot de passe cassé.
Cet exercice démontre la facilité avec laquelle des mots de passe faibles peuvent être compromis. Il souligne l'importance cruciale d'utiliser des mots de passe forts, uniques et complexes, ainsi que des mécanismes de hachage robustes, pour protéger les systèmes et les données contre les accès non autorisés.


