Skip to content
Learni
Voir tous les tutoriels
Cybersécurité

Comment utiliser John the Ripper pour auditer les mots de passe en 2026

Read in English

Introduction

John the Ripper, souvent abrégé en John, est un outil open-source de cracking de mots de passe développé depuis 1996 par la communauté Openwall. En 2026, il reste un pilier pour les audits de sécurité légitimes, utilisé par les pentesters pour évaluer la robustesse des mots de passe dans les entreprises. Contrairement aux idées reçues, son usage éthique vise à identifier les faiblesses avant qu'un attaquant malveillant ne les exploite.

Pourquoi est-ce crucial ? Les breaches de données comme celles de 2024 (LinkedIn, RockYou2024) montrent que 80% des mots de passe sont faibles (dictionnaires, patterns simples). John simule des attaques réalistes : brute force (essai exhaustif), dictionnaire (listes de mots courants) et règles (mutations comme 'password' → 'P@ssw0rd!').

Ce tutoriel beginner, purement conceptuel sans code, vous guide pas à pas dans sa théorie. Vous comprendrez comment il traite les hashes (MD5, SHA, bcrypt), optimise les performances (GPU via OpenCL) et intègre des wordlists massives comme RockYou. À la fin, vous saurez auditer éthiquement et promouvoir des politiques de mots de passe forts. Idéal pour débutants en cybersécurité souhaitant bookmark ce guide comme référence. (248 mots)

Prérequis

  • Connaissances de base en cryptographie : hashes (MD5, SHA-256, bcrypt) et salage.
  • Familiarité avec Linux (John est natif Unix-like).
  • Compréhension éthique : uniquement pour audits autorisés (pentest légal, CTF).
  • Accès à des wordlists publiques (RockYou, CrackStation) – téléchargeables légalement.
  • Pas de code : focus théorique, applicable sur Kali Linux ou Jumbo version.

Étape 1 : Comprendre les principes de base du cracking

John the Ripper repose sur l'inversion de hash : un hash est une fonction unidirectionnelle (ex. 'motdepasse' → '5f4dcc3b5aa765d61d8327deb882cf99' pour MD5). L'outil essaie des candidats plaintexts, les hashe et compare.

Analogies simples : Imaginez un coffre-fort avec un code à 4 chiffres (brute force : essayer 0000 à 9999). Pour des mots longs, c'est infaisable (2^128 essais pour AES-128).

Types de hashes supportés (2026) :

TypeExempleVitesse John
-----------------------------
MD5Rapide, obsolèteTrès haute
SHA-1VulnérableHaute
bcryptLent par designMoyenne
Argon2Moderne, mémoire-intensiveBasse
John détecte automatiquement le format via --format=auto. Étude de cas : Sur RockYou2024 (10B mots de passe), '123456' craque en secondes sur MD5.

Performance : Jumbo (fork moderne) utilise CPU multi-cœurs + GPU (CUDA/OpenCL), jusqu'à 100k H/s sur RTX 4090 pour MD5.

Étape 2 : Les modes d'attaque principaux

Mode 1 : Single crack – Utilise login/nom comme candidat ('user:password' → hash). Idéal pour /etc/shadow Unix. Théorie : Exploite la paresse humaine (mots de passe = username).

Mode 2 : Wordlist/Dictionnaire – Charge une liste (rockyou.txt) et hashe chaque entrée. Ex. : 14M mots RockYou, temps = taille_liste * temps_hash.

Mode 3 : Incremental (brute force) – Génère systématiquement (aaa, aab...). Charset par défaut : ?l?d?s (minus, chiffres, symboles). Pour 8 chars : 95^8 = 6.6e15 essais – des années même sur GPU.

Mode 4 : Rules – Mutations automatisées : toggle case ('pass' → 'Pass'), append '123', leet ('a'→'@'). Fichier rules : 1000+ règles par défaut.

Exemple concret : Hash MD5 'e10adc3949ba59abbe56e057f20f883e' ('123456'). Wordlist le trouve en 1s ; sans, brute force ~1min sur CPU.

Combinaison : --stdout + pipes pour hybrides (wordlist + règles).

Étape 3 : Préparation des données et sessions

Extraction de hashes : De shadow, SAM (Windows), PDFs. Outils comme unshadow ou pdf2john (théorique).

Fichiers d'entrée : hashes.txt au format user:hash ou hash seul.

Sessions persistantes : --session=audit1 sauvegarde progrès (crédit .pot pour résultats). Reprise : --restore.

Wordlists avancées :

  • RockYou : 14M, couvre 30% usages.
  • Hashcat rules : Compatibles.
  • Personnalisées : Cebase (noms), DarkWeb leaks.

Étude de cas : Audit shadow Linux. 100 users, 20% craqués en 1h (faibles MD5). Résultats : john.pot stocke hash:plaintext pour éviter redites.

Scaling : Distribuez via MPI (clusters), ou cloud GPU (AWS EC2 g5.xlarge).

Étape 4 : Analyse des résultats et reporting

Outputs :

  • --show : Liste craqués.
  • .pot : Cache global.
  • Stats : --progress-every=10s.

Métriques clés :
MétriqueInterprétation
--------------------------
c/sCand. par sec.
p/sPlaint. par sec.
TimeETA restants

Reporting éthique : Z-Score (force mot : bits entropy). Ex. 'password123' = 20 bits (faible). Recommandez : 12+ chars, passphrase (diceware).

Visualisation : Hashcat-utils ou scripts pour graphs (temps vs. force).

Bonnes pratiques

  • Éthique first : Obtenez autorisation écrite (RoE). Documentez tout.
  • Commencez simple : Wordlist + rules avant brute force (90% succès).
  • Optimisez hardware : GPU Jumbo > CPU. Testez formats avec john --list=formats.
  • Mettez à jour : Jumbo GitHub hebdo (nouveaux formats comme PBKDF2-HMAC-SHA512).
  • Sécurisez outputs : Chiffrez .pot, supprimez après audit.

Erreurs courantes à éviter

  • Ignorer le salage : Hashes salés (unique/user) cassent dictionnaires simples – utilisez --fork pour paralléliser.
  • Wordlist inadaptée : RockYou pour US ; utilisez multilingual (SecLists) pour FR.
  • Pas de format detect : Spécifiez --format=sha512crypt pour shadow moderne.
  • Oublier restore : Perte progrès après crash – toujours --session.

Pour aller plus loin

Maîtrisez Hashcat (GPU-first, plus rapide). Lisez Openwall John docs. Pratiquez sur HackTheBox ou CTF.

Découvrez nos formations Learni en pentesting pour hands-on éthiques. Livres : 'Hacking Exposed', 'The Basics of Hacking and Penetration Testing'.