Installer et vérifier Hydra

HydraBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous apprendrez à installer et à vérifier Hydra, un outil polyvalent de craquage de mots de passe ( password-cracking tool ) pour l'attaque par force brute ( brute-forcing ) des identifiants de connexion réseau ( network logins ) à travers divers protocoles. Les exercices couvrent l'installation du paquet ( package installation ), la vérification de la version ( version verification ) et les tests de commandes de base ( basic command testing ) pour garantir un bon fonctionnement.

Vous pratiquerez les opérations essentielles d'Hydra, notamment la vérification de sa version, la localisation de l'exécutable et l'exploration des options de commande. Ces étapes pratiques vous aideront à confirmer une installation réussie tout en vous familiarisant avec cet important outil de sécurité.

Installer Hydra sur votre système

Dans cette étape, vous installerez Hydra, un puissant outil de craquage de mots de passe ( password-cracking tool ) utilisé pour tester la sécurité du réseau. Hydra effectue des attaques par force brute ( brute-force attacks ) contre les systèmes de connexion ( login systems ) et prend en charge plus de 30 protocoles, notamment HTTP, FTP, SSH, et bien d'autres. Nous l'installerons sur votre VM LabEx, qui fournit un environnement sûr pour l'apprentissage.

Remarque : Les utilisateurs gratuits ne peuvent pas se connecter à Internet, Hydra est donc déjà préinstallé dans l'environnement de laboratoire. Vous pouvez passer directement à l'élément 4 de la liste (vérifier si Hydra est installé). Passez à un utilisateur pro pour vous entraîner à installer Hydra par vous-même.

  1. Tout d'abord, nous devons mettre à jour la liste des paquets ( package list ). Cela garantit que vous installerez la dernière version disponible d'Hydra et de ses dépendances :
sudo apt update

La commande sudo vous donne les privilèges d'administrateur, tandis que apt update actualise la liste des paquets disponibles de votre système.

  1. Maintenant, installez Hydra à l'aide du gestionnaire de paquets ( package manager ) apt. L'option -y confirme automatiquement toutes les invites pendant l'installation :
sudo apt install -y hydra
  1. Le processus d'installation gérera automatiquement toutes les dépendances requises. Ce sont des composants logiciels supplémentaires dont Hydra a besoin pour fonctionner correctement. Attendez que le processus se termine - vous verrez un message lorsque ce sera fait.

  2. Après l'installation, vérifions qu'Hydra est correctement installé et accessible. La commande which indique où le système trouve l'exécutable Hydra :

which hydra
which hydra

Résultat attendu :

/usr/bin/hydra

Ce résultat confirme qu'Hydra est installé correctement. L'emplacement /usr/bin/ signifie que l'outil est disponible à l'échelle du système, vous pouvez donc l'exécuter à partir de n'importe quel répertoire de votre terminal. Dans les prochaines étapes, nous explorerons comment utiliser les puissantes fonctionnalités d'Hydra.

Vérifier l'installation d'Hydra avec une vérification de version

Dans cette étape, nous vérifierons qu'Hydra est correctement installé en vérifiant son numéro de version. Il s'agit d'une première vérification essentielle car elle confirme trois choses importantes : que le logiciel est installé correctement, que votre système peut le trouver (via le PATH), et qu'il est prêt à être utilisé.

Lorsque vous travaillez avec des outils en ligne de commande ( command-line tools ) comme Hydra, vérifier la version est toujours un bon point de départ. Cela vous aide à confirmer que vous travaillez avec le bon outil et vous donne des informations de base sur votre installation.

  1. Commençons par une vérification de version de base. Tapez cette commande dans votre terminal :
hydra -v
  1. Après avoir exécuté ceci, vous devriez voir une sortie similaire à :
Hydra v9.2 (c) 2022 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes.

Cela vous montre le numéro de version (v9.2 dans cet exemple) et certaines informations de copyright. Le numéro de version est particulièrement important lorsque vous suivez des tutoriels ou de la documentation, car différentes versions peuvent avoir des fonctionnalités légèrement différentes.

  1. Pour plus de détails techniques sur votre installation d'Hydra, y compris la façon dont elle a été compilée, utilisez l'option -V en majuscule :
hydra -V
  1. Cette commande affichera des informations de construction supplémentaires ( build information ) qui pourraient être utiles pour le dépannage ou lors du signalement de problèmes.

