Installation de Hashcat et Benchmark Système

LinuxBeginner
Pratiquer maintenant

Introduction

Hashcat est largement reconnu comme l'un des outils de récupération de mots de passe les plus rapides et les plus avancés. Il prend en charge une grande variété d'algorithmes de hachage et peut exploiter à la fois les CPU et les GPU pour accélérer le processus de craquage des mots de passe.

Dans ce laboratoire, vous parcourrez les étapes fondamentales pour commencer à utiliser Hashcat sur un système Linux. Vous apprendrez à l'installer en utilisant le gestionnaire de paquets standard, à vérifier que l'installation a réussi, et surtout, à exécuter une évaluation comparative (benchmark) pour comprendre les capacités de performance de votre système. C'est une première étape cruciale pour toute personne intéressée par les tests d'intrusion (penetration testing), l'audit de sécurité des systèmes ou l'analyse de performance.

À la fin de ce laboratoire, vous serez à l'aise avec la configuration initiale et l'évaluation de Hashcat.

Installer Hashcat en utilisant le gestionnaire de paquets apt

Dans cette étape, vous allez installer Hashcat sur votre système Ubuntu. Nous utiliserons le gestionnaire de paquets apt, qui est l'outil standard pour gérer les logiciels sur les distributions Linux basées sur Debian comme Ubuntu.

Premièrement, il est de bonne pratique de mettre à jour la liste des paquets de votre système pour vous assurer d'obtenir les versions logicielles les plus récentes disponibles. Exécutez la commande suivante dans votre terminal :

sudo apt update

Vous verrez les listes de paquets être téléchargées depuis les dépôts.

Ensuite, vous pouvez installer Hashcat. L'option -y est utilisée pour répondre automatiquement "oui" à toute invite pendant le processus d'installation, le rendant non interactif.

sudo apt install hashcat -y

Le système va maintenant télécharger et installer Hashcat ainsi que ses dépendances. Vous verrez une sortie détaillant la progression de l'installation. Une sortie d'exemple pourrait ressembler à ceci (les paquets et versions exacts peuvent varier) :

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  hashcat-data ocl-icd-libopencl1
The following NEW packages will be installed:
  hashcat hashcat-data ocl-icd-libopencl1
0 upgraded, 3 newly installed, 0 to remove and XX not upgraded.
Need to get X,XXX kB of archives.
After this operation, XX.X MB of additional disk space will be used.
...
Setting up hashcat-data (X.X.X+ds1-1) ...
Setting up ocl-icd-libopencl1:amd64 (X.X.X-1) ...
Setting up hashcat (X.X.X+ds1-1) ...
Processing triggers for man-db (X.X.X-1) ...
Processing triggers for libc-bin (X.X.X-0ubuntu1) ...

Une fois que l'invite de commande réapparaît, Hashcat est installé sur votre système.

Vérifier l'installation de Hashcat avec 'hashcat --version'

Dans cette étape, vous allez vérifier que Hashcat a été installé correctement et qu'il est accessible depuis votre terminal. Une manière courante de vérifier si un outil en ligne de commande est installé et fonctionnel est de demander son numéro de version.

Exécutez la commande suivante pour afficher la version installée de Hashcat :

hashcat --version

Si l'installation a réussi, la commande affichera le numéro de version du binaire Hashcat. La sortie devrait ressembler à ceci :

vX.X.X

L'affichage du numéro de version confirme que le système d'exploitation peut trouver et exécuter le programme hashcat.

Lister les périphériques de calcul disponibles avec 'hashcat -I'

Dans cette étape, vous allez identifier les périphériques de calcul que Hashcat peut utiliser pour ses opérations. Hashcat est conçu pour exploiter la puissance de traitement parallèle du matériel moderne, y compris les unités centrales de traitement (CPU) et les unités de traitement graphique (GPU).

Pour voir une liste de tous les périphériques OpenCL compatibles sur votre système, vous pouvez utiliser l'option -I (i majuscule).

Exécutez la commande suivante :

hashcat -I

Cette commande analysera votre système et listera tous les périphériques qu'il peut utiliser, ainsi que leurs détails. Dans cet environnement virtuel, vous ne verrez probablement que le CPU listé. Si vous exécutiez ceci sur une machine dotée d'une carte graphique dédiée, vous la verriez également listée.

La sortie ressemblera à ceci :

hashcat (vX.X.X) starting...

OpenCL Info:
============

Platform ID #1
  Vendor  : ...
  Name    : ...
  Version : OpenCL X.X ...

  Device ID #1
    Type           : CPU
    Vendor ID      : XXX
    Vendor         : ...
    Name           : Intel(R) Xeon(R) ...
    Version        : OpenCL X.X ...
    Processor(s)   : X
    Clock          : XXXX MHz
    ...

