Introduction
Hashcat est un outil de récupération de mots de passe puissant et populaire. Lorsque vous lancez une session de cassage, Hashcat a besoin d'un moyen de gérer les résultats. Il est crucial de savoir quels mots de passe ont été déchiffrés avec succès et lesquels restent non résolus.
Dans ce laboratoire, vous apprendrez les fondamentaux de la gestion des sorties de Hashcat. Nous explorerons le hashcat.potfile, qui stocke automatiquement les mots de passe déchiffrés. Vous apprendrez également à utiliser des options de ligne de commande telles que --show pour afficher les mots de passe déchiffrés, -o pour enregistrer les résultats dans un fichier spécifique, et --left pour identifier les hashs qui n'ont pas encore été déchiffrés. La maîtrise de ces fonctionnalités est essentielle pour tout flux de travail efficace d'audit ou de récupération de mots de passe.
Comprendre l'utilité du hashcat.potfile
Dans cette étape, vous découvrirez le hashcat.potfile, un composant crucial de Hashcat. Pour éviter de recasser les mêmes hashs lors de sessions futures, Hashcat enregistre automatiquement chaque hash déchiffré avec succès et son mot de passe en clair correspondant dans un fichier. Ce fichier est appelé le "potfile". Par défaut, il est nommé hashcat.potfile et se trouve dans le répertoire ~/.local/share/hashcat/.
Lançons une attaque par dictionnaire de base pour casser quelques hashs. Cela générera le potfile pour nous. Nous disposons d'un fichier nommé hashes.txt contenant des hashs MD5 et d'un fichier wordlist.txt contenant des mots de passe potentiels.
Exécutez la commande suivante pour démarrer l'attaque :
hashcat -m 0 -a 0 hashes.txt wordlist.txt
Voici une décomposition de la commande :
-m 0: Spécifie le type de hash, où0correspond au MD5.-a 0: Spécifie le mode d'attaque, où0est une attaque par dictionnaire simple.hashes.txt: Le fichier d'entrée contenant les hashs à casser.wordlist.txt: Le fichier dictionnaire contenant les mots de passe à tester.
Vous verrez Hashcat démarrer. Comme notre liste de mots contient les mots de passe corrects pour tous les hashs, le processus se terminera rapidement.
...
Session..........: hashcat
Status...........: Cracked
Hash.Name........: MD5
Hash.Target......: hashes.txt
Time.Started.....: ...
Time.Estimated...: 0 secs
Guess.Base.......: File (wordlist.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........: ... H/s (0.00ms) @ Accel:128 Loops:1 Thr:1 Vec:8
Recovered........: 4/4 (100.00%) Digests, 0/1 (0.00%) Salts
Progress.........: 5/5 (100.00%)
Rejected.........: 0/5 (0.00%)
Restore.Point....: 5/5 (100.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: password -> testing
Hardware.Mon.#1..: Temp: 46c Fan: 33%
...
Started: ...
Stopped: ...
La sortie montre que les 4 hashs ont été récupérés. Cela signifie que le hashcat.potfile a maintenant été créé et rempli avec ces résultats.
Visualiser les paires hash-mot de passe déchiffrées dans le potfile
Dans cette étape, nous inspecterons directement le contenu du hashcat.potfile. Cela vous aidera à comprendre comment Hashcat stocke les identifiants déchiffrés. Le format est simple et efficace : chaque ligne contient le hash, un séparateur deux-points et le mot de passe en clair déchiffré.
Pour visualiser le contenu du potfile, utilisez la commande cat. Le fichier se trouve dans un répertoire caché de votre dossier personnel.
cat ~/.local/share/hashcat/hashcat.potfile
La sortie affichera les paires hash-mot de passe qui ont été déchiffrées avec succès lors de l'étape précédente.
5f4dcc3b5aa765d61d8327deb882cf99:password
e10adc3949ba59abbe56e057f20f883e:123456
d8578edf8458ce06fbc5bb76a58c5ca4:qwerty
f9664ea1803311b35f81d07d8c9e072d:lab
Comme vous pouvez le constater, le fichier contient les quatre hashs de hashes.txt qui correspondaient aux mots de passe de wordlist.txt. Bien que visualiser le potfile directement soit utile pour comprendre sa structure, il peut devenir encombré et difficile à lire dans des scénarios réels avec des milliers de mots de passe déchiffrés. Dans l'étape suivante, vous apprendrez une manière plus efficace de visualiser les résultats pour une tâche spécifique.
Utiliser '--show' pour afficher les mots de passe déchiffrés pour une liste de hashs spécifique
Dans cette étape, vous apprendrez une méthode plus pratique pour vérifier vos résultats. Au lieu de lire manuellement l'intégralité du potfile, vous pouvez utiliser l'option --show de Hashcat. Cette commande demande à Hashcat de comparer une liste de hashs donnée avec son potfile et d'afficher uniquement les hashs déchiffrés présents dans cette liste. Elle n'effectue aucun nouveau cassage.
Ceci est extrêmement utile lorsque vous souhaitez voir rapidement les résultats pour une liste cible spécifique sans avoir à parcourir un potfile potentiellement massif contenant les résultats de nombreuses sessions différentes.
Exécutez la commande suivante pour afficher les hashs déchiffrés à partir de notre fichier hashes.txt :
hashcat -m 0 --show hashes.txt
Hashcat vérifiera instantanément le potfile et affichera les résultats dans un format propre et lisible.
5f4dcc3b5aa765d61d8327deb882cf99:password
e10adc3949ba59abbe56e057f20f883e:123456
d8578edf8458ce06fbc5bb76a58c5ca4:qwerty
f9664ea1803311b35f81d07d8c9e072d:lab
La sortie est propre et répond directement à la question : "Quels hashs de hashes.txt ai-je déjà déchiffrés ?" C'est la méthode recommandée pour vérifier les mots de passe déchiffrés d'une session spécifique.
Enregistrer les mots de passe déchiffrés dans un fichier de sortie dédié avec '-o'
Dans cette étape, vous apprendrez comment enregistrer vos résultats de cassage dans un fichier séparé. Bien que le potfile soit une excellente base de données interne pour Hashcat, vous avez souvent besoin d'un fichier de sortie propre pour le reporting ou l'analyse. Cela s'obtient en utilisant l'option -o (ou --outfile).
Lorsque vous ajoutez -o à votre commande d'attaque combinée avec --show, Hashcat récupérera les paires hash-mot de passe déchiffrées depuis le potfile et les écrira dans le fichier de sortie spécifié. C'est particulièrement utile lorsque les hashs ont déjà été déchiffrés et existent dans le potfile, car vous pouvez rapidement extraire et enregistrer ces résultats dans un fichier dédié.
Exécutons la commande avec les options --show et -o pour enregistrer les résultats déchiffrés.
hashcat -a 0 -m 0 --show -o cracked.txt hashes.txt wordlist.txt
Hashcat vérifiera instantanément le potfile et écrira toutes les paires de mots de passe déchiffrées dans cracked.txt.
Maintenant, visualisons le contenu de notre nouveau fichier de sortie.
cat cracked.txt
La sortie sera une liste propre des paires déchiffrées.
5f4dcc3b5aa765d61d8327deb882cf99:password
e10adc3949ba59abbe56e057f20f883e:123456
d8578edf8458ce06fbc5bb76a58c5ca4:qwerty
f9664ea1803311b35f81d07d8c9e072d:lab
Ce fichier cracked.txt est désormais un enregistrement portable des résultats réussis de cette attaque spécifique, séparé du potfile principal.
Utiliser '--left' pour voir quels hashs n'ont pas été déchiffrés
Dans cette étape, vous apprendrez à identifier quels hashs restent non déchiffrés. C'est tout aussi important que de savoir lesquels vous avez résolus, car cela vous permet de concentrer vos efforts lors des attaques ultérieures (par exemple, en utilisant une liste de mots ou un mode d'attaque différent). Hashcat fournit l'option --left à cet effet.
L'indicateur --left affiche les hashs de votre liste d'entrée qui ne sont pas présents dans le potfile.
Voyons quels hashs de hashes.txt ne sont pas encore déchiffrés.
hashcat -m 0 --left hashes.txt
Comme tous les hashs de notre liste ont été déchiffrés, la sortie sera vide (il ne reste aucun hash non déchiffré).
Vous pouvez également combiner --left avec l'option -o pour enregistrer ces hashs restants dans un nouveau fichier. C'est une pratique courante pour créer une liste de travail pour votre prochaine tentative de cassage.
hashcat -m 0 --left -o uncracked.txt hashes.txt
Maintenant, vérifiez le contenu du fichier uncracked.txt.
cat uncracked.txt
Comme tous les hashs ont été déchiffrés, le fichier uncracked.txt sera vide.
Résumé
Dans ce laboratoire, vous avez appris les techniques essentielles pour gérer et interpréter les sorties de Hashcat. Ces compétences sont fondamentales pour organiser un flux de travail efficace de cassage de mots de passe.
Vous avez appris :
- Le rôle du
hashcat.potfileen tant que base de données automatique pour tous les mots de passe déchiffrés. - Comment utiliser
hashcat --showpour afficher proprement les mots de passe déchiffrés à partir d'une liste de hashs spécifique. - Comment utiliser l'option
-opour enregistrer les mots de passe déchiffrés dans un fichier de sortie dédié pour le reporting et l'analyse. - Comment utiliser l'option
--leftpour isoler les hashs non déchiffrés, vous permettant de concentrer vos efforts futurs efficacement.
En maîtrisant ces fonctionnalités de gestion des sorties et des fichiers, vous pouvez mener des sessions de récupération de mots de passe plus organisées, efficaces et performantes avec Hashcat.



