John the Ripper
hackingDéfinition
John the Ripper (JtR) est un outil open source de cracking de mots de passe multiplateforme, pionnier dans le domaine depuis 1996. Il supporte des centaines de formats de hachage et plusieurs modes d'attaque, avec une implémentation CPU optimisée et une version Jumbo maintenue par la communauté qui ajoute support GPU via OpenCL/CUDA et des centaines de formats supplémentaires. John the Ripper est apprécié pour son mode 'single crack' qui utilise des informations sur le compte (nom d'utilisateur, nom complet, GECOS) pour générer des candidats intelligents basés sur des transformations du nom (variations de casse, remplacement de caractères, ajout de suffixes numériques). Ce mode exploite la tendance des utilisateurs à dériver leurs mots de passe de leurs noms ou identifiants. Le mode 'wordlist' teste des mots d'un dictionnaire avec des règles de mutation configurables dans le fichier john.conf. Les règles John sont d'une syntaxe différente d'Hashcat mais offrent des capacités similaires. Le mode 'incremental' (force brute intelligente) génère des candidats selon des statistiques de fréquence de caractères extraites de mots de passe réels, progressant des plus probables aux moins probables. Des outils complémentaires dans l'écosystème JtR incluent : unshadow (combine /etc/passwd et /etc/shadow pour obtenir un fichier de hachages Linux), ssh2john.py (extrait les hachages de clés SSH protégées par passphrase pour cracking), keepass2john.py (extrait le hash d'une base KeePass), pdf2john.py, office2john.py, etc. Ces scripts permettent de cibler des fichiers protégés par mot de passe de nombreux formats. Hashcat a largement supplanté John pour les attaques GPU massives sur des hachés standards (NTLM, MD5, SHA), mais John reste pertinent pour des formats spécialisés (certains formats de firmware, systèmes UNIX anciens, fichiers protégés par mot de passe) et son interface simple.
Fonctionnement
Workflow typique en pentest : extraire les hachages (shadow file, SAM dump), préparer avec unshadow si nécessaire, lancer JtR avec john --wordlist=rockyou.txt --format=NT hashes.txt pour NTLM, ou john --incremental=alpha hashes.txt pour force brute alphabétique. Les résultats sont stockés dans un fichier .pot local. john --show hashes.txt affiche les mots de passe craqués. Les formats spécialisés nécessitent l'option --format.
Exploitation offensive
John excelle sur les hachages de fichiers protégés par mot de passe : ssh2john extrait le hash d'une clé SSH RSA chiffrée et John craque la passphrase, permettant d'utiliser la clé. keepass2john fait de même pour les bases KeePass, souvent utilisées par des administrateurs avec des mots de passe de comptes sensibles stockés dedans.
Détection et mitigation
Comme Hashcat, John craque entièrement offline. Les défenses sont les mêmes : mots de passe longs et complexes, algorithmes de hachage résistants, pas de réutilisation de mots de passe. Pour les clés SSH, utiliser des passphrases longues (20+ caractères) sur les clés privées critiques.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés. 2.1.7
Un projet cybersécurité ?
Expert dispo · Réponse 24h