Comment cracker les mots de passe à l’aide de l’outil Hashcat ?



Décryptage de Hachages de Mots de Passe avec Hashcat : Un Guide Pratique

Dans le domaine du piratage éthique et des tests d’intrusion, le déchiffrement de mots de passe est une étape essentielle pour obtenir un accès non autorisé à un système ou un serveur cible.

Il est rare que les mots de passe soient stockés en clair dans les systèmes et les bases de données.

Avant d’être enregistrés, les mots de passe subissent un processus de hachage, et c’est ce hachage qui est utilisé lors de la vérification de l’authentification.

Les méthodes de stockage des hachages varient en fonction de l’algorithme de cryptage employé. Posséder un hachage donne la possibilité de révéler le mot de passe originel.

Cet article vous guidera à travers le processus de décryptage de hachages de mots de passe en utilisant Hashcat, un outil en ligne de commande puissant et efficace.

Alors, commençons l’exploration.

Mais, avant de continuer…

Comprendre la Fonction de Hachage

Le hachage est l’acte de transformer un texte d’entrée en une chaîne de texte de longueur fixe grâce à une fonction mathématique, également appelée fonction de hachage. Un algorithme est utilisé pour convertir n’importe quel texte, quelle que soit sa taille, en une séquence de chiffres et de lettres aléatoires.

  • L’entrée correspond au message qui sera haché.
  • La fonction de hachage est l’algorithme de chiffrement (tel que MD5 ou SHA-256) qui convertit la chaîne en une valeur de hachage.
  • La valeur de hachage est le résultat de cette transformation.

Hashcat : Qu’est-ce que C’est ?

Hashcat est réputé pour être l’outil de récupération de mots de passe le plus performant. Il est conçu pour décrypter rapidement les mots de passe complexes. Cet outil excelle à la fois dans les attaques par dictionnaire et par force brute.

Hashcat se présente sous deux formes distinctes : une version basée sur le CPU et une autre sur le GPU (unité de traitement graphique). La variante GPU est plus rapide pour déchiffrer les hachages. Les exigences relatives aux pilotes GPU peuvent être vérifiées sur le site officiel de Hashcat.

Fonctionnalités Clés

  • Outil gratuit et open source.
  • Compatible avec plus de 200 types de hachages différents.
  • Fonctionne sous Linux, Windows et macOS.
  • Supporte les architectures CPU et GPU.
  • Permet de déchiffrer plusieurs hachages simultanément.
  • Gère les fichiers hex-salt et hex-charset et ajuste automatiquement les performances.
  • Dispose d’un système de benchmark intégré.
  • Permet les réseaux de craquage distribués via des superpositions.

Plus d’informations sont disponibles sur le site web de l’outil.

Installation de Hashcat

Assurez-vous d’abord que votre système Linux est à jour en installant les dernières mises à niveau.

Pour cela, ouvrez un terminal et exécutez :

$ sudo apt update && sudo apt upgrade

Généralement, Hashcat est préinstallé sur Kali Linux. Vous le trouverez dans la section « craquage de mots de passe ». Cependant, si vous devez l’installer manuellement sur une distribution Linux, utilisez la commande suivante :

$ sudo apt-get install hashcat

Utilisation de l’Outil

Pour commencer à utiliser Hashcat, vous aurez besoin de hachages de mots de passe. Si vous n’en possédez pas, nous allons en générer.

Pour créer des hachages en ligne de commande, utilisez le format ci-dessous :

echo -n "input" | algorithm | tr -d "-">>outputfiename

Par exemple, vous pouvez constater que j’ai transformé certains mots en hachages en utilisant l’algorithme MD5:

┌──(root💀kali)-[/home/writer/Desktop]
└─# echo -n "toptips.fr" | md5sum | tr -d "-">>crackhash.txt
echo -n "password123" | md5sum | tr -d "-">>crackhash.txt
echo -n "Webtechnology" | md5sum | tr -d "-">>crackhash.txt
echo -n "microsoftteams" | md5sum | tr -d "-">>crackhash.txt
echo -n "recyclebin" | md5sum | tr -d "-">>crackhash.txt

Les résultats seront sauvegardés dans le fichier nommé ‘crackhash.txt’.