Ces simples vérifications accomplissent plusieurs choses importantes :

  • Elles confirment qu'Hydra est installé et fonctionne
  • Elles vérifient que votre système peut trouver la commande Hydra (ce qui signifie qu'elle se trouve dans votre PATH)
  • Elles vous donnent des informations sur la version que vous utilisez
  • Elles aident à identifier tout problème immédiat avec l'installation

Si l'une de ces commandes échoue ou donne une erreur, cela signifie probablement qu'Hydra n'est pas installé correctement ou qu'il ne se trouve pas dans le PATH de votre système, et vous devrez dépanner l'installation.

Localiser le chemin d'accès à l'exécutable Hydra

Dans cette étape, vous apprendrez à trouver où Hydra est installé sur votre système. Lorsque nous installons un logiciel comme Hydra, le système place son fichier exécutable dans des répertoires spécifiques. Connaître ce chemin est essentiel car :

  1. Cela vous aide à vérifier que l'installation a réussi
  2. Vous aurez besoin de ce chemin lors de la création de scripts ou d'alias
  3. Les administrateurs système ont souvent besoin de vérifier l'emplacement des exécutables pour les audits de sécurité

Commençons par la commande de base pour localiser Hydra :

  1. Utilisez la commande which pour localiser l'exécutable d'Hydra. Cette commande recherche dans la variable d'environnement PATH de votre système pour trouver où Hydra est installé :
which hydra
  1. La sortie vous montrera le chemin complet où réside l'exécutable principal d'Hydra. Un système Linux typique affichera quelque chose comme :
/usr/bin/hydra
  1. Maintenant, obtenons plus de détails sur ce fichier exécutable. La commande suivante combine ls -l (qui affiche les détails du fichier) avec which hydra (pour obtenir le chemin) :
ls -l $(which hydra)
  1. Cela vous donne des informations importantes, notamment :
    • Les permissions du fichier (qui peut le lire/écrire/exécuter)
    • Le propriétaire du fichier (généralement root pour les programmes installés par le système)
    • La taille du fichier et la date de modification
    • Le chemin d'accès réel

Exemple de sortie :

-rwxr-xr-x 1 root root 123456 Jan 1 00:00 /usr/bin/hydra
  1. Pour aller encore plus loin, nous pouvons vérifier quel type de fichier est l'exécutable d'Hydra. Ceci est particulièrement utile lorsque vous devez vérifier qu'il s'agit d'un véritable binaire et non d'un script ou d'un lien symbolique ( symlink ) :
file $(which hydra)
  1. La sortie vous indique qu'il s'agit d'un binaire compilé (pas d'un script) et affiche des détails techniques sur son architecture et sa liaison ( linking ) :
/usr/bin/hydra: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=abcdef1234567890, for GNU/Linux 3.2.0, stripped

Ces commandes vous donnent une image complète de l'endroit où Hydra est installé et du type d'exécutable qu'il est, ce qui est une connaissance fondamentale pour travailler avec n'importe quel outil en ligne de commande.

Exécuter Hydra avec la commande d'aide

Dans cette étape, vous apprendrez à accéder à la documentation d'aide intégrée d'Hydra pour comprendre son utilisation de base et la syntaxe des commandes. Le système d'aide d'Hydra est votre premier point de référence lorsque vous travaillez avec cet outil, car il explique en détail toutes les commandes et options disponibles.

  1. Pour afficher le menu d'aide de base qui montre la structure générale des commandes et les options courantes, exécutez cette simple commande dans votre terminal :
hydra -h
  1. La sortie affichera les informations de version d'Hydra, suivies de la syntaxe de commande de base. Cela comprend :
  • Les formats de paramètres requis
  • Les indicateurs d'options courants ( option flags )
  • Des exemples d'utilisation de base

Voici ce que vous verrez généralement :

