Identifier les types de hachage inconnus

Kali LinuxBeginner
Pratiquer maintenant

Introduction

Dans les domaines de la cybersécurité et de l'informatique légale, vous rencontrerez souvent des fonctions de hachage cryptographiques. Un hachage est une chaîne d'octets de taille fixe, résultant d'une fonction mathématique unidirectionnelle appliquée à un bloc de données arbitraire. Avant de pouvoir tenter de casser un hachage de mot de passe, vous devez d'abord identifier l'algorithme utilisé pour le créer, tel que MD5, SHA-1 ou NTLM.

Dans ce laboratoire, vous apprendrez la compétence essentielle de l'identification des types de hachage inconnus. Vous utiliserez des outils en ligne de commande courants disponibles sous Linux pour analyser une liste d'exemples de hachages et déterminer leurs algorithmes correspondants. C'est une première étape cruciale pour toute activité de cassage de mot de passe.

Rassembler une liste de divers exemples de hachages

Dans cette étape, vous allez créer un fichier texte contenant plusieurs types de hachages différents. Ce fichier servira d'entrée pour les outils d'identification dans les étapes suivantes. Chaque algorithme de hachage produit un hachage avec une longueur et un jeu de caractères spécifiques, c'est ainsi que les outils d'identification peuvent les distinguer.

Tout d'abord, utilisez la commande cat avec un Here Document (<<EOF) pour créer un fichier nommé hashes.txt dans le répertoire ~/project. Ce fichier contiendra trois types de hachages courants : MD5, SHA-1 et NTLM.

Exécutez la commande suivante dans votre terminal :

cat << EOF > hashes.txt
d41d8cd98f00b204e9800998ecf8427e
da39a3ee5e6b4b0d3255bfef95601890afd80709
32ed87bd5fdc5e204e2620a05a069858
EOF

Après avoir créé le fichier, vous pouvez vérifier son contenu en utilisant à nouveau la commande cat.

cat hashes.txt

Vous devriez voir la sortie suivante, confirmant que les trois hachages ont été enregistrés dans le fichier :

d41d8cd98f00b204e9800998ecf8427e
da39a3ee5e6b4b0d3255bfef95601890afd80709
32ed87bd5fdc5e204e2620a05a069858

Maintenant que vous avez votre liste de hachages, vous êtes prêt à commencer à les identifier.

Utiliser l'outil hashid sous Kali

Dans cette étape, vous utiliserez l'outil hashid pour analyser les hachages que vous avez enregistrés dans le fichier hashes.txt. hashid est un utilitaire en ligne de commande qui identifie différents types de hachages en analysant leur longueur et leur composition de caractères. C'est un outil simple mais puissant pour la phase initiale d'analyse des hachages.

Pour utiliser hashid, il suffit de fournir le fichier contenant les hachages comme argument. L'outil traitera chaque ligne du fichier et tentera d'identifier le hachage sur cette ligne.

Exécutez hashid sur votre fichier hashes.txt :

hashid hashes.txt

L'outil analysera chaque hachage et affichera ses résultats dans le terminal. La sortie montrera la chaîne de hachage, suivie d'une liste d'algorithmes de hachage possibles.

--File 'hashes.txt'--
d41d8cd98f00b204e9800998ecf8427e
[+] MD5
[+] Domain Cached Credentials (DCC)
da39a3ee5e6b4b0d3255bfef95601890afd80709
[+] SHA-1
[+] RipeMD-160
32ed87bd5fdc5e204e2620a05a069858
[+] NTLM
[+] MD4
[+] MD5
--End of file 'hashes.txt'--

Comme vous pouvez le constater, hashid fournit une ou plusieurs correspondances potentielles pour chaque hachage. Dans l'étape suivante, vous apprendrez à interpréter cette sortie.

Analyser la sortie de hashid

Dans cette étape, vous apprendrez à interpréter la sortie de hashid. Bien que l'outil fournisse une liste de possibilités, vous devez souvent utiliser le contexte ou une analyse plus approfondie pour identifier le type de hachage correct.

Analysons la sortie de l'étape précédente :

  • Pour le premier hachage (d41d8cd98f00b204e9800998ecf8427e), hashid suggère MD5 et Domain Cached Credentials (DCC). MD5 est le type le plus courant pour un hachage de ce format.
  • Pour le second hachage (da39a3ee5e6b4b0d3255bfef95601890afd80709), les suggestions sont SHA-1 et RipeMD-160. SHA-1 est un choix très courant.
  • Pour le troisième hachage (32ed87bd5fdc5e204e2620a05a069858), hashid liste NTLM, MD4 et MD5. Dans les environnements Windows, NTLM est un candidat très probable.

hashid peut également vous montrer le code de mode correspondant utilisé par l'outil de cracking de mots de passe Hashcat. Pour ce faire, utilisez l'option -m suivie d'un seul hachage. Vérifions le premier hachage pour son mode Hashcat.

