John the Ripper (souvent abrégé en John ou JtR) est un des outils les plus connus pour casser des mots de passe à partir de leurs hashs. Que vous cherchiez john the ripper, ou que vous fassiez la faute en tapant john the reaper, john the rippe ou jonh the ripper, on parle bien du même programme : un outil de bruteforce et d’attaque par dictionnaire incontournable en CTF et en pentest.
Ce guide est pensé pour les débutants : installation, fonctionnement, attaques de base (dictionnaire et bruteforce), exemples simples, wordlists utiles, cheatsheet et FAQ.
Installation de John the Ripper

Que vous l’utilisiez en CTF, en laboratoire perso ou en pentest encadré, la première étape consiste à installer correctement John the Ripper et à vérifier qu’il fonctionne.
Installation de John the Ripper sur Kali Linux
Sur Kali Linux, John est en général installé par défaut. Vous pouvez vérifier sa présence et sa version avec :
john --version
Si la commande ne répond pas, installez-le simplement avec :
sudo apt update
sudo apt install john
Installation sur Debian / Ubuntu
Sur Debian, Ubuntu et dérivés, John the Ripper est disponible dans les dépôts officiels :
sudo apt update
sudo apt install john
Cette commande installe la version « community » de John en ligne de commande, largement suffisante pour apprendre le bruteforce et faire des CTF.
Installation sur autres distributions (Arch, Fedora, etc.)
Sur d’autres distributions Linux, utilisez le gestionnaire de paquets natif :
- Arch / Manjaro :
sudo pacman -S john - Fedora :
sudo dnf install john - openSUSE :
sudo zypper install john
Pour des fonctionnalités avancées, il existe aussi la version « jumbo » de John compilable depuis les sources, mais pour débuter l’installation via les dépôts est largement suffisante.
Vérifier l’installation
Une fois John installé, vérifiez qu’il est bien dans le PATH et fonctionnel :
john --test
john --list=formats
Si ces commandes renvoient des informations sans erreur, John the Ripper est correctement installé et prêt pour vos premiers tests de bruteforce à l’instar de Dirb.
Fonctionnement de base de John the Ripper
John the Ripper travaille toujours sur le même principe :
- Vous disposez d’un ou plusieurs hashs (NTLM, MD5, SHA, etc.) dans un fichier texte.
- Vous choisissez une méthode d’attaque (dictionnaire, bruteforce, single mode…).
- Vous lancez John sur ce fichier et attendez qu’il trouve les mots de passe.
- Vous affichez les mots de passe récupérés avec
john --show.
Exemple générique :
# Lancer John sur un fichier de hashs
john hash.txt
# Afficher les résultats
john --show hash.txt
Méthodes d’attaque principales
Attaque par dictionnaire (wordlist)
L’attaque par dictionnaire est la plus simple et la plus efficace pour un débutant. John teste chaque mot d’une wordlist comme possible mot de passe.
Exemple avec la wordlist rockyou :
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
Si le mot de passe est peu complexe ou issu de fuites connues, il sera souvent trouvé très vite.
Attaque bruteforce (mode incremental)
L’attaque bruteforce consiste à tester toutes les combinaisons possibles de caractères jusqu’à tomber sur le bon mot de passe. C’est très puissant, mais potentiellement très long.
Exemple simple :
john --incremental hash.txt

