Skip to content
Learni
Voir tous les tutoriels
Sécurité Informatique

Comment utiliser Hashcat en pentesting en 2026

Read in English

Introduction

Hashcat est un outil open-source puissant pour récupérer des mots de passe à partir de hashes cryptographiques, utilisé en pentesting pour évaluer la force des mots de passe. En 2026, avec le support GPU avancé (NVIDIA/AMD), il excelle dans les attaques par force brute, dictionnaire et masques. Important : cet outil est strictement pour des usages légaux comme tester vos propres systèmes, audits autorisés ou récupération de mots de passe personnels. Cracker sans permission est illégal. Ce tutoriel beginner vous guide de l'installation aux attaques basiques, avec des exemples concrets sur Linux. Vous apprendrez à générer des hashes de test et à les cracker en minutes, simulant un scénario réel de sécurité. Préparez votre GPU pour des performances optimales ! (128 mots)

Prérequis

  • Système Linux (Ubuntu 24.04+ recommandé) ou Windows avec WSL2
  • Carte graphique NVIDIA/AMD avec drivers CUDA/ROCm installés
  • Connaissances basiques en terminal
  • Espace disque : 1 Go pour Hashcat et wordlists
  • Éthique : N'utilisez que sur vos propres hashes ou avec autorisation écrite

Installer Hashcat

install-hashcat.sh
#!/bin/bash
# Mettre à jour le système
sudo apt update && sudo apt upgrade -y

# Installer les dépendances GPU (pour NVIDIA CUDA)
sudo apt install -y nvidia-cuda-toolkit

# Installer Hashcat depuis les dépôts officiels
sudo apt install -y hashcat

# Vérifier l'installation
hashcat --version
hashcat --benchmark

Cette commande installe Hashcat et ses dépendances GPU en une seule exécution. Le benchmark teste votre hardware : attendez-vous à des MH/s (millions de hashes/seconde) sur GPU. Évitez les binaires non officiels pour la sécurité.

Préparer des hashes de test

Avant de cracker, créez des hashes MD5 simples pour tester. Nous utilisons 'password' (hash: 5f4dcc3b5aa765d61d8327deb882cf99) et '123456' (hash: e10adc3949ba59abbe56e057f20f883e). Ces exemples imitent des bases de données compromises.

Générer fichier de hashes

generate-hashes.sh
#!/bin/bash
echo -e "user1:5f4dcc3b5aa765d61d8327deb882cf99\nuser2:e10adc3949ba59abbe56e057f20f883e" > hashes.txt

# Vérifier le fichier
echo "Hashes générés :"
cat hashes.txt

# Identifier le mode Hashcat (MD5)
hashcat --example-hashes | grep md5

Ce script crée un fichier 'hashes.txt' au format Hashcat (user:hash). Utilisez MD5 (-m 0) pour ces tests simples. Piège : toujours spécifier le bon mode (-m), sinon Hashcat échoue silencieusement.

Attaque par force brute

bruteforce.sh
#!/bin/bash
hashcat -m 0 -a 3 hashes.txt '?a?a?a?a?a?a' --force

# Explication des options :
# -m 0 : MD5
# -a 3 : Force brute (masque)
# ?a?a?a?a?a?a : 6 caractères alphanumériques (?a = a-zA-Z0-9!@ etc.)

# Résultat attendu : Recovered en ~1s pour 'password'

L'attaque brute teste tous les combos de 6 caractères (?a). Pour 'password' (8 chars), ajustez à '?a?a?a?a?a?a?a?a'. Utilisez GPU avec -O pour optimiser ; surveillez la VRAM pour éviter les crashes.

Attaques par dictionnaire

Les dictionnaires sont plus rapides que la brute force. RockYou est un standard avec 14M mots de passe leakés.

Télécharger wordlist et cracker

dictionary-attack.sh
#!/bin/bash
# Télécharger rockyou (wordlist célèbre)
wget https://github.com/brannondorsey/naive-hashcat/releases/download/data/rockyou.txt -O rockyou.txt

# Attaque dictionnaire sur MD5
hashcat -m 0 hashes.txt rockyou.txt -O

# Afficher résultats
hashcat -m 0 hashes.txt rockyou.txt --show

Rockyou.txt contient des mots courants. -O active l'optimisation GPU. --show liste les cracks réussis comme 'user1:password'. Piège : wordlists compressées (.gz) nécessitent gunzip d'abord.

Attaque avec règles

rules-attack.sh
#!/bin/bash
# Règles intégrées de Hashcat pour variations (append/prepend digits)
hashcat -m 0 hashes.txt rockyou.txt -r rules/dive.rule -O

# Règle custom simple : ajouter '123'
echo ':123' > myrule.rule
hashcat -m 0 hashes.txt rockyou.txt -r myrule.rule

# Résultats
hashcat -m 0 hashes.txt --show

Les règles (-r) transforment les mots (ex: 'pass' -> 'pass123'). 'dive.rule' est performant pour beginners. Combinez avec GPU pour scaler ; testez toujours sur hashes connus.

Attaque masques hybride

hybrid-attack.sh
#!/bin/bash
# Hybride : dictionnaire + masque (?d = digit)
hashcat -m 0 -a 6 hashes.txt rockyou.txt ?d?d?d --increment

# Masque pur pour PIN 4 chiffres
hashcat -m 0 -a 3 hashes.txt '?d?d?d?d' -O

# Status en temps réel
hashcat -m 0 -a 3 hashes.txt '?d?d?d?d' --status

-a 6 = hybride dict + masque. ?d?d?d teste 000-999. --increment commence petit pour efficacité. Idéal pour mots de passe prévisibles comme 'qwerty123'.

Bonnes pratiques

  • Toujours éthique : Documentez l'autorisation avant tout test.
  • Utilisez GPU/CPU hybride avec --opencl-device-types 1,2.
  • Sauvegardez sessions : hashcat --session=myattack --restore.
  • Testez modes hash courants (-m 0 MD5, 100 SHA1, 500 MySQL).
  • Monitorez température GPU avec nvidia-smi.

Erreurs courantes à éviter

  • Oublier drivers GPU : hashcat reste CPU-only (x100 plus lent).
  • Mauvais mode -m : vérifiez avec hashcat -I --example-hashes.
  • Wordlist corrompue : testez hashcat wordlist.txt.
  • Pas de sortie : utilisez --show ou -o cracked.txt.

Pour aller plus loin

Maîtrisez les attaques avancées (PrinceAttack, Combinator). Ressources : Docs officielles Hashcat, Hashcat Wiki. Formations pro : Learni Group Pentesting. Essayez sur CTF comme HackTheBox.