Utiliser le Potfile pour Gérer les Hachages Craqués

Kali LinuxBeginner
Pratiquer maintenant

Introduction

Hashcat est un outil de récupération de mots de passe puissant et populaire. L'une de ses fonctionnalités clés pour un fonctionnement efficace est le "potfile". Le potfile (abréviation de "pot of gold file") est un fichier où hashcat stocke automatiquement les hachages dont le mot de passe a été trouvé avec succès et leurs textes en clair correspondants. Cela évite à hashcat de perdre du temps et des ressources à essayer de recraquer des hachages qui ont déjà été résolus lors de sessions précédentes.

Dans ce laboratoire, vous apprendrez les bases de la gestion des hachages dont le mot de passe a été trouvé en utilisant le potfile de hashcat. Vous apprendrez à localiser le potfile, à afficher son contenu et à utiliser des indicateurs (flags) spécifiques de hashcat pour l'interroger ou même l'ignorer lorsque cela est nécessaire.

Comprendre le rôle du Potfile

Dans cette étape, vous apprendrez le rôle fondamental du potfile de hashcat.

Le potfile est l'une des fonctionnalités les plus importantes de hashcat pour l'efficacité. Chaque fois que hashcat réussit à craquer un hachage, il enregistre le résultat dans le potfile. Le but principal est de construire une base de données des hachages résolus.

Avant de commencer une nouvelle session de craquage, hashcat compare les hachages de votre fichier d'entrée avec les entrées du potfile. Si un hachage est déjà présent dans le potfile, hashcat l'ignorera, affichant un statut "Removed". Cela garantit que vous ne gaspillez pas de précieux cycles CPU/GPU sur un travail déjà effectué.

Le format standard des entrées dans le potfile est simple et efficace :

HASH:PLAINTEXT

Cette étape est purement conceptuelle pour développer votre compréhension. Il n'y a pas de commandes à exécuter. Vous pouvez passer à l'étape suivante pour trouver l'emplacement de ce fichier.

Localiser le hashcat.potfile par défaut

Dans cette étape, vous allez localiser le potfile par défaut créé par hashcat.

Par défaut, hashcat ne crée pas le potfile dans votre répertoire de travail actuel. Au lieu de cela, il le place dans un dossier dédié à hashcat, à l'intérieur du répertoire personnel de l'utilisateur, afin de le conserver de manière persistante entre différentes sessions de craquage et projets. L'emplacement par défaut sur un système Linux est ~/.local/share/hashcat/.

Vérifions l'existence du fichier. Utilisez la commande ls -l pour lister le contenu du répertoire hashcat.

ls -l ~/.local/share/hashcat/

Vous devriez voir le fichier hashcat.potfile dans la sortie, ainsi que d'autres fichiers potentiels liés aux sessions.

total 4
-rw-r--r-- 1 labex labex 42 May 20 10:30 hashcat.potfile

Maintenant que vous avez localisé le fichier, l'étape suivante consistera à afficher son contenu.

Afficher le contenu du Potfile

Dans cette étape, vous allez inspecter le contenu du hashcat.potfile pour voir comment les hachages craqués sont stockés.

Étant donné que le potfile est un fichier texte brut, vous pouvez utiliser n'importe quel visualiseur de texte standard en ligne de commande comme cat, less ou more pour voir ce qu'il contient. Pour un petit fichier comme le nôtre, cat est parfait.

Exécutez la commande suivante dans votre terminal pour afficher le contenu du potfile par défaut :

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

La sortie affichera le hachage qui a été craqué pendant la configuration du laboratoire, suivi d'un deux-points (:), puis du mot de passe en clair.

5f4dcc3b5aa765d61d8327deb882cf99:password

Ce simple format HASH:PLAINTEXT rend le fichier facile à lire et à analyser, tant pour les humains que pour hashcat lui-même.

Utiliser le drapeau --show pour interroger le Potfile

Dans cette étape, vous apprendrez à utiliser le drapeau --show pour interroger efficacement le potfile afin d'obtenir les hachages craqués.

