Dans le cadre du piratage éthique et des tests de pénétration, le craquage de mot de passe est essentiel pour accéder à un système ou à un serveur.
Dans les systèmes et les bases de données, les mots de passe sont rarement enregistrés en texte clair.
Les mots de passe sont toujours hachés avant d’être stockés dans la base de données, et le hachage est comparé au cours du processus de vérification.
En fonction du cryptage utilisé, les systèmes stockent les hachages de mots de passe de différentes manières. Si vous disposez de hachages, vous pouvez facilement déchiffrer n’importe quel mot de passe.
Dans cet article, nous allons voir comment déchiffrer les hachages de mots de passe à l’aide de l’excellent et pratique outil en ligne de commande Hashcat.
Commençons donc.
Mais avant cela…
Qu’est-ce qu’une fonction de hachage ?
Le hachage est le processus de conversion d’un texte d’entrée normal en une chaîne de texte de taille fixe à l’aide d’une fonction mathématique connue sous le nom de fonction de hachage. Tout texte, quelle que soit sa longueur, peut être transformé en une combinaison aléatoire d’entiers et d’alphabets à l’aide d’un algorithme.
- L’entrée fait référence au message qui sera haché.
- La fonction de hachage est l’algorithme de cryptage tel que MD5 et SHA-256 qui convertit une chaîne en une valeur de hachage.
- Enfin, la valeur de hachage est le résultat.
Qu’est-ce que Hashcat ?
Hashcat est l’outil de récupération de mot de passe le plus rapide. Il a été conçu pour casser les mots de passe très complexes en peu de temps. Cet outil est également capable d’effectuer des attaques parliste de mots et par force brute .
Hashcat a deux variantes. L’une basée sur le CPU et l’autre sur le GPU (Graphical Processing Unit). L’outil basé sur le GPU peut casser les hachages en moins de temps que le CPU. Vous pouvez vérifier la configuration requise pour le pilote GPU sur leur site officiel.
Caractéristiques
- Gratuit et open-source
- Plus de 200 variations de type de hachage peuvent être implémentées.
- Prend en charge plusieurs systèmes d’exploitation tels que Linux, Windows et macOS.
- La prise en charge de plusieurs plates-formes comme le CPU et le GPU est disponible.
- Plusieurs hachages peuvent être craqués en même temps.
- Lesfichiers hex-salt et hex-charset sont pris en charge, ainsi que l’optimisation automatique des performances.
- Un système d’analyse comparative intégré est disponible.
- Les réseaux de craquage distribués peuvent être pris en charge à l’aide de superpositions.
Vous pouvez également consulter d’autres caractéristiques sur leur site web.
Installation de Hashcat
Tout d’abord, assurez-vous que votre système Linux est à jour avec les programmes et outils les plus récents.
Pour cela, ouvrez un terminal et tapez
sudo apt update && sudo apt upgrade
Hashcat est généralement préinstallé dans Kali Linux. Vous pouvez trouver l’outil dans la section de craquage de mots de passe. Mais si vous devez l’installer manuellement dans n’importe quelle distribution Linux, tapez la commande suivante dans le terminal.
sudo apt-get install hashcat
Comment utiliser Hashcat
Pour commencer à utiliser Hashcat, nous aurons besoin de hachages de mots de passe. Si vous n’avez pas de hash à craquer, nous allons d’abord créer quelques hashs.
Pour créer des hachages à l’aide de la ligne de commande, il suffit de suivre le format ci-dessous.
echo -n "input" | algorithme | tr -d "-">>nom de sortie
Par exemple, vous pouvez voir que j’ai transformé quelques mots en hachages en utilisant l’algorithme md5 ci-dessous.
┌──(root💀kali)-[/home/writer/Desktop]
└─# echo -n "geekflare" | 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
Le résultat sera enregistré dans le fichier crackhash.txt.
Nous allons maintenant vérifier les hashs qui ont été sauvegardés dans le fichier donné.
┌──(root💀kali)-[/home/writer/Desktop]
└─# cat crackhash.txt
066d45208667198296e0688629e28b14
482c811da5d5b4bcd497ffeaa98491e3
72a2bc267579aae943326d17e14a8048
2192d208d304b75bcd00b29bc8de5024
caae8dd682acb088ed63e2d492fe1e13
Comme vous pouvez le constater, nous avons maintenant quelques hashs à casser. Voici la procédure pour créer un hachage en utilisant l’algorithme de votre choix.
L’étape suivante consiste à lancer l’outil Hashcat sur votre machine Linux. Il vous suffit d’utiliser la commande suivante pour utiliser Hashcat.
hashcat --help
Cette commande affichera toutes les options dont vous aurez besoin pour faire fonctionner l’outil. Dans le terminal, vous trouverez tous les modes d’attaque et d’utilisation de hashcat.
La forme générale de la commande hashcat est la suivante
$ hashcat -a num -m num hashfile wordlistfile
Ici, le ‘num’ représente une attaque spécifique et un mode de hachage à utiliser. Si vous faites défiler le terminal, vous pouvez trouver les nombres exacts pour chaque attaque et mode de hachage, comme pour md4 – le nombre est 0, et pour l’algorithme sha256 – le nombre est 1740.
La liste de mots que je vais utiliser est la rockyou wordlist. Vous pouvez facilement trouver cette liste de mots dans le chemin /usr/share/wordlists.
Vous pouvez même utiliser la commande locate pour trouver le chemin de cette liste de mots.
┌──(root💀kali)-[/home/writer]
└─# locate rockyou.txt
Enfin, pour craquer les hashs en utilisant le fichier wordlist, utilisez la commande suivante .
$ hashcat -a 0 -m 0 ./crackhash.txt rockyou.txt
Après avoir exécuté cette commande, il se peut que vous obteniez une erreur d’exécution (“Token length exception error”) qui peut être résolue facilement.
Pour résoudre ce problème, enregistrez chaque hachage séparément dans un fichier différent. Cette erreur se produit si la vitesse du processeur ou du processeur graphique est faible. Si votre ordinateur est équipé d’un processeur rapide, vous pouvez facilement déchiffrer tous les hachages en même temps dans un seul fichier.
Ainsi, après avoir corrigé l’erreur et tout le reste, le résultat sera le suivant.
┌──(root💀kali)-[/home/writer/Desktop]
└─# hashcat -a 0 -m 0 hashcrack.txt rockyou.txt
hashcat (v6.1.1) démarre...
API OpenCL (OpenCL 1.2 pocl 1.6, None Asserts, LLVM 9.0.1, RELOC, SLEEF, DISTRO, POCL_DEBUG) - Plate-forme #1 [Le projet pocl]
=============================================================================================================================
* Dispositif #1 : pthread-Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz, 2403/2467 MB (1024 MB allocatable), 4MCU
Longueur minimale du mot de passe supportée par le noyau : 0
Longueur maximale du mot de passe supportée par le noyau : 256
Hachures : 1 condensé ; 1 condensé unique, 1 sel unique
Cartes bitmap : 16 bits, 65536 entrées, masque 0x0000ffff, 262144 octets, 5/13 rotations
Règles : 1
Cache dictionnaire construit :
* Nom de fichier : rockyou.txt
* Mots de passe.. : 14344405
* Octets..... : 139921671
* Espace-clé... : 14344398
* Durée d'exécution... : 1 sec
8276b0e763d7c9044d255e025fe0c212: geekflare@987654
Session.......... : hashcat
Statut........... : Cracked
Hash.Name........ : MD5
Hash.Target...... : 8276b0e763d7c9044d255e025fe0c212
Time.Started..... : Sun Dec 12 08:06:15 2021 (0 secs)
Temps.estimé... : Sun Dec 12 08:06:15 2021 (0 secs)
Guess.Base....... : Fichier (rockyou.txt)
Guess.Queue...... : 1/1 (100.00%)
Vitesse.#1......... : 1059.6 kH/s (0.52ms) @ Accel:1024 Loops:1 Thr:1 Vec:8
Récupéré........ : 1/1 (100.00%) Digests
Progression......... : 4096/14344398 (0.03%)
Rejeté......... : 0/4096 (0.00%)
Point de restauration.... : 0/14344398 (0.00%)
Restore.Sub.#1... : Sel:0 Amplificateur:0-1 Itération:0-1
Candidats.#1.... : 123456 -> pampam
Commencé : Dim Dec 12 08:06:13 2021
Arrêtée : Dim Dec 12 08:06:16 2021
Dans le résultat ci-dessus, après les détails du cache du dictionnaire, vous pouvez remarquer que le hachage a été craqué et que le mot de passe a été révélé.
Conclusion
J’espère que vous avez acquis une meilleure compréhension de l’utilisation de Hashcat pour craquer les mots de passe.
Vous pourriez également être intéressé par les différents outils de force brute pour les tests de pénétration et par certains des meilleurs outils de pentesting.