Hydra v9.2 (c) 2022 by van Hauser/THC & David Maciejak
Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-SuvV46] [service://server[:PORT][/OPT]]

Options:
  -l LOGIN or -L FILE  login with LOGIN name, or load several logins from FILE
  -p PASS  or -P FILE  try password PASS, or load several passwords from FILE
  ...
  1. Pour une aide spécifique au protocole qui montre les options avancées pour des services particuliers (comme HTTP ou FTP), utilisez ce format de commande :
hydra -U SERVICE

Remplacez SERVICE par le nom du protocole avec lequel vous travaillez, tel que http, ftp ou ssh. Cela affichera les options spécialisées pour ce service particulier.

  1. Pour découvrir tous les modules de service disponibles avec lesquels Hydra peut fonctionner, exécutez cette commande (notez que 'foo' et 'bar' ne sont que des espaces réservés ici) :
hydra -l foo -p bar -U
  1. La sortie d'aide complète fournit des informations cruciales, notamment :
  • Les paramètres obligatoires ou facultatifs pour chaque module
  • Des exemples d'utilisation pratiques
  • Une liste complète des protocoles pris en charge
  • Les paramètres liés aux performances pour affiner vos tests ( tuning your tests )

N'oubliez pas que le système d'aide d'Hydra est sensible au contexte - les informations affichées changent en fonction des options que vous combinez avec les indicateurs -h ou -U.

Tester Hydra avec une commande factice

Dans cette étape, vous exécuterez une commande de test sûre avec Hydra pour vérifier ses fonctionnalités de base sans attaquer de systèmes réels. Il s'agit d'une première étape importante pour comprendre comment fonctionne Hydra avant de l'utiliser dans des scénarios réels.

  1. Tout d'abord, créez une liste de mots de passe de test. Ce fichier contiendra des exemples de mots de passe qu'Hydra essaiera pendant le test :
echo -e "password\n123456\nqwerty" > ~/project/test_passwords.txt
  1. Créez une liste de noms d'utilisateur de test. De même, ce fichier contient des exemples de noms d'utilisateur qu'Hydra tentera d'utiliser :
echo -e "admin\ntest\nroot" > ~/project/test_usernames.txt
  1. Maintenant, nous allons exécuter Hydra en mode test contre localhost (votre propre machine). Ceci est totalement sûr car nous nous ciblons nous-mêmes et utilisons des informations d'identification de test qui ne fonctionneront pas réellement :
hydra -L ~/project/test_usernames.txt -P ~/project/test_passwords.txt 127.0.0.1 ssh -t 1 -vV
  1. Vous devriez voir une sortie montrant la tentative de test. Cette sortie montre comment Hydra travaille à travers les combinaisons de mots de passe, bien qu'il ne réussisse pas réellement à se connecter :
[DATA] attacking ssh://127.0.0.1:22/
[VERBOSE] Resolving addresses ... [VERBOSE] resolving done
[INFO] Testing if password authentication is supported by ssh://127.0.0.1:22
[22][ssh] host: 127.0.0.1   login: admin   password: password
[22][ssh] host: 127.0.0.1   login: admin   password: 123456
[22][ssh] host: 127.0.0.1   login: admin   password: qwerty
...
[STATUS] attack finished for 127.0.0.1 (waiting for children to complete tests)
  1. La commande utilise ces paramètres sûrs qu'il est important de comprendre :
  • -L : Spécifie le chemin d'accès au fichier de liste de noms d'utilisateur que nous avons créé
  • -P : Spécifie le chemin d'accès au fichier de liste de mots de passe que nous avons créé
  • -t 1 : Limite Hydra à 1 connexion parallèle (rend le test plus lent mais plus sûr)
  • -vV : Active la sortie détaillée ( verbose output ) afin que nous puissions voir ce que fait Hydra
  • ssh : Spécifie que nous testons le protocole SSH (bien que ce test ne réussisse pas)

Ce test démontre le fonctionnement de base d'Hydra sans aucun risque, montrant comment il essaie systématiquement différentes combinaisons nom d'utilisateur/mot de passe. La sortie montre les tentatives en cours, bien qu'aucune ne réussisse contre votre machine locale.

Résumé

Dans ce labo, vous avez appris à installer et à vérifier l'outil de craquage de mot de passe Hydra sur un système de VM LabEx. Le processus impliquait la mise à jour des paquets, l'installation d'Hydra via apt, et la confirmation de son chemin d'installation dans /usr/bin/hydra. Vous avez également vérifié l'installation en vérifiant la version d'Hydra à l'aide des commandes hydra -v et hydra -V.

De plus, vous avez exploré les fonctionnalités de base d'Hydra en localisant son chemin d'exécution avec which hydra et en testant des commandes comme hydra -h. Ces étapes ont permis de s'assurer qu'Hydra était correctement installé et prêt à être utilisé dans des scénarios de tests de sécurité pratiques.