Aide-mémoire John the Ripper
Référence complète de cassage de mots de passe
Attaques par dictionnaire • Règles • Formats de hachage • Multi-plateformes
Qu'est-ce que John the Ripper ?
John the Ripper est un outil gratuit et open-source de cassage de mots de passe. Développé à l'origine pour Unix, il fonctionne désormais sur de nombreuses plateformes et supporte des centaines de types de hachage. La version "Jumbo" ajoute encore plus de formats et de fonctionnalités.
John est pré-installé sur Kali Linux. Site officiel : openwall.com/john.
📦 Installation
Kali Linux
sudo apt install john
Version Jumbo (recommandée)
git clone https://github.com/openwall/john
cd john/src && ./configure && make
macOS (Homebrew)
brew install john-jumbo
🎯 Utilisation de base
# Casser avec les paramètres par défaut (détection auto du format)john hashes.txt# Utiliser un dictionnairejohn --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt# Spécifier le format de hachagejohn --format=raw-md5 hashes.txt# Afficher les mots de passe cassésjohn --show hashes.txt# Lister les formats supportésjohn --list=formats# Vérifier le statut de la sessionjohn --status# Restaurer une session interrompuejohn --restore
⚔️ Modes d'attaque
| Mode | Option | Description |
|---|---|---|
| Single | --single | Utilise les noms de login, GECOS, noms de répertoire |
| Wordlist | --wordlist=FILE | Attaque par dictionnaire |
| Incremental | --incremental | Force brute de toutes les combinaisons |
| Mask | --mask=MASK | Force brute basée sur un motif |
| External | --external=MODE | Fonctions personnalisées de type C |
# Mode single (le plus rapide, utilise les noms d'utilisateur)john --single hashes.txt# Dictionnaire avec règlesjohn --wordlist=rockyou.txt --rules hashes.txt# Incrémental (minuscules, jusqu'à 8 caractères)john --incremental=Lower hashes.txt# Mode masquejohn --mask='?u?l?l?l?d?d?d?d' hashes.txt
🎭 Caractères du mode masque
| Joker | Jeu de caractères |
|---|---|
| ?l | Minuscules (a-z) |
| ?u | Majuscules (A-Z) |
| ?d | Chiffres (0-9) |
| ?s | Caractères spéciaux |
| ?a | Tous les caractères ASCII imprimables |
| ?h | Hexadécimal minuscule (0-9, a-f) |
| ?H | Hexadécimal majuscule (0-9, A-F) |
# Motif Password1john --mask='?u?l?l?l?l?l?l?l?d' hashes.txt# Code PIN à 8 chiffresjohn --mask='?d?d?d?d?d?d?d?d' hashes.txt# Préfixe statique avec suffixe variablejohn --mask='Company?d?d?d?d' hashes.txt
📋 Formats de hachage courants
| Format | Description |
|---|---|
| raw-md5 | MD5 brut |
| raw-sha1 | SHA1 brut |
| raw-sha256 | SHA256 brut |
| raw-sha512 | SHA512 brut |
| sha512crypt | Fichier shadow Linux ($6$) |
| sha256crypt | Fichier shadow Linux ($5$) |
| md5crypt | MD5 crypt Linux/BSD ($1$) |
| bcrypt | Blowfish crypt ($2a$, $2b$, $2y$) |
| nt | Windows NTLM |
| lm | Windows LM |
| mscash2 | MS Cache 2 (Domain Cached) |
| krb5tgs | Kerberos TGS |
# Lister tous les formatsjohn --list=formats# Rechercher un formatjohn --list=formats | grep -i mysql
🔧 Outils d'extraction de hachage (*2john)
John inclut de nombreux outils pour extraire les hachages de divers types de fichiers :
# Fichier shadow Linuxunshadow /etc/passwd /etc/shadow > unshadowed.txt# Fichier ZIPzip2john protected.zip > zip.hash# Fichier RARrar2john protected.rar > rar.hash# Fichier 7z7z2john protected.7z > 7z.hash# Fichier PDFpdf2john protected.pdf > pdf.hash# Documents Officeoffice2john document.docx > office.hash# Clé privée SSHssh2john id_rsa > ssh.hash# Base de données KeePasskeepass2john database.kdbx > keepass.hash# Clé privée GPG/PGPgpg2john private.key > gpg.hash# Tickets Kerberoskirbi2john ticket.kirbi > kirbi.hash
📜 Règles de transformation de mots
# Utiliser les règles par défautjohn --wordlist=rockyou.txt --rules hashes.txt# Utiliser un jeu de règles spécifiquejohn --wordlist=rockyou.txt --rules=best64 hashes.txt# Règles Jumbo (plus complètes)john --wordlist=rockyou.txt --rules=jumbo hashes.txt# Lister les règles disponiblesjohn --list=rules
Jeux de règles courants
| Single | Règles par défaut du mode single |
| Wordlist | Règles par défaut du dictionnaire |
| best64 | Top 64 des règles les plus efficaces |
| jumbo | Jeu de règles complet |
| KoreLogic | Règles très approfondies |
⚡ Options de performance
| Option | Description |
|---|---|
| --fork=N | Créer N processus pour le cassage parallèle |
| --node=X/Y | Répartir le travail pour le cassage distribué |
| --devices=N | Sélection du périphérique OpenCL |
| --min-length=N | Longueur minimale du mot de passe |
| --max-length=N | Longueur maximale du mot de passe |
# Utiliser tous les cœurs CPUjohn --fork=8 --wordlist=rockyou.txt hashes.txt
💾 Gestion des sessions
# Nommer une sessionjohn --session=mycrack --wordlist=rockyou.txt hashes.txt# Restaurer une sessionjohn --restore=mycrack# Vérifier le statut (pendant l'exécution)john --status=mycrack# Afficher les mots de passe cassésjohn --show hashes.txt# Afficher au format utilisateur:mot_de_passejohn --show --format=raw-md5 hashes.txt
🔥 Scénarios de cassage courants
# Casser un fichier shadow Linuxunshadow /etc/passwd /etc/shadow > hashes.txt john hashes.txt# Casser des hachages NTLMjohn --format=nt --wordlist=rockyou.txt ntlm_hashes.txt# Casser MD5 avec règlesjohn --format=raw-md5 --wordlist=rockyou.txt --rules hashes.txt# Casser un ZIP chiffrézip2john file.zip > zip.hash john zip.hash# Casser une clé privée SSHssh2john id_rsa > ssh.hash john ssh.hash# Casser des tickets Kerberoastjohn --format=krb5tgs --wordlist=rockyou.txt kerberos.hash
📚 Ressources supplémentaires
🔐 Aide-mémoire John the Ripper terminé !
Vous disposez maintenant d'une référence complète pour l'un des outils de cassage de mots de passe les plus légendaires. Des fichiers shadow aux archives chiffrées, ces commandes sont essentielles pour tout professionnel de la sécurité.
Prêt à casser votre prochain hachage !