Bien que vous puissiez utiliser manuellement cat et grep sur le potfile, hashcat offre une manière beaucoup plus élégante et intégrée de vérifier si les hachages d'un fichier donné ont déjà été craqués. Le drapeau --show est utilisé à cette fin. Il prend un fichier de hachages en entrée et affiche les textes en clair craqués pour tous les hachages trouvés dans le potfile.

Utilisons-le pour vérifier notre fichier hashes.txt.

hashcat -m 0 --show hashes.txt

Analysons la commande :

  • hashcat: Le programme lui-même.
  • -m 0: Spécifie le mode de hachage. 0 correspond à MD5, qui est le type de hachage dans notre fichier hashes.txt. Ceci est requis pour que --show fonctionne correctement.
  • --show: Ce drapeau indique à hashcat d'effectuer une opération de requête plutôt qu'une session de craquage.
  • hashes.txt: Le fichier d'entrée contenant les hachages que vous souhaitez vérifier.

La commande produira la sortie suivante, qui est identique au contenu du potfile car notre hachage a été trouvé.

5f4dcc3b5aa765d61d8327deb882cf99:password

Cette commande est extrêmement utile lorsque vous avez une longue liste de hachages et que vous souhaitez voir rapidement lesquels ont été récupérés précédemment.

Supprimer les hachages craqués de l'entrée avec --potfile-disable

Dans cette étape, vous apprendrez comment hashcat évite automatiquement de recraquer les hachages et comment vous pouvez outrepasser ce comportement avec le drapeau --potfile-disable.

Tout d'abord, voyons ce qui se passe lorsque vous essayez de relancer le même travail de craquage. Comme le hachage est déjà dans le potfile, hashcat devrait le reconnaître et se terminer instantanément.

hashcat -m 0 -a 0 hashes.txt wordlist.txt --force

Remarquez la sortie. Hashcat indiquera que tous les hachages ont été trouvés dans le potfile et ne les retraiteront pas.

...
All hashes found in potfile!

NOTE: All hashes loaded from file hashes.txt are already cracked and were skipped.
To re-crack these hashes, you need to remove them from the potfile.
...

Maintenant, que faire si vous voulez recraquer le hachage, peut-être à des fins de benchmarking ou pour tester un mode d'attaque différent ? Vous pouvez utiliser le drapeau --potfile-disable. Cela indique à hashcat d'ignorer complètement le potfile, tant en lecture qu'en écriture.

Exécutez à nouveau la commande, mais cette fois ajoutez le drapeau :

hashcat -m 0 -a 0 hashes.txt wordlist.txt --force --potfile-disable

Cette fois, hashcat effectuera l'opération de craquage complète car il ignore le potfile. Vous verrez la progression du statut et un statut "Cracked" à la fin.

...
Session..........: hashcat
Status...........: Cracked
...
Cracked (1/1) hashes, (1/1) digests
...

L'utilisation de --potfile-disable est un outil spécifique pour des situations spécifiques. Dans la plupart des cas, vous voudrez exploiter le potfile pour gagner du temps.

Résumé

Dans ce laboratoire, vous avez acquis les compétences essentielles pour gérer les hachages craqués avec le potfile de hashcat.

Vous comprenez maintenant que le potfile est une fonctionnalité cruciale pour l'efficacité, agissant comme une base de données des hachages résolus. Vous avez appris à :

  • Localiser le potfile par défaut à l'adresse ~/.local/share/hashcat/hashcat.potfile.
  • Visualiser son contenu à l'aide de commandes Linux standard comme cat.
  • Interroger le potfile pour des hachages spécifiques à partir d'un fichier d'entrée en utilisant le drapeau --show.
  • Contourner la fonctionnalité du potfile pour des cas d'utilisation spécifiques avec le drapeau --potfile-disable.

Maîtriser l'utilisation du potfile est une étape fondamentale pour devenir un utilisateur compétent de hashcat, vous permettant d'exécuter des tâches de récupération de mots de passe plus efficaces et efficientes.