Ce mode est utile quand vous n’avez aucune idée du mot de passe, mais le temps de calcul explose dès que la longueur ou la complexité augmente.
Mode single (single crack)
Le mode single utilise les informations disponibles autour du hash (nom d’utilisateur, login…) pour générer des mots de passe probables.
john --single hash.txt
Très pratique quand le mot de passe est dérivé du nom de l’utilisateur (prénom+année, pseudo+123, etc.).
Exemple complet : casser un hash pas à pas
Supposons que vous ayez un fichier ntlm.txt contenant un hash NTLM récupéré dans un CTF.
Étape 1 : attaque par wordlist
john --wordlist=/usr/share/wordlists/rockyou.txt ntlm.txt
Étape 2 : si rien n’est trouvé, bruteforce
john --incremental ntlm.txt
Étape 3 : afficher les mots de passe trouvés
john --show ntlm.txt
Dans un contexte réaliste, le but est d’abord d’essayer une wordlist (rapide), puis seulement ensuite le bruteforce si nécessaire.
Formats de hash supportés
John supporte un grand nombre de formats. Pour les lister :
john --list=formats
Parmi les plus fréquents :
- nt : hash NTLM Windows
- raw-md5 : MD5 simple
- raw-sha1, raw-sha256 : SHA
- sha512crypt : mots de passe Linux modernes
- zip, rar, pdf : fichiers chiffrés
Pour certains formats, il faut d’abord transformer le fichier (ZIP, RAR, PDF…) en hash compatible via des outils comme zip2john, rar2john, etc.
Créer des hashs pour s’entraîner
Pour pratiquer en local sans risque, vous pouvez générer vos propres hashs.
Hash SHA-512 (style Linux)
openssl passwd -6
Hash MD5 simple
echo -n "password" | md5sum
Hash NTLM “à la main”
echo -n "password" | iconv -t utf16le | openssl md4
Vous mettez ensuite le hash dans un fichier (par exemple hash.txt) et vous le cassez avec John.
Wordlists utiles pour John the Ripper
En pratique, la qualité de votre wordlist est plus importante que la puissance brute.
rockyou.txt
Sur Kali, la wordlist la plus utilisée est :
/usr/share/wordlists/rockyou.txt
Si elle n’est pas décompressée :
gunzip /usr/share/wordlists/rockyou.txt.gz
SecLists
Le projet SecLists contient une énorme collection de wordlists : mots de passe, usernames, combinaisons spécifiques, etc. Idéal pour aller plus loin que rockyou.
Wordlists personnalisées
En CTF comme en pentest, générer une wordlist adaptée au contexte (prénoms, noms, société, dates importantes…) est souvent plus efficace qu’un bruteforce aveugle.
Cheatsheet débutant John the Ripper
Attaque par dictionnaire
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
Bruteforce (mode incremental)
john --incremental hash.txt
Mode single
john --single hash.txt
Afficher les mots de passe trouvés
john --show hash.txt
Restaurer une session interrompue
john --restore
Lister les formats disponibles
john --list=formats
FAQ – Questions fréquentes
John the Ripper peut-il casser tous les mots de passe ?
Non. Si le mot de passe est long et complexe (par exemple 16+ caractères avec symboles), un bruteforce complet est souvent irréaliste. John excelle surtout sur les mots de passe faibles, réutilisés ou dérivés d’un dictionnaire.
John the Ripper, c’est légal ?
Oui, tant que vous l’utilisez dans un cadre légal : CTF, lab perso, tests autorisés sur vos propres systèmes ou mission de pentest contractuelle. Sur un système tiers sans autorisation, c’est illégal.
Quelle différence entre John the Ripper et Hashcat ?
Hashcat est optimisé pour le GPU et très puissant pour les attaques massives, mais John the Ripper est plus simple à prendre en main et très adapté à l’apprentissage et aux CTF, surtout côté CPU.
John peut-il casser un fichier ZIP ou RAR ?
Oui, en utilisant d’abord un outil convertisseur, puis John :
# ZIP
zip2john archive.zip > hash.txt
john hash.txt
# RAR
rar2john archive.rar > hash.txt
john hash.txt
Pourquoi mon bruteforce est-il si lent ?
Parce que le nombre de combinaisons possibles explose très vite avec la longueur et le jeu de caractères. Il est souvent plus efficace d’utiliser une bonne wordlist ou des règles que du bruteforce pu
Conclusion
John the Ripper reste l’un des meilleurs outils pour comprendre les bases du cracking de mot de passe et du bruteforce. Il est simple à installer, facile à utiliser en ligne de commande, et suffisamment puissant pour la plupart des scénarios de CTF et de pentest d’initiation.
En combinant John, de bonnes wordlists et un peu de logique, vous pouvez rapidement progresser en audit de mots de passe, tout en gardant à l’esprit la limite essentielle : ne jamais utiliser ces techniques en dehors d’un cadre légal et contrôlé.