Introduction
Dans ce laboratoire, vous apprendrez le processus de craquage d'une archive RAR protégée par mot de passe. Il s'agit d'une tâche courante en test d'intrusion et en criminalistique numérique. Vous utiliserez une combinaison d'outils puissants et standards de l'industrie disponibles sous Linux : rar pour créer l'archive, la suite John the Ripper (spécifiquement rar2john) pour extraire un hash de l'archive, et Hashcat pour craquer le hash afin de révéler le mot de passe d'origine.
Le processus implique la création d'un fichier protégé d'exemple, l'extraction de son hash de mot de passe, l'identification du type de hash correct pour l'outil de craquage, et enfin, le lancement d'une attaque par dictionnaire pour trouver le mot de passe. Cet exercice pratique vous donnera une compréhension fondamentale des mécanismes de craquage de mots de passe.
Créer une archive RAR protégée par mot de passe
Dans cette étape, vous allez créer une archive RAR protégée par mot de passe. Celle-ci servira de cible pour notre exercice de craquage de mot de passe. Nous utiliserons l'outil en ligne de commande rar. L'environnement de laboratoire a déjà créé un fichier d'exemple nommé secret.txt dans votre répertoire actuel, /home/labex/project.
Tout d'abord, utilisons la commande rar pour créer une archive. L'option a signifie "ajouter à l'archive" (add to archive), et le commutateur -p est utilisé pour spécifier directement un mot de passe. Nous utiliserons labex comme mot de passe pour cet exercice.
Exécutez la commande suivante dans votre terminal pour créer une archive protégée par mot de passe nommée secret.rar contenant le fichier secret.txt.
rar a -plabex secret.rar secret.txt
Vous verrez une sortie indiquant que le fichier est en cours d'ajout et que l'archive est en cours de création.
RAR 6.12 Copyright (c) 1993-2022 Alexander Roshal 17 May 2022
Trial version Type 'rar -?' for help
Evaluation copy. Please register.
Creating archive secret.rar
Adding secret.txt OK
Done
Maintenant, vérifiez que le fichier secret.rar a été créé dans votre répertoire de projet en utilisant la commande ls -l.
ls -l
total 12
-rw-r--r-- 1 labex labex 338 Dec 05 10:30 secret.rar
-rw-r--r-- 1 labex labex 25 Dec 05 10:28 secret.txt
-rw-r--r-- 1 labex labex 29 Dec 05 10:28 wordlist.txt
Vous avez maintenant créé avec succès le fichier cible pour ce laboratoire.
Utiliser rar2john pour extraire le hash du fichier RAR
Dans cette étape, vous utiliserez rar2john, un utilitaire de la suite John the Ripper, pour extraire le hash du mot de passe du fichier secret.rar. Les outils de craquage comme Hashcat ne fonctionnent pas directement sur le fichier RAR ; ils ont besoin d'un format de hash spécifique qui contient les informations nécessaires pour vérifier un mot de passe. rar2john est conçu exactement dans ce but.
Exécutez la commande suivante pour traiter le fichier secret.rar :
rar2john secret.rar
La commande affichera une longue chaîne de caractères dans le terminal. Cette chaîne est le hash.
secret.rar:$RAR3$*0*b51874e2d3731234*f82b2123456789012345678901234567:8:secret.txt:24:0
Ce hash contient le sel de l'archive, les données chiffrées et d'autres métadonnées requises pour le processus de craquage. Pour faciliter son utilisation, il est recommandé de sauvegarder ce hash dans un fichier texte.
Utilisez la redirection de sortie (>) pour sauvegarder le hash dans un fichier nommé rar_hash.txt.
rar2john secret.rar > rar_hash.txt
Cette commande ne produira aucune sortie visible car la sortie est redirigée vers le fichier. Vous pouvez confirmer que le fichier a été créé et qu'il contient le hash en utilisant la commande cat.
cat rar_hash.txt
secret.rar:$RAR3$*0*b51874e2d3731234*f82b2123456789012345678901234567:8:secret.txt:24:0
Vous avez maintenant le hash RAR dans un format que les outils de craquage de mots de passe peuvent comprendre.
Identifier le bon mode de hash pour RAR3-hp ou RAR5
Dans cette étape, vous allez identifier le bon mode que Hashcat doit utiliser pour craquer le hash. Hashcat prend en charge des centaines de types de hash différents, et vous devez spécifier le bon en utilisant un numéro de mode.
Le hash que vous avez extrait commence par $RAR3$*.... Ce préfixe vous indique le type de chiffrement RAR utilisé. Pour trouver le mode correspondant dans Hashcat, vous pouvez consulter son menu d'aide.
Utilisez la commande suivante pour lister tous les modes Hashcat et filtrer ceux qui sont liés à "RAR". L'indicateur -i dans grep rend la recherche insensible à la casse.
hashcat --help | grep -i "RAR"
La sortie affichera les différents modes RAR pris en charge par Hashcat.
...
12500 | RAR3-hp | Archives
13000 | RAR5 | Archives
...
D'après la sortie, vous pouvez voir deux modes principaux :
12500pourRAR3-hp13000pourRAR5
Étant donné que notre hash commence par $RAR3$, le mode correct à utiliser est 12500. L'identification du bon mode de hash est une étape cruciale pour une tentative de craquage réussie.
Préparer le hash et la liste de mots pour l'attaque
Dans cette étape, vous allez préparer les fichiers nécessaires à la tentative de craquage. Une attaque par dictionnaire, ce que nous allons effectuer, nécessite deux entrées principales : le fichier contenant le hash à craquer et une liste de mots (un fichier contenant des mots de passe potentiels).
Vous avez déjà terminé la première partie en sauvegardant le hash dans rar_hash.txt. Examinons rapidement son contenu.
cat rar_hash.txt
secret.rar:$RAR3$*0*b51874e2d3731234*f82b2123456789012345678901234567:8:secret.txt:24:0
Ensuite, vous avez besoin de la liste de mots. Pour ce laboratoire, une simple liste de mots nommée wordlist.txt a été créée pour vous lors du processus de configuration. Dans un scénario réel, vous utiliseriez une liste de mots beaucoup plus grande, comme le célèbre rockyou.txt. Examinons le contenu de notre petite liste de mots.
cat wordlist.txt
password
123456
labex
secret
Comme vous pouvez le constater, notre liste de mots contient quelques mots de passe courants, y compris le bon, labex. Avec le fichier de hash et la liste de mots prêts, vous êtes maintenant préparé à lancer l'attaque.
Exécuter l'attaque pour trouver le mot de passe RAR
Dans cette étape, vous allez exécuter l'attaque par dictionnaire à l'aide de Hashcat. Avec le fichier de hash, la liste de mots et le numéro de mode correct identifiés, vous avez tout ce dont vous avez besoin.
La syntaxe de base pour une attaque par dictionnaire Hashcat est : hashcat -m <mode> <fichier_hash> <fichier_liste_mots>.
Exécutez maintenant la commande en utilisant le mode 12500, votre fichier de hash rar_hash.txt et votre liste de mots wordlist.txt.
hashcat -m 12500 rar_hash.txt wordlist.txt
Hashcat va s'initialiser, démarrer la session de craquage et tester rapidement les mots de passe de votre liste de mots contre le hash. Une fois qu'il trouve une correspondance, le processus se terminera et le statut affichera Cracked.
...
Session..........: hashcat
Status...........: Cracked
Hash.Name........: RAR3-hp
Hash.Target......: secret.rar
Time.Started.....: ...
Time.Estimated...: 0 secs (0.00ms)
Guess.Base.......: File (wordlist.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........: 24211 H/s (0.01ms) @ Accel:128 Loops:128 Thr:1 Vec:8
Recovered........: 1/1 (100.00%) Digests
Progress.........: 4/4 (100.00%)
Rejected.........: 0/4 (0.00%)
Restore.Point....: 4/4 (100.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1
Candidate.Engine.: Optimized Kernel
Candidates.#1....: password -> secret
Hardware.Mon.#1..: Temp: 45c Fan: 30%
...
Hashcat enregistre automatiquement les mots de passe craqués dans un fichier appelé "potfile" situé à ~/.hashcat/hashcat.potfile. Pour afficher le mot de passe craqué, vous pouvez utiliser l'option --show avec votre commande d'origine.
hashcat -m 12500 rar_hash.txt --show
Ceci affichera le hash et son mot de passe craqué correspondant.
secret.rar:$RAR3$*0*b51874e2d3731234*f82b2123456789012345678901234567:8:secret.txt:24:0:labex
Le mot de passe, labex, est affiché à la fin de la ligne, séparé par un deux-points. Vous avez réussi à craquer le mot de passe de l'archive RAR.
Résumé
Félicitations pour avoir terminé ce laboratoire ! Vous avez appris avec succès le processus complet de craquage d'une archive RAR protégée par mot de passe.
Dans ce laboratoire, vous avez pratiqué plusieurs compétences clés :
- Créer une archive protégée par mot de passe à l'aide de la commande
rar. - Extraire un hash craquable d'un fichier RAR avec
rar2john. - Identifier le type de hash correct et son mode correspondant dans
Hashcat. - Exécuter une attaque par dictionnaire avec
Hashcaten utilisant le hash extrait et une liste de mots. - Afficher le mot de passe récupéré.
Ces techniques sont fondamentales dans le domaine de la cybersécurité pour la récupération de mots de passe et l'audit de sécurité. Il est important de se rappeler que ces compétences ne doivent être utilisées qu'éthiquement et légalement, par exemple, sur des systèmes que vous avez l'autorisation explicite de tester.


