Utiliser le mode verbeux d'Hydra

HydraHydraBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à utiliser le mode verbeux (verbose mode) d'Hydra pour mieux comprendre le processus de craquage de mots de passe. Le laboratoire se concentre sur la démonstration des différents niveaux de verbosité lors d'une attaque FTP.

Tout d'abord, vous exécuterez une attaque de connexion FTP de base contre une cible factice (127.0.0.1) sans sortie verbeuse, en utilisant les listes d'utilisateurs et de mots de passe créées dans votre répertoire ~/project (users.txt et passwords.txt). Ensuite, vous réexécuterez l'attaque en utilisant l'option -v pour afficher plus de détails sur chaque tentative, et enfin, vous utiliserez l'option -V pour afficher chaque tentative en temps réel. En comparant les sorties de ces différents niveaux de verbosité, vous comprendrez comment utiliser efficacement les options de verbeux d'Hydra pour une meilleure surveillance et résolution de problèmes.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hydra(("Hydra")) -.-> hydra/HydraGroup(["Hydra"]) hydra/HydraGroup -.-> hydra/ftp_attack("FTP Brute Force") hydra/HydraGroup -.-> hydra/verbose_mode("Verbose Mode Usage") subgraph Lab Skills hydra/ftp_attack -.-> lab-550777{{"Utiliser le mode verbeux d'Hydra"}} hydra/verbose_mode -.-> lab-550777{{"Utiliser le mode verbeux d'Hydra"}} end

Exécuter une attaque FTP sans mode verbeux

Dans cette étape, nous allons utiliser Hydra pour effectuer une attaque de connexion FTP de base sans sortie verbeuse. Cela signifie qu'Hydra tentera de craquer le mot de passe FTP, mais il n'affichera pas d'informations détaillées sur chaque tentative de connexion à l'écran. Cela est utile lorsque vous souhaitez exécuter l'attaque en arrière-plan ou éviter de surcharger votre terminal.

Avant de commencer, comprenons la syntaxe de base d'Hydra :

