John the Ripper pour la Forensique Numérique

Kali LinuxBeginner
Pratiquer maintenant

Introduction

En criminalistique numérique (digital forensics), la récupération de mots de passe à partir de preuves saisies est souvent une étape critique. Ces mots de passe peuvent déverrouiller des fichiers chiffrés, accéder à des comptes utilisateurs ou fournir des informations cruciales sur les activités d'un suspect. John the Ripper est un outil de cassage de mots de passe gratuit et open-source, largement utilisé par les professionnels de la sécurité et les enquêteurs forensiques pour tester la robustesse des mots de passe et récupérer des mots de passe perdus ou compromis.

Ce laboratoire vous guidera à travers l'application pratique de John the Ripper dans un contexte de criminalistique numérique. Vous apprendrez comment extraire des hachages de mots de passe de diverses sources, utiliser John the Ripper pour casser ces hachages, et comprendrez l'importance d'une documentation appropriée et de la chaîne de possession (chain of custody) dans les enquêtes forensiques. À la fin de ce laboratoire, vous aurez une solide compréhension de la manière d'intégrer John the Ripper dans votre flux de travail de criminalistique numérique.

Extraction des Hachages à partir d'Images Forensiques

Dans cette étape, vous apprendrez comment simuler l'extraction de hachages de mots de passe à partir d'une image forensique. Dans un scénario réel, ces hachages seraient extraits de diverses sources telles que les fichiers /etc/shadow, les bases de données SAM, ou des conteneurs chiffrés. Pour ce laboratoire, nous avons pré-créé un fichier nommé hashes.txt contenant des exemples de hachages MD5.

Tout d'abord, examinons le contenu du fichier hashes.txt pour comprendre le format des hachages avec lesquels nous allons travailler.

cat ~/project/hashes.txt

Vous devriez voir une sortie similaire à celle-ci, où chaque ligne représente un nom d'utilisateur suivi d'un deux-points et de son hachage correspondant :

user1:5f4dcc3b5aa765d61d8327deb882cf99
user2:21232f297a57a5a743894a0e4a801fc3
user3:d41d8cd98f00b204e9800998ecf8427e
user4:a87ff679a2f3e71d9181a67b7542122c

Ce sont des hachages MD5. John the Ripper peut détecter automatiquement de nombreux types de hachages, mais comprendre le format est crucial pour un cassage efficace.

Utilisation de John the Ripper pour Récupérer des Mots de Passe à partir de Preuves

Dans cette étape, vous utiliserez John the Ripper pour casser les hachages extraits à l'étape précédente. Nous allons utiliser une attaque par liste de mots (wordlist attack), qui est une technique courante en cassage de mots de passe où John tente de faire correspondre les hachages avec une liste de mots de passe courants.

Tout d'abord, utilisons John the Ripper avec le fichier hashes.txt et le fichier wordlist.txt. L'option --format=Raw-MD5 indique explicitement à John the Ripper de traiter les hachages comme des MD5 bruts, bien qu'il les détecte souvent automatiquement.

john --wordlist=~/project/wordlist.txt ~/project/hashes.txt

Après avoir exécuté la commande, John the Ripper tentera de casser les mots de passe. La sortie affichera la progression et tous les mots de passe cassés. Cela peut prendre quelques instants.

Une fois que John aura terminé, vous pourrez afficher les mots de passe cassés en utilisant l'option --show.

john --show ~/project/hashes.txt

Vous devriez voir une sortie similaire à celle-ci, montrant les mots de passe cassés pour les utilisateurs :

user1:password (user1)
user2:admin (user2)
user4:test (user4)
3 password hashes cracked, 1 left

Notez que le mot de passe de user3 (qui est vide, représenté par d41d8cd98f00b204e9800998ecf8427e) pourrait ne pas être cassé par cette liste de mots spécifique, car les mots de passe vides sont souvent traités différemment ou nécessitent des règles spécifiques.

Documentation des Procédures Forensiques avec John the Ripper

En forensique numérique, une documentation méticuleuse est primordiale. Chaque étape effectuée lors d'une enquête, y compris l'utilisation d'outils comme John the Ripper, doit être enregistrée. Cela garantit l'intégrité des preuves et la crédibilité des conclusions devant le tribunal.

Dans cette étape, vous allez simuler la documentation du processus de cassage. Vous devriez enregistrer :

  1. Outil utilisé : John the Ripper
  2. Version : (Vous pouvez la trouver en exécutant john --version)
  3. Fichier d'entrée : ~/project/hashes.txt
  4. Liste de mots utilisée : ~/project/wordlist.txt
  5. Mots de passe cassés : La sortie de john --show
  6. Date et Heure : Moment où le cassage a été effectué.

Créons un fichier texte simple pour documenter cela. Utilisez nano pour créer et éditer un fichier nommé forensic_log.txt dans votre répertoire ~/project.

nano ~/project/forensic_log.txt

À l'intérieur de nano, ajoutez un contenu similaire à ce qui suit, en remplaçant les mots de passe cassés par vos résultats réels :

Forensic Log - Password Cracking

Date: <Current Date and Time>
Investigator: LabEx User

Tool Used: John the Ripper
Version: <Output of john --version>

Input Hash File: ~/project/hashes.txt
Wordlist Used: ~/project/wordlist.txt

Cracking Command:
john --wordlist=~/project/wordlist.txt ~/project/hashes.txt

Cracked Passwords:
user1:password
user2:admin
user4:test

Notes:
Attempted to crack MD5 hashes using a provided wordlist.

Appuyez sur Ctrl+X, puis Y pour sauvegarder, et Entrée pour confirmer le nom du fichier.

Après la sauvegarde, vous pouvez afficher le contenu de votre fichier journal :

