1. Objectif
Ce cours vise à initier les étudiants à l’utilisation de John the Ripper, un outil de craquage de mots de passe fréquemment utilisé dans les tests de pénétration. Il leur apprendra à utiliser cet outil pour identifier et exploiter les faiblesses des systèmes de gestion de mots de passe, tout en mettant l’accent sur l’importance de l’éthique dans la cybersécurité.
2. Introduction
Qu’est-ce que John the Ripper ?
- Définition : John the Ripper (JtR) est un outil open-source développé par Openwall. Conçu à l’origine pour tester la robustesse des mots de passe sur des systèmes Unix, il a ensuite été adapté à d’autres systèmes comme Linux, Windows et macOS.
- Fonctionnalités : L’outil combine différents modes de craquage et autodétecte le type de hachage utilisé. Il prend en charge plusieurs types de hachages (MD5, SHA1, SHA256, Whirlpool, etc.).
- Importance dans les tests de pénétration : JtR est l’un des outils les plus populaires pour tester la résistance des mots de passe. Il aide à détecter des vulnérabilités avant qu’elles ne soient exploitées.
- Téléchargement et installation : Disponible sur le site web d’Openwall ou sur GitHub. Sur Linux (ex. Kali Linux), il est souvent préinstallé.
Exercice : Installer John the Ripper sur votre machine locale en suivant les instructions du dépôt GitHub.
3. Modes de craquage disponibles dans John the Ripper
John the Ripper offre trois modes de craquage principaux :
Single Crack Mode :
Utilise les informations connues, comme le nom d’utilisateur, pour générer des variantes probables du mot de passe
john --single [fichier_mdp]
Exercice : Créer un fichier avec des noms d’utilisateur et hachages, puis utiliser le mode Single Crack.
Wordlist Crack Mode :
Compare le hachage du mot de passe à une liste de mots prédéfinie (dictionnaire ou wordlist)
john --wordlist=[chemin/wordlist] --format=[type_hachage] [fichier_mdp]
Exercice : Utiliser une wordlist personnalisée pour craquer des mots de passe en SHA1.
Incremental Mode :
Teste toutes les combinaisons possibles de caractères. Plus lent, mais efficace pour les mots de passe complexes.
john --incremental [fichier_mdp]
4. Craquage de mots de passe utilisateurs sous Linux
Sous Linux, les mots de passe sont chiffrés dans /etc/shadow
.
Exemple 1 : Craquage du mot de passe d’un utilisateur spécifique
Extraire le hachage de/etc/shadow
et le copier dans un fichier texte (ex.crack.txt
).
john --wordlist=/usr/share/john/password.lst crack.txt
Exemple 2 : Craquage de tous les utilisateurs
Utiliser unshadow
pour combiner /etc/passwd
et /etc/shadow
dans un seul fichier.
unshadow /etc/passwd /etc/shadow > crack.txt
john --wordlist=/usr/share/john/password.lst crack.txt
Exercice : Utiliser les fichiers passwd
et shadow
d’une machine virtuelle pour simuler un craquage.
5. Interruption et reprise du processus de craquage
John the Ripper permet d’interrompre et de reprendre un processus de craquage.
- Interruption :
Ctrl + C
ouq
- Reprise :
john --restore
Exercice : Lancer un craquage, l’interrompre, puis le restaurer.
6. Craquage de différents formats de fichiers et hachages
- Hachages (MD5, SHA1, SHA256, Whirlpool, etc.)
Utiliser des wordlists commerockyou.txt
:
# Pour SHA1
john --wordlist=/usr/share/wordlists/rockyou.txt --format=raw-sha1 crack.txt
# Pour MD5
john --wordlist=/usr/share/wordlists/rockyou.txt --format=raw-md5 crack.txt
Exercice : Créer un fichier contenant différents hachages (MD5, SHA1, …) et les craquer.
- Fichiers compressés (RAR, ZIP, 7-Zip)
Convertir d’abord les archives aveczip2john
ourar2john
:
# ZIP
zip2john file.zip > crack.txt
john --wordlist=/usr/share/wordlists/rockyou.txt crack.txt
# RAR
rar2john file.rar > crack.txt
john --wordlist=/usr/share/wordlists/rockyou.txt crack.txt
Exercice : Protéger des fichiers ZIP et RAR par mot de passe, puis les craquer.
7. Craquage de mots de passe de fichiers spécifiques
Clés SSH :
Convertir avecssh2john
:
ssh2john id_rsa > crack.txt
john --wordlist=/usr/share/wordlists/rockyou.txt crack.txt
Fichiers PDF :
Convertir avec pdf2john
:
pdf2john file.pdf > crack.txt
john --wordlist=/usr/share/wordlists/rockyou.txt crack.txt
Exercice : Craquer un fichier PDF ou une clé SSH protégée.
8. Conclusion
Ce cours a montré comment utiliser John the Ripper pour craquer différents types de mots de passe et de hachages. Outil essentiel en test de pénétration, il doit être utilisé de manière légale et éthique. En tant que professionnel de la sécurité, il est de votre responsabilité de protéger les systèmes en les testant et en renforçant leur sécurité.
Exercices de fin de cours :
- Craquer des mots de passe complexes à partir de différents fichiers (ZIP, RAR, PDF, etc.).
- Utiliser le mode incrémentiel pour des mots de passe longs.
- Analyser l’impact du temps sur le craquage selon les méthodes utilisées.