Vérifions maintenant les hachages stockés dans ce fichier.

┌──(root💀kali)-[/home/writer/Desktop]
└─# cat crackhash.txt

066d45208667198296e0688629e28b14
482c811da5d5b4bcd497ffeaa98491e3
72a2bc267579aae943326d17e14a8048
2192d208d304b75bcd00b29bc8de5024
caae8dd682acb088ed63e2d492fe1e13

Comme vous pouvez le voir, nous avons maintenant des hachages prêts à être décryptés. C’est la méthode pour générer des hachages avec l’algorithme de votre choix.

L’étape suivante consiste à lancer Hashcat sur votre machine Linux. Utilisez la commande suivante pour afficher l’aide et toutes les options disponibles:

$ hashcat --help

Toutes les options d’attaque et de hachage sont listées.

La syntaxe générale de la commande est :

$ hashcat -a num -m num hashfile wordlistfile

Ici, ‘num’ représente une technique d’attaque et un type de hachage. En parcourant l’aide, vous verrez les nombres exacts pour chaque mode, par exemple, md4 correspond au numéro 0 et sha256 au numéro 1740.

La liste de mots que nous allons utiliser est celle appelée rockyou, que vous pouvez trouver dans le répertoire /usr/share/wordlists.

Vous pouvez utiliser la commande ‘locate’ pour trouver ce fichier :

┌──(root💀kali)-[/home/writer]
└─# locate rockyou.txt

Enfin, pour décrypter les hachages, entrez la commande suivante :

$ hashcat -a 0 -m 0 ./crackhash.txt rockyou.txt

Après l’exécution de cette commande, vous pourriez rencontrer une erreur d’exécution (erreur de longueur de jeton) qui peut être facilement corrigée.

Pour contourner cette erreur, enregistrez chaque hachage dans un fichier différent. Ce problème est lié à la faible vitesse du CPU ou du GPU. Si vous disposez d’une puissance de calcul suffisante, vous pouvez déchiffrer tous les hachages simultanément.

Après correction, voici le résultat typique :

┌──(root💀kali)-[/home/writer/Desktop]
└─# hashcat -a 0 -m 0 hashcrack.txt rockyou.txt
hashcat (v6.1.1) starting...

OpenCL API (OpenCL 1.2 pocl 1.6, None+Asserts, LLVM 9.0.1, RELOC, SLEEF, DISTRO, POCL_DEBUG) - Platform #1 [The pocl project]
=============================================================================================================================
* Device #1: pthread-Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz, 2403/2467 MB (1024 MB allocatable), 4MCU

Minimum password length supported by kernel: 0
Maximum password length supported by kernel: 256

Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates
Rules: 1

Dictionary cache built:
* Filename..: rockyou.txt
* Passwords.: 14344405
* Bytes.....: 139921671
* Keyspace..: 14344398
* Runtime...: 1 sec

8276b0e763d7c9044d255e025fe0c212: [email protected]
                                                 
Session..........: hashcat
Status...........: Cracked
Hash.Name........: MD5
Hash.Target......: 8276b0e763d7c9044d255e025fe0c212
Time.Started.....: Sun Dec 12 08:06:15 2021 (0 secs)
Time.Estimated...: Sun Dec 12 08:06:15 2021 (0 secs)
Guess.Base.......: File (rockyou.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:  1059.6 kH/s (0.52ms) @ Accel:1024 Loops:1 Thr:1 Vec:8
Recovered........: 1/1 (100.00%) Digests
Progress.........: 4096/14344398 (0.03%)
Rejected.........: 0/4096 (0.00%)
Restore.Point....: 0/14344398 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: 123456 -> pampam

Started: Sun Dec 12 08:06:13 2021
Stopped: Sun Dec 12 08:06:16 2021

Dans les résultats ci-dessus, notez que le hachage a été craqué et que le mot de passe correspondant a été révélé.

Conclusion

Nous espérons que cet article vous aura apporté une meilleure compréhension de l’utilisation de Hashcat pour déchiffrer les mots de passe.

Vous pourriez également être intéressé par la découverte d’autres outils d’attaque par force brute pour les tests d’intrusion et la sélection des meilleurs outils disponibles.