Fichiers Potfile et Fichiers de Sortie de Hashcat

LinuxBeginner
Pratiquer maintenant

Introduction

Hashcat est un outil de récupération de mots de passe puissant et populaire. Lorsqu'il exécute une session de cracking, Hashcat a besoin d'un moyen de gérer les résultats. Il est crucial de savoir quels mots de passe ont été trouvé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 fichier hashcat.potfile, qui stocke automatiquement les mots de passe trouvés. Vous apprendrez également à utiliser des options de ligne de commande telles que --show pour afficher les mots de passe trouvés, -o pour sauvegarder les résultats dans un fichier spécifique, et --left pour identifier les hachages qui n'ont pas encore été cassés. Maîtriser ces fonctionnalités est essentiel pour tout flux de travail efficace d'audit ou de récupération de mots de passe.

Comprendre l'objectif du hashcat.potfile

Dans cette étape, vous allez découvrir le hashcat.potfile, un composant crucial de Hashcat. Pour éviter de retraiter les mêmes hachages lors de sessions futures, Hashcat enregistre automatiquement chaque hachage réussi 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/.

Exécutons une attaque par dictionnaire de base pour casser quelques hachages. Cela générera le potfile pour nous. Nous disposons d'un fichier nommé hashes.txt contenant des hachages 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 description de la commande :

  • -m 0: Spécifie le type de hachage, où 0 correspond à MD5.
  • -a 0: Spécifie le mode d'attaque, où 0 est une attaque par dictionnaire simple (straight dictionary attack).
  • hashes.txt: Le fichier d'entrée contenant les hachages à casser.
  • wordlist.txt: Le fichier de dictionnaire contenant les mots de passe à essayer.

Vous verrez Hashcat démarrer. Comme notre liste de mots contient les mots de passe corrects pour tous les hachages, 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: ...

Le résultat montre que les 4 hachages 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 hachage-mot de passe trouvées dans le potfile

Dans cette étape, nous allons inspecter directement le contenu du hashcat.potfile. Cela vous aidera à comprendre comment Hashcat stocke les informations d'identification trouvées. Le format est simple et efficace : chaque ligne contient le hachage, un séparateur deux-points (colon), et le mot de passe en clair trouvé.

Pour visualiser le contenu du potfile, utilisez la commande cat. Le fichier est situé dans un répertoire caché de votre dossier personnel (home folder).

cat ~/.local/share/hashcat/hashcat.potfile

La sortie affichera les paires hachage-mot de passe qui ont été trouvé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 hachages provenant de hashes.txt qui correspondaient aux mots de passe dans wordlist.txt. Bien que la visualisation directe du potfile soit utile pour comprendre sa structure, il peut devenir encombré et difficile à lire dans des scénarios réels impliquant des milliers de mots de passe trouvés. À 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 trouvés pour une liste de hachages spécifique

Dans cette étape, vous allez apprendre 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 hachages donnée avec son potfile et d'afficher uniquement les hachages trouvés issus de 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 énorme contenant les résultats de nombreuses sessions différentes.

Exécutez la commande suivante pour afficher les hachages trouvés dans 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 clair et lisible.

5f4dcc3b5aa765d61d8327deb882cf99:password
e10adc3949ba59abbe56e057f20f883e:123456
d8578edf8458ce06fbc5bb76a58c5ca4:qwerty
f9664ea1803311b35f81d07d8c9e072d:lab

Le résultat est propre et répond directement à la question : "Quels hachages de hashes.txt ai-je déjà trouvés ?" C'est la manière recommandée de vérifier les mots de passe trouvés à partir d'une session spécifique.

Enregistrer les mots de passe trouvés dans un fichier de sortie dédié en utilisant '-o'

Dans cette étape, vous apprendrez comment sauvegarder vos résultats de cracking dans un fichier séparé. Bien que le fichier 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. Ceci est réalisé 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 craquées du potfile et les écrira dans le fichier de sortie spécifié. Ceci est particulièrement utile lorsque les hashs ont déjà été craqués et existent dans le potfile, car vous pouvez rapidement extraire et sauvegarder ces résultats dans un fichier dédié.

Exécutons la commande avec les options --show et -o pour sauvegarder les résultats craqué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 craqués dans cracked.txt.

Maintenant, visualisons le contenu de notre nouveau fichier de sortie.

cat cracked.txt

Le résultat sera une liste propre des paires craquées.

5f4dcc3b5aa765d61d8327deb882cf99:password
e10adc3949ba59abbe56e057f20f883e:123456
d8578edf8458ce06fbc5bb76a58c5ca4:qwerty
f9664ea1803311b35f81d07d8c9e072d:lab

Ce fichier cracked.txt est maintenant un enregistrement portable des résultats réussis de cette attaque spécifique, séparé du potfile principal.

Utiliser '--left' pour voir quels hachages n'ont pas été trouvés

Dans cette étape, vous apprendrez comment identifier quels hachages restent non trouvé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 suivantes (par exemple, en utilisant une autre wordlist ou un autre mode d'attaque). Hashcat fournit l'option --left à cette fin.

Lorsqu'elle est utilisée avec --show, l'option --left affichera tous les hachages de votre liste d'entrée qui ne sont pas présents dans le potfile.

Voyons quels hachages de hashes.txt ne sont pas encore trouvés.

hashcat -m 0 --show --left hashes.txt

Étant donné que tous les hachages de notre liste ont été trouvés, la sortie sera vide (aucun hachage non trouvé ne reste).

Vous pouvez également combiner --left avec l'option -o pour sauvegarder ces hachages 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 -a 0 hashes.txt wordlist.txt --left -o uncracked.txt

Maintenant, vérifiez le contenu du fichier uncracked.txt.

cat uncracked.txt

Puisque tous les hachages ont été trouvés, le fichier uncracked.txt sera vide.

Résumé

Dans ce laboratoire, vous avez appris les techniques essentielles pour gérer et interpréter la sortie de Hashcat. Ces compétences sont fondamentales pour organiser un flux de travail de cassage de mots de passe efficace.

Vous avez appris :

  • Le rôle du hashcat.potfile en tant que base de données automatique pour tous les mots de passe trouvés.
  • Comment utiliser hashcat --show pour afficher proprement les mots de passe trouvés à partir d'une liste de hachages spécifique.
  • Comment utiliser l'option -o pour sauvegarder les mots de passe trouvés dans un fichier de sortie dédié pour le reporting et l'analyse.
  • Comment utiliser l'option --left pour isoler les hachages non trouvés, vous permettant de concentrer efficacement vos efforts futurs.

En maîtrisant ces fonctionnalités de sortie et de gestion de fichiers, vous pouvez exécuter des sessions de récupération de mots de passe plus organisées, efficaces et performantes avec Hashcat.