Ces informations sont utiles pour savoir quels périphériques Hashcat utilisera et pour sélectionner des périphériques spécifiques pour une tâche si plusieurs sont disponibles.

Exécuter un benchmark système pour MD5 avec 'hashcat -b -m 0'

Dans cette étape, vous allez exécuter un benchmark pour mesurer les performances de votre système pour un type de hachage spécifique. C'est une étape cruciale pour comprendre à quelle vitesse votre système peut tenter de casser des mots de passe.

Nous utiliserons le mode benchmark intégré de Hashcat. La commande utilise deux indicateurs (flags) importants :

  • -b ou --benchmark : Ceci indique à Hashcat d'exécuter son mode benchmark au lieu d'une session de cassage réelle.
  • -m 0 : Ceci spécifie le type de hachage à tester. Le nombre 0 correspond à l'algorithme MD5. MD5 est un algorithme de hachage très courant et relativement rapide.

Exécutez maintenant la commande de benchmark dans votre terminal :

hashcat -b -m 0

Hashcat commencera le processus de benchmark. Il testera l'algorithme spécifié (MD5) sur tous les périphériques détectés et rapportera la vitesse. Le processus peut prendre une minute pour se terminer. La sortie sera détaillée, mais la partie la plus importante est le résumé de la vitesse à la fin.

hashcat (vX.X.X) starting in benchmark mode...

... (initialization messages) ...

Benchmark relevant options:
===========================
* Hash-Type: 0 (MD5)

... (device information) ...

[s]tatus [p]ause [r]esume [b]ypass [q]uit =>

... (status updates) ...

Benchmark.Final:
================
* Hash-Type: 0 (MD5)

Speed.Dev.#1.:   XXX.X MH/s (XX.XXms)

...

Attendez que le benchmark soit terminé avant de passer à l'étape suivante.

La ligne Speed.Dev.#1. indique la performance de votre périphérique principal (le CPU dans ce cas).

Interpréter les résultats de vitesse du benchmark

Dans cette dernière étape, nous allons analyser la sortie du benchmark que vous venez d'exécuter. Il s'agit d'une étape conceptuelle sans nouvelles commandes à exécuter.

Revenez à la sortie de la commande hashcat -b -m 0 de l'étape précédente. L'information clé est la ligne qui commence par Speed.

Speed.Dev.#1.:   XXX.X MH/s (XX.XXms)

Décortiquons cela :

  • Speed.Dev.#1.: Ceci fait référence à la vitesse du Périphérique n°1 (Device #1), que vous avez identifié à l'Étape 3 (probablement votre CPU).
  • XXX.X MH/s: C'est la métrique la plus importante. Elle signifie "Méga Hashs par seconde" (Mega Hashes per second). Une valeur de 100.0 MH/s signifie que votre système peut calculer et vérifier 100 millions de hachages MD5 chaque seconde. Plus ce nombre est élevé, plus votre système est rapide pour effectuer une attaque par force brute ou par dictionnaire.
  • (XX.XXms): Cette valeur indique la latence ou le temps pris pour un lot d'opérations, ce qui est plus pertinent pour l'optimisation des performances (performance tuning). Pour un benchmark de base, la valeur H/s est l'indicateur principal de performance.

La vitesse que vous observez est spécifique à l'algorithme MD5 (-m 0). Si vous deviez effectuer un benchmark d'un algorithme plus complexe comme bcrypt (-m 3200), la vitesse serait considérablement plus faible (mesurée en H/s ou kH/s au lieu de MH/s) car bcrypt est intentionnellement conçu pour être lent à calculer.

Comprendre la vitesse de benchmark de votre système est essentiel pour estimer le temps nécessaire à une tâche de cassage de mot de passe.

Résumé

Félicitations ! Vous avez terminé avec succès ce laboratoire sur l'installation et le benchmark de Hashcat.

Dans ce laboratoire, vous avez acquis les compétences suivantes :

  • Installer l'outil Hashcat sur un système Linux en utilisant le gestionnaire de paquets apt.
  • Vérifier une installation logicielle en consultant sa version.
  • Identifier les périphériques de calcul CPU et GPU disponibles que Hashcat peut utiliser.
  • Exécuter un benchmark de performance système pour un algorithme de hachage spécifique (MD5).
  • Interpréter les résultats du benchmark pour comprendre les capacités de cassage de mot de passe de votre système.

Ces compétences fondamentales sont essentielles pour quiconque souhaite utiliser Hashcat pour l'audit de sécurité, la récupération de mots de passe ou l'évaluation des performances système. Vous êtes maintenant prêt à explorer les fonctionnalités plus avancées de Hashcat.