John the Ripper : casser des mots de passe avec un vrai outil
Un script maison suffisait sur un MD5 non salé. Voyons ce qu'il faut de plus face à un hash salé, avec l'outil que les professionnels utilisent réellement.
Petite vérification
Avant de commencer, vérifiez si vous savez encore répondre à ces 3 questions très simples, sur la séance précédente consacrée à la CNIL et au RGPD :
- que signifie le sigle CNIL ?
- que signifie le sigle RGPD, et depuis quelle année est-il applicable ?
- citer un droit reconnu à toute personne sur ses données personnelles par le RGPD.
📌 Réponse attendue
TP pour réfléchir et résoudre des problèmes
Votre défi pour aujourd'hui consiste à auditer, avec un vrai outil professionnel, des mots de passe désormais stockés de façon plus réaliste
La médiathèque Jules Verne, ses comptes et ses mots de passe restent fictifs, construits pour l'exercice.
N'utilisez jamais, dans un exercice comme celui-ci, un mot de passe que vous employez réellement ailleurs. N'exécutez jamais un outil comme celui-ci contre des empreintes qui ne vous appartiennent pas.
Étape 1 — Générer des empreintes salées à auditer
Depuis la migration évoquée lors de la séance précédente sur le craquage de mot de passe, le nouvel intranet de la médiathèque ne stocke plus de simples empreintes MD5 : il sale chaque mot de passe avant de le hacher. Générez vous-même les 2 empreintes à auditer, avec les mêmes mots de passe que la séance précédente :
mkdir ~/tp-john && cd ~/tp-john
openssl passwd -6 'Mediatheque2024'
openssl passwd -6 'Tr4ctopelle-Figuier91!'
-6 indique l'algorithme SHA-512 crypt. Chaque exécution affiche une empreinte de la forme
$6$<sel>$<hash> : le sel (une valeur aléatoire) change à chaque fois, donc votre résultat diffère
de celui de votre voisin, même pour le même mot de passe.
Reportez vos 2 résultats dans comptes_mediatheque.txt :
amelie:$6$VOTRE_SEL_ICI$VOTRE_HASH_ICI
direction:$6$VOTRE_SEL_ICI$VOTRE_HASH_ICI
- Relancez deux fois
openssl passwd -6 'Mediatheque2024'. Obtenez-vous la même empreinte les deux fois ? - À votre avis, pourquoi ?
📌 Réponse attendue
Étape 2 — Constater que le script de la séance précédente ne convient plus
Avant de continuer, relisez rapidement craquage.py de la séance précédente.
Question : ce script, tel quel, peut-il traiter comptes_mediatheque.txt ? Pourquoi ?
📌 Réponse attendue
Étape 3 — Installer et lancer John the Ripper
sudo apt update && sudo apt install john -y
Réutilisez la liste de mots de passe courants de la séance précédente (ou recréez-la) :
mots_de_passe_courants.txt :
123456
password
azerty
Password1
mediatheque
Mediatheque
soleil2024
Mediatheque2024
bonjour123
motdepasse
qwerty123
bibliotheque
Lancez l'attaque :
john --wordlist=mots_de_passe_courants.txt comptes_mediatheque.txt
Puis affichez les mots de passe cassés :
john --show comptes_mediatheque.txt
- Quel compte a été cassé ? Lequel résiste ?
- John a-t-il eu besoin que vous lui précisiez qu'il s'agissait de SHA-512 crypt ?
📌 Réponse attendue
Étape 4 — Comparer la vitesse avec la séance précédente
time john --wordlist=mots_de_passe_courants.txt comptes_mediatheque.txt
Question : la séance précédente annonçait un temps de calcul de quelques millièmes de seconde pour 12 mots de passe en MD5. Qu'observez-vous ici, et pourquoi ?
📌 Réponse attendue
Étape 5 — Réagir à un cas pratique
Le responsable informatique de la médiathèque propose : « maintenant que nos mots de passe sont salés, un mot de passe court redevient sûr, puisque le sel change tout ». Que lui répondez-vous ?
Restitution orale
Un étudiant (ou un binôme) vient présenter au tableau le résultat obtenu à l'étape 3, l'explication de la différence de vitesse de l'étape 4, et sa réponse au responsable informatique de l'étape 5.
- Durée : 5 minutes de présentation + 2 à 3 minutes de questions.
- Qui passe : un(e) étudiant(e) (ou un binôme) désigné(e) par l'enseignant.
- Support : le travail réalisé pendant le TP, aucune préparation supplémentaire n'est nécessaire.
- Ce qui est attendu :
- rappeler quel compte a été cassé et lequel a résisté ;
- expliquer ce que le salage change, et ce qu'il ne change pas ;
- répondre aux questions de la classe.
Cet exercice entraîne à l'oral technique court exigé par plusieurs épreuves du BTS (notamment E5 et E6) : clarté, structure, capacité à répondre à l'improviste.
📌 Une solution
Notions théoriques
Vous venez de passer d'un script jetable à un véritable outil d'audit de mots de passe. Comprenons ce qui a changé, et pourquoi.