hydra [options] [service://server[:port]] [OPT]
  • hydra : La commande pour exécuter l'outil Hydra.
  • [options] : Diverses options pour personnaliser l'attaque, telles que les listes d'utilisateurs, les listes de mots de passe et les paramètres de connexion.
  • [service://server[:port]] : Spécifie le service à attaquer (par exemple, ftp, ssh, http), l'adresse du serveur cible et éventuellement le numéro de port.
  • [OPT] : Options supplémentaires spécifiques au service attaqué.

Maintenant, créons une simple liste d'utilisateurs et une liste de mots de passe pour notre attaque.

  1. Créer une liste d'utilisateurs :

    Dans votre répertoire ~/project, créez un fichier nommé users.txt contenant une liste d'utilisateurs, un utilisateur par ligne. Par exemple :

    nano ~/project/users.txt

    Ajoutez les utilisateurs suivants :

    user1
    user2
    user3

    Enregistrez le fichier et quittez nano (Ctrl+X, Y, Entrée).

  2. Créer une liste de mots de passe :

    Dans votre répertoire ~/project, créez un fichier nommé passwords.txt contenant une liste de mots de passe, un mot de passe par ligne. Par exemple :

    nano ~/project/passwords.txt

    Ajoutez les mots de passe suivants :

    password123
    password
    123456

    Enregistrez le fichier et quittez nano (Ctrl+X, Y, Entrée).

  3. Exécuter l'attaque FTP sans sortie verbeuse :

    Maintenant, exécutons l'attaque Hydra contre un serveur FTP cible. À des fins de démonstration, nous utiliserons une cible factice 127.0.0.1. Important : N'essayez pas d'attaquer des systèmes sans autorisation explicite.

    Exécutez la commande suivante :

    hydra -L ~/project/users.txt -P ~/project/passwords.txt ftp://127.0.0.1
    • -L ~/project/users.txt : Spécifie le fichier de la liste d'utilisateurs.
    • -P ~/project/passwords.txt : Spécifie le fichier de la liste de mots de passe.
    • ftp://127.0.0.1 : Spécifie le service FTP et l'adresse du serveur cible.

    Remarque : Étant donné qu'aucun serveur FTP n'est en cours d'exécution sur 127.0.0.1, l'attaque échouera. Cependant, cette commande démontre la syntaxe de base pour exécuter une attaque FTP sans sortie verbeuse. Hydra tentera chaque combinaison d'utilisateur et de mot de passe, mais il n'affichera les résultats que si une connexion réussie est trouvée. Si aucune connexion réussie n'est trouvée, il affichera un message indiquant qu'aucun mot de passe n'a été craqué.

    La sortie ressemblera à ceci (bien que probablement avec des messages "Login failed" car il n'y a pas de serveur FTP réel) :

    Hydra v9.5 (c) 2023 by van Hauser/THC - Use freely but carefully.
    Hydra starting at 2023-10-27 10:00:00
    [DATA] 1 task, 3 login attempts per task, 3 password attempts per task
    [DATA] attacking ftp://127.0.0.1:21
    [STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
    [STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
    ...
    [ATTEMPT] target 127.0.0.1 - login: user3 password: 123456
    [STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
    [ERROR] 127.0.0.1: FTP: Login failed
    [ATTEMPT] target 127.0.0.1 - login: user1 password: password123
    [STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
    [ERROR] 127.0.0.1: FTP: Login failed
    ...
    [ATTEMPT] target 127.0.0.1 - login: user3 password: password123
    [STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
    [ERROR] 127.0.0.1: FTP: Login failed
    [ATTEMPT] target 127.0.0.1 - login: user2 password: password
    [STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
    [ERROR] 127.0.0.1: FTP: Login failed
    ...
    [STATUS] 0 of 9 tasks completed, 1 task remaining
    Hydra finished.

    Si une connexion réussie était trouvée, la sortie inclurait une ligne comme :

    [21][ftp] host: 127.0.0.1   login: user1   password: password123

    Étant donné que nous n'exécutons pas de serveur FTP réel, l'attaque échouera et Hydra indiquera qu'aucun mot de passe n'a été craqué. Cela est prévu.

Réexécuter avec l'option -v pour plus de détails

Dans cette étape, nous allons réexécuter l'attaque FTP de l'étape précédente, mais cette fois-ci, nous utiliserons l'option -v pour activer la sortie verbeuse. La sortie verbeuse fournit des informations plus détaillées sur chaque tentative de connexion, ce qui peut être utile pour la résolution de problèmes ou pour comprendre l'avancement de l'attaque.

L'option -v dans Hydra signifie "verbeux" (verbose). Lorsqu'elle est utilisée, elle augmente la quantité d'informations affichées à l'écran pendant l'attaque. Cela inclut des détails sur chaque tentative de connexion, le nom d'utilisateur et le mot de passe testés, ainsi que toute erreur qui se produit.

Utilisons les mêmes listes d'utilisateurs et de mots de passe (users.txt et passwords.txt) que nous avons créées à l'étape précédente.

  1. Réexécuter l'attaque FTP avec sortie verbeuse :

    Exécutez la commande suivante :

    hydra -L ~/project/users.txt -P ~/project/passwords.txt -v ftp://127.0.0.1
    • -L ~/project/users.txt : Spécifie le fichier de la liste d'utilisateurs.
    • -P ~/project/passwords.txt : Spécifie le fichier de la liste de mots de passe.
    • -v : Active la sortie verbeuse.
    • ftp://127.0.0.1 : Spécifie le service FTP et l'adresse du serveur cible.

    Remarque : Comme dans l'étape précédente, étant donné qu'aucun serveur FTP n'est en cours d'exécution sur 127.0.0.1, l'attaque échouera. Cependant, cette commande démontre l'utilisation de l'option -v.

    La sortie sera maintenant plus détaillée que dans l'étape précédente. Vous verrez des informations sur chaque tentative de connexion, y compris le nom d'utilisateur et le mot de passe testés, ainsi que toute erreur qui se produit. La sortie ressemblera à ceci :

    Hydra v9.5 (c) 2023 by van Hauser/THC - Use freely but carefully.
    Hydra starting at 2023-10-27 10:05:00
    [DATA] 1 task, 3 login attempts per task, 3 password attempts per task
    [DATA] attacking ftp://127.0.0.1:21
    [STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
    [STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
    [ATTEMPT] target 127.0.0.1 - login: user1 password: password123
    [STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
    [ERROR] 127.0.0.1: FTP: Login failed
    [ATTEMPT] target 127.0.0.1 - login: user1 password: password
    [STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
    [ERROR] 127.0.0.1: FTP: Login failed
    [ATTEMPT] target 127.0.0.1 - login: user1 password: 123456
    [STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
    [ERROR] 127.0.0.1: FTP: Login failed
    [ATTEMPT] target 127.0.0.1 - login: user2 password: password123
    [STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
    [ERROR] 127.0.0.1: FTP: Login failed
    [ATTEMPT] target 127.0.0.1 - login: user2 password: password
    [STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
    [ERROR] 127.0.0.1: FTP: Login failed
    [ATTEMPT] target 127.0.0.1 - login: user2 password: 123456
    [STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
    [ERROR] 127.0.0.1: FTP: Login failed
    [ATTEMPT] target 127.0.0.1 - login: user3 password: password123
    [STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
    [ERROR] 127.0.0.1: FTP: Login failed
    [ATTEMPT] target 127.0.0.1 - login: user3 password: password
    [STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
    [ERROR] 127.0.0.1: FTP: Login failed
    [ATTEMPT] target 127.0.0.1 - login: user3 password: 123456
    [STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
    [ERROR] 127.0.0.1: FTP: Login failed
    [STATUS] 0 of 9 tasks completed, 1 task remaining
    Hydra finished.

    Vous pouvez voir que chaque tentative est maintenant affichée, montrant le nom d'utilisateur et le mot de passe testés. Cela peut être utile pour surveiller l'avancement de l'attaque et identifier tout problème potentiel.

Exécuter avec l'option -V pour afficher les tentatives

Dans cette étape, nous allons réexécuter l'attaque FTP une nouvelle fois, mais cette fois en utilisant l'option -V. L'option -V offre un niveau de verbosité différent par rapport à -v. Elle se concentre sur l'affichage de chaque tentative de connexion dans un format concis, facilitant ainsi le suivi de l'avancement de l'attaque.

L'option -V dans Hydra est similaire à -v, mais fournit une sortie plus compacte. Au lieu d'afficher des informations détaillées sur la connexion pour chaque tentative, elle affiche simplement le nom d'utilisateur et le mot de passe testés. Cela peut être utile lorsque vous souhaitez surveiller l'avancement de l'attaque sans être submergé par trop d'informations.

Nous continuerons à utiliser les mêmes listes d'utilisateurs et de mots de passe (users.txt et passwords.txt) des étapes précédentes.

  1. Réexécuter l'attaque FTP avec la sortie -V :

    Exécutez la commande suivante :

    hydra -L ~/project/users.txt -P ~/project/passwords.txt -V ftp://127.0.0.1
    • -L ~/project/users.txt : Spécifie le fichier de la liste d'utilisateurs.
    • -P ~/project/passwords.txt : Spécifie le fichier de la liste de mots de passe.
    • -V : Active la sortie axée sur les tentatives.
    • ftp://127.0.0.1 : Spécifie le service FTP et l'adresse du serveur cible.

    Remarque : Comme précédemment, étant donné qu'aucun serveur FTP n'est en cours d'exécution sur 127.0.0.1, l'attaque échouera. Cependant, cette commande démontre l'utilisation de l'option -V.

    La sortie sera plus concise que celle de l'option -v. Vous verrez chaque tentative de connexion affichée dans un format simple, montrant le nom d'utilisateur et le mot de passe testés. La sortie ressemblera à ceci :

    Hydra v9.5 (c) 2023 by van Hauser/THC - Use freely but carefully.
    Hydra starting at 2023-10-27 10:10:00
    [DATA] 1 task, 3 login attempts per task, 3 password attempts per task
    [DATA] attacking ftp://127.0.0.1:21
    [ATTEMPT] target 127.0.0.1 - login: user1 password: password123
    [ATTEMPT] target 127.0.0.1 - login: user1 password: password
    [ATTEMPT] target 127.0.0.1 - login: user1 password: 123456
    [ATTEMPT] target 127.0.0.1 - login: user2 password: password123
    [ATTEMPT] target 127.0.0.1 - login: user2 password: password
    [ATTEMPT] target 127.0.0.1 - login: user2 password: 123456
    [ATTEMPT] target 127.0.0.1 - login: user3 password: password123
    [ATTEMPT] target 127.0.0.1 - login: user3 password: password
    [ATTEMPT] target 127.0.0.1 - login: user3 password: 123456
    [STATUS] 0 of 9 tasks completed, 1 task remaining
    Hydra finished.

    Cette sortie est moins détaillée que celle de l'option -v, mais elle fournit toujours un aperçu clair de l'avancement de l'attaque.

Comparer les niveaux de verbosité

Dans cette étape, nous allons comparer les différents niveaux de verbosité que nous avons utilisés dans les étapes précédentes : sans sortie verbeuse, -v (verbeux) et -V (afficher les tentatives). Comprendre les différences entre ces niveaux vous permet de choisir le niveau de détail le plus approprié pour vos besoins spécifiques lorsque vous utilisez Hydra.

Récapitulons les caractéristiques de chaque niveau de verbosité :

  • Sans sortie verbeuse : C'est le comportement par défaut. Hydra n'affichera que les tentatives de connexion réussies ou les messages d'erreur. Il fournit le moins d'informations et est adapté pour exécuter des attaques en arrière-plan ou lorsque vous ne vous intéressez qu'aux connexions réussies.

  • -v (Verbeux) : Cette option fournit des informations détaillées sur chaque tentative de connexion, y compris le nom d'utilisateur et le mot de passe testés, l'état de la connexion et toute erreur qui se produit. Elle est utile pour résoudre les problèmes de connexion, comprendre l'avancement de l'attaque et identifier les problèmes potentiels.

  • -V (Afficher les tentatives) : Cette option affiche chaque tentative de connexion dans un format concis, montrant seulement le nom d'utilisateur et le mot de passe testés. Elle offre un bon équilibre entre détail et clarté, vous permettant de surveiller l'avancement de l'attaque sans être submergé par trop d'informations.

Pour illustrer davantage les différences, considérons un scénario où Hydra tente de trouver le mot de passe de l'utilisateur user1 sur un serveur FTP.

  • Sans sortie verbeuse : Si la tentative de connexion échoue, Hydra pourrait afficher un message d'erreur générique comme [ERROR] 127.0.0.1: FTP: Login failed. Si la tentative de connexion réussit, il affichera les informations de connexion réussie.

  • -v (Verbeux) : Si la tentative de connexion échoue, Hydra pourrait afficher des informations détaillées comme :

    [ATTEMPT] target 127.0.0.1 - login: user1 password: password123
    [STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
    [ERROR] 127.0.0.1: FTP: Login failed

    Cette sortie montre le nom d'utilisateur et le mot de passe spécifiques testés, l'état de la connexion et le message d'erreur.

  • -V (Afficher les tentatives) : Si la tentative de connexion échoue, Hydra affichera :

    [ATTEMPT] target 127.0.0.1 - login: user1 password: password123

    Cette sortie montre simplement le nom d'utilisateur et le mot de passe testés, sans aucun détail supplémentaire sur la connexion.

Choisir le bon niveau de verbosité :

Le choix du niveau de verbosité dépend de vos besoins et de vos préférences spécifiques.

  • Si vous souhaitez exécuter l'attaque en arrière-plan et ne vous intéressez qu'aux connexions réussies, utilisez la sortie sans verbosité.
  • Si vous avez besoin d'informations détaillées pour résoudre des problèmes ou comprendre l'avancement de l'attaque, utilisez l'option -v.
  • Si vous souhaitez un aperçu concis de l'avancement de l'attaque, utilisez l'option -V.

En résumé, en expérimentant avec différents niveaux de verbosité, vous pouvez mieux comprendre le fonctionnement de Hydra et choisir le niveau de détail le plus approprié pour vos besoins spécifiques. Ceci conclut le laboratoire sur la comparaison des niveaux de verbosité dans Hydra.

Résumé

Dans ce laboratoire, nous avons exploré les modes verbeux d'Hydra en effectuant une attaque de connexion FTP. Nous avons commencé par exécuter une attaque de base contre un serveur FTP factice (127.0.0.1) sans sortie verbeuse, en utilisant des listes d'utilisateurs et de mots de passe créées dans le répertoire ~/project. Cela a démontré le comportement par défaut d'Hydra, où les informations détaillées sur les tentatives de connexion sont supprimées.

Le laboratoire nous a ensuite guidé dans l'utilisation des options -v et -V pour augmenter la verbosité de la sortie d'Hydra, nous permettant d'observer plus de détails sur chaque tentative de connexion. En comparant la sortie de l'attaque avec différents niveaux de verbosité, nous avons mieux compris comment utiliser les options de verbosité d'Hydra pour surveiller et résoudre les problèmes liés aux attaques.