hashid -m d41d8cd98f00b204e9800998ecf8427e

La sortie inclura désormais le numéro de mode Hashcat pour chaque type de hachage potentiel.

--Hash 'd41d8cd98f00b204e9800998ecf8427e'--
[+] MD5 [HC: 0]
[+] Domain Cached Credentials (DCC) [HC: 1100]

Cela vous indique que pour Hashcat, MD5 correspond au mode -m 0. Ces informations sont cruciales pour configurer une session de cracking.

Utiliser un outil d'analyse de hachage en ligne comme second avis

Dans cette étape, vous utiliserez un autre outil en ligne de commande, hash-identifier, pour obtenir un second avis sur les types de hachages. Dans toute analyse, il est de bonne pratique d'utiliser plusieurs outils pour vérifier vos conclusions, car différents outils peuvent avoir des bases de données et des algorithmes différents.

hash-identifier est un script Python interactif. Vous exécutez la commande, et il vous invite à entrer le hachage que vous souhaitez identifier.

Tout d'abord, lancez l'outil en tapant son nom dans le terminal :

hash-identifier

Vous verrez une invite vous demandant le hachage.

   #########################################################################
   ##     __  __                     __           __    _           _   _   #
   ##    / / / /___  ____ ___  ___  / /_  _______/ /_  (_)_________| | / /   #
   ##   / /_/ / __ \/ __ `__ \/ _ \/ __ \/ ___/ __ \/ / / ___/ ___/  |/ /    #
   ##  / __  / /_/ / / / / / /  __/ /_/ / /__/ / / / / / /__/ /  / /|  /     #
   ## /_/ /_/\____/_/ /_/ /_/\___/_.___/\___/_/ /_/_/_/\___/_/  /_/ |_/      #
   ##                                                                       #
   ##                                by c0decracker                         #
   #########################################################################

 HASH:

Maintenant, copiez l'un des hachages de votre fichier hashes.txt, par exemple, le second (da39a3ee5e6b4b0d3255bfef95601890afd80709), collez-le à l'invite, et appuyez sur Entrée.

L'outil analysera le hachage et fournira sa conclusion.

 HASH: da39a3ee5e6b4b0d3255bfef95601890afd80709

Possible Hashs:
[+] SHA-1
[+] RipeMD-160

Least Possible Hashs:

La sortie confirme la conclusion de hashid selon laquelle le hachage est très probablement SHA-1. Vous pouvez appuyer sur Ctrl+C pour quitter l'outil hash-identifier.

Associer le type de hachage identifié au code -m de Hashcat

Dans cette dernière étape, vous apprendrez à trouver le code de mode (-m) correct à utiliser avec Hashcat, l'outil de récupération de mots de passe le plus rapide au monde. Bien que hashid -m puisse fournir ces informations, vous pouvez également les trouver directement dans le menu d'aide complet de Hashcat. Ceci est utile pour confirmer le mode ou trouver les codes pour les types de hachages moins courants.

Hashcat vous demande de spécifier le type de hachage à l'aide d'un code numérique avec l'option -m. Pour trouver le code correct, vous pouvez utiliser grep pour rechercher la sortie d'aide de Hashcat.

Trouvons le mode pour MD5. Exécutez la commande suivante :

hashcat --help | grep "MD5"

La sortie sera une longue liste de tous les modes liés à MD5. Recherchez l'entrée pour le MD5 simple.

...
      0 | MD5                                            | Raw Hash
...

Comme vous pouvez le constater, le mode pour un hachage MD5 standard est 0.

Maintenant, faisons de même pour SHA-1 :

hashcat --help | grep "SHA-1"
...
    100 | SHA-1                                          | Raw Hash
...

Le mode pour SHA-1 est 100.

Enfin, trouvons le mode pour NTLM :

hashcat --help | grep "NTLM"
...
   1000 | NTLM                                           | Raw Hash
...

Le mode pour NTLM est 1000. En identifiant correctement le type de hachage et son mode Hashcat correspondant, vous êtes maintenant prêt à configurer une attaque de cracking de mots de passe.

Résumé

Dans ce laboratoire, vous avez appris le processus fondamental d'identification des types de hachages inconnus, une condition préalable essentielle au cracking de mots de passe. Vous avez commencé par créer un fichier contenant divers exemples de hachages. Vous avez ensuite utilisé deux puissants outils en ligne de commande, hashid et hash-identifier, pour analyser ces hachages et déterminer leurs algorithmes probables. Enfin, vous avez appris à recouper le type de hachage identifié avec la liste exhaustive des modes de Hashcat pour trouver le code -m correct pour une session de cracking. Cette compétence est indispensable pour tout professionnel de la cybersécurité impliqué dans les tests d'intrusion ou la criminalistique numérique.