cat ~/project/forensic_log.txt

Ce journal constitue une partie cruciale de votre rapport forensique.

Maintenir la Chaîne de Possession pour les Mots de Passe Cassés

Le maintien de la chaîne de possession est essentiel en forensique numérique pour garantir que les preuves sont manipulées correctement et restent admissibles devant le tribunal. Cela implique de documenter qui a eu accès aux preuves, quand et dans quel but. Pour les mots de passe cassés, cela implique de les stocker en toute sécurité et de documenter leur découverte.

Dans cette étape, vous allez simuler la sécurisation des mots de passe cassés et la documentation de leur manipulation. Bien que dans un scénario réel, vous pourriez utiliser des conteneurs chiffrés ou des bases de données sécurisées, ici nous allons simplement déplacer les mots de passe cassés vers un répertoire "evidence" désigné et mettre à jour notre journal.

Tout d'abord, créons un répertoire pour stocker les preuves.

mkdir -p ~/project/evidence/cracked_passwords

Maintenant, redirigeons la sortie de john --show vers un fichier dans ce nouveau répertoire. Ce fichier ne contiendra que les mots de passe cassés.

john --show ~/project/hashes.txt > ~/project/evidence/cracked_passwords/cracked_passwords_output.txt

Vérifiez que le fichier a été créé et contient les mots de passe cassés :

cat ~/project/evidence/cracked_passwords/cracked_passwords_output.txt

Enfin, mettez à jour votre forensic_log.txt pour refléter que les mots de passe cassés ont été sécurisés. Ouvrez à nouveau le fichier journal :

nano ~/project/forensic_log.txt

Ajoutez une nouvelle section au journal, similaire à ceci :

Cracked Passwords Secured:
Location: ~/project/evidence/cracked_passwords/cracked_passwords_output.txt
Date Secured: <Current Date and Time>

Sauvegardez et quittez nano (Ctrl+X, Y, Entrée).

Ce processus garantit que les mots de passe cassés sont traités comme des preuves et que leur manipulation est documentée.

Présenter les Constatations dans un Rapport Forensique

La dernière étape de toute enquête forensique numérique consiste à présenter les constatations dans un rapport forensique clair, concis et juridiquement valable. Ce rapport résume l'enquête, les méthodes utilisées, les preuves trouvées et les conclusions tirées.

Dans cette étape, vous allez compiler les informations recueillies tout au long de ce laboratoire dans un rapport forensique simplifié. Ce rapport comprendrait généralement :

  • Informations sur l'affaire : ID de l'affaire, Enquêteur, Date.
  • Résumé Exécutif : Bref aperçu des constatations.
  • Méthodologie : Outils et techniques utilisés (par exemple, John the Ripper, attaque par liste de mots).
  • Constatations : Mots de passe spécifiques cassés et leurs comptes associés.
  • Conclusion : Résumé de ce que les constatations impliquent.
  • Annexes : Journaux bruts, fichiers de hachage, etc. (comme forensic_log.txt).

Créons un nouveau fichier nommé forensic_report.txt dans votre répertoire ~/project en utilisant nano.

nano ~/project/forensic_report.txt

Ajoutez un contenu similaire à ce qui suit, en intégrant les détails de votre forensic_log.txt et les mots de passe cassés :

Digital Forensic Report

Case ID: LABEX-JTR-001
Investigator: LabEx User
Date of Report: <Current Date and Time>

1. Executive Summary:
This report details the recovery of user account passwords from seized digital evidence using John the Ripper. Three passwords were successfully recovered.

2. Methodology:
Password hashes were extracted from a simulated forensic image (hashes.txt). John the Ripper (version <John version>) was utilized with a custom wordlist (wordlist.txt) to perform a dictionary attack against the extracted MD5 hashes.

3. Findings:
The following user accounts and their corresponding passwords were recovered:
- user1: password
- user2: admin
- user4: test

The raw output of the cracking process and detailed procedural logs are appended in the Forensic Log (forensic_log.txt).

4. Conclusion:
The recovered passwords provide access to the identified user accounts, which may contain further relevant evidence for the ongoing investigation.

5. Appendices:
- Forensic Log: ~/project/forensic_log.txt
- Cracked Passwords Output: ~/project/evidence/cracked_passwords/cracked_passwords_output.txt

Sauvegardez et quittez nano (Ctrl+X, Y, Entrée).

Enfin, examinez votre rapport complet :

cat ~/project/forensic_report.txt

Cet exercice démontre l'importance de consolider toutes les constatations dans un rapport complet à des fins juridiques et d'enquête.

Résumé

Félicitations ! Vous avez terminé avec succès le laboratoire "John the Ripper pour la Forensique Numérique".

Dans ce laboratoire, vous avez acquis une expérience pratique avec John the Ripper, un outil fondamental en forensique numérique. Vous avez appris à :

  • Simuler l'extraction de hachages à partir de preuves forensiques.
  • Utiliser John the Ripper pour récupérer des mots de passe à l'aide d'une attaque par liste de mots.
  • Documenter méticuleusement les procédures forensiques, en créant un journal détaillé de vos actions.
  • Comprendre et maintenir la chaîne de possession des preuves découvertes, en particulier les mots de passe cassés.
  • Compiler et présenter les constatations dans un rapport forensique structuré.

Ces compétences sont cruciales pour tout enquêteur en forensique numérique, leur permettant d'analyser efficacement les preuves, de récupérer des informations critiques et de présenter leurs constatations d'une manière juridiquement valable. Continuez à explorer d'autres techniques de cassage de mots de passe et les fonctionnalités avancées de John the Ripper pour améliorer davantage vos capacités forensiques.