Introduction
Dans ce laboratoire, vous apprendrez à utiliser le mode verbeux de Hydra pour mieux comprendre le processus de cassage de mot 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 fictive (127.0.0.1) sans sortie verbeuse, en utilisant les listes de noms d'utilisateur et de mots de passe créées dans votre répertoire ~/project (users.txt et passwords.txt). Ensuite, vous réexécuteriez 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 verbosité de Hydra pour un meilleur suivi et le dépannage.
Exécuter une attaque FTP sans Verbosité
Dans cette étape, vous effectuerez une attaque de connexion FTP de base à l'aide de Hydra sans sortie verbeuse. Cela signifie que Hydra tentera de casser le mot de passe FTP, mais qu'il n'affichera pas d'informations détaillées sur chaque tentative de connexion à l'écran. Ceci est utile lorsque vous souhaitez exécuter l'attaque en arrière-plan ou éviter d'encombrer votre terminal.
Avant de commencer, comprenons la syntaxe de base de 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 de noms d'utilisateur, 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, accédez à votre répertoire ~/project, qui est votre répertoire de travail par défaut dans cet environnement de laboratoire :
cd ~/project
Ensuite, vous allez créer une liste simple de noms d'utilisateur et une liste de mots de passe pour votre attaque.
Créer une liste de noms d'utilisateur :
Créez un fichier nommé
users.txtdans votre répertoire~/project. Ce fichier contiendra une liste de noms d'utilisateur, un nom d'utilisateur par ligne. Utilisez l'éditeur de textenanopour créer et modifier le fichier :nano users.txtAjoutez les noms d'utilisateur suivants au fichier :
user1 user2 user3Pour enregistrer le fichier dans nano :
- Appuyez sur
Ctrl + Xpour quitter. - Appuyez sur
Ypour confirmer l'enregistrement. - Appuyez sur
Entréepour confirmer le nom de fichier.
- Appuyez sur
Créer une liste de mots de passe :
De même, créez un fichier nommé
passwords.txtdans votre répertoire~/project. Ce fichier contiendra une liste de mots de passe, un mot de passe par ligne. Utiliseznanopour créer et modifier le fichier :nano passwords.txtAjoutez les mots de passe suivants au fichier :
password123 password 123456Enregistrez le fichier et quittez
nano(Ctrl+X, Y, Entrée).Exécuter l'attaque FTP sans sortie verbeuse :
Maintenant, vous allez exécuter l'attaque Hydra contre un serveur FTP cible. À des fins de démonstration, vous utiliserez une cible fictive
127.0.0.1. Important : N'essayez pas d'attaquer des systèmes sans autorisation explicite.Exécutez la commande suivante dans votre terminal :
hydra -L users.txt -P passwords.txt ftp://127.0.0.1Décomposons cette commande :
-L users.txt: Spécifie le fichier de liste de noms d'utilisateur. Puisque vous êtes dans le répertoire~/project, vous pouvez utiliser le chemin relatifusers.txt.-P passwords.txt: Spécifie le fichier de liste de mots de passe. De même, vous pouvez utiliser le chemin relatifpasswords.txt.ftp://127.0.0.1: Spécifie le service FTP et l'adresse du serveur cible.
Remarque : Comme il n'y a pas de serveur FTP 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 de nom 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é trouvé.La sortie ressemblera à ceci :
Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Veuillez ne pas utiliser dans les organisations militaires ou de services secrets, ou à des fins illégales (ceci n'est pas contraignant, ces *** ignorent les lois et l'éthique de toute façon). Hydra (https://github.com/vanhauser-thc/thc-hydra) démarré le 2025-05-30 09:45:40 [DATA] max 9 tâches par 1 serveur, au total 9 tâches, 9 tentatives de connexion (l:3/p:3), ~1 tentative par tâche [DATA] attaque ftp://127.0.0.1:21/ 1 sur 1 cible terminée, 0 mot de passe valide trouvé Hydra (https://github.com/vanhauser-thc/thc-hydra) terminé le 2025-05-30 09:45:52Comme vous pouvez le constater, sans mode verbeux, Hydra fournit une sortie minimale : uniquement les informations de base sur la configuration de l'attaque, la cible attaquée et le résultat final. Aucune tentative de connexion individuelle n'est affichée.
Réexécuter avec -v pour plus de détails
Dans cette étape, vous allez réexécuter l'attaque FTP de l'étape précédente, mais cette fois, vous utiliserez 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 le dépannage ou la compréhension de la progression de l'attaque.
L'option -v dans Hydra signifie "verbose". Lorsqu'elle est utilisée, elle augmente la quantité d'informations affichées à l'écran pendant l'attaque. Cela inclut les détails de chaque tentative de connexion, le nom d'utilisateur et le mot de passe essayés, et toute erreur qui se produit.
Vous continuerez à utiliser les mêmes listes de noms d'utilisateur et de mots de passe (users.txt et passwords.txt) que vous avez créées à l'étape précédente. Assurez-vous d'être toujours dans le répertoire ~/project.
Réexécuter l'attaque FTP avec sortie verbeuse :
Exécutez la commande suivante dans votre terminal :
hydra -L users.txt -P passwords.txt -v ftp://127.0.0.1Décomposons cette commande :
-L users.txt: Spécifie le fichier de liste de noms d'utilisateur.-P passwords.txt: Spécifie le fichier de liste de mots de passe.-v: Active la sortie verbeuse. C'est la nouvelle option que vous ajoutez.ftp://127.0.0.1: Spécifie le service FTP et l'adresse du serveur cible.
Remarque : Comme à l'étape précédente, étant donné qu'il n'y a pas de serveur FTP 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 essayés, et toute erreur qui se produit. La sortie ressemblera à ceci :
Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Veuillez ne pas utiliser dans les organisations militaires ou de services secrets, ou à des fins illégales (ceci n'est pas contraignant, ces *** ignorent les lois et l'éthique de toute façon). Hydra (https://github.com/vanhauser-thc/thc-hydra) démarré le 2025-05-30 09:45:54 [DATA] max 9 tâches par 1 serveur, au total 9 tâches, 9 tentatives de connexion (l:3/p:3), ~1 tentative par tâche [DATA] attaque ftp://127.0.0.1:21/ [VERBOSE] Résolution des adresses... [VERBOSE] résolution terminée Processus 1216 : Impossible de se connecter [inaccessible], réessayant (1 sur 1 tentative) Processus 1218 : Impossible de se connecter [inaccessible], réessayant (1 sur 1 tentative) Processus 1217 : Impossible de se connecter [inaccessible], réessayant (1 sur 1 tentative) ... [ERREUR] Processus avec pid 1220 qui termine, impossible de se connecter [ERREUR] Processus avec pid 1224 qui termine, impossible de se connecter [ERREUR] Processus avec pid 1219 qui termine, impossible de se connecter ... [VERBOSE] Processus enfant 7 désactivé en raison de trop d'erreurs [VERBOSE] Processus enfant 8 désactivé en raison de trop d'erreurs ... 1 sur 1 cible terminée, 0 mot de passe valide trouvé Hydra (https://github.com/vanhauser-thc/thc-hydra) terminé le 2025-05-30 09:46:07Vous pouvez constater que le mode verbeux fournit des informations beaucoup plus détaillées sur le processus de connexion, notamment :
- Détails de la résolution DNS
- Tentatives et relances de connexion individuelles par processus
- Messages d'erreur spécifiques pour chaque connexion échouée
- Informations sur les processus enfants désactivés en raison d'erreurs
Ce niveau de détail est particulièrement utile pour le dépannage des problèmes de connexion et la compréhension des raisons pour lesquelles une attaque peut échouer.
Exécuter avec -V pour afficher les tentatives
Dans cette étape, vous allez réexécuter l'attaque FTP, mais cette fois en utilisant l'option -V. L'option -V fournit un niveau de verbosité différent de -v. Elle se concentre sur l'affichage de chaque tentative de connexion dans un format concis, facilitant le suivi de la progression de l'attaque.
L'option -V dans Hydra est similaire à -v, mais elle produit 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 essayés. Cela peut être utile lorsque vous souhaitez surveiller la progression de l'attaque sans être submergé par trop d'informations.
Vous continuerez à utiliser les mêmes listes de noms d'utilisateur et de mots de passe (users.txt et passwords.txt) des étapes précédentes. Assurez-vous d'être toujours dans le répertoire ~/project.
Réexécuter l'attaque FTP avec la sortie
-V:Exécutez la commande suivante dans votre terminal :
hydra -L users.txt -P passwords.txt -V ftp://127.0.0.1Décomposons cette commande :
-L users.txt: Spécifie le fichier de liste de noms d'utilisateur.-P passwords.txt: Spécifie le fichier de liste de mots de passe.-V: Active la sortie centrée sur les tentatives. C'est la nouvelle option ajoutée.ftp://127.0.0.1: Spécifie le service FTP et l'adresse du serveur cible.
Remarque : Comme précédemment, étant donné qu'il n'y a pas de serveur FTP 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 qu'avec l'option
-v. Vous verrez chaque tentative de connexion affichée dans un format simple, indiquant le nom d'utilisateur et le mot de passe essayés. La sortie ressemblera à ceci :Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Veuillez ne pas utiliser dans les organisations militaires ou de services secrets, ou à des fins illégales (ceci n'est pas contraignant, ces *** ignorent les lois et l'éthique de toute façon). Hydra (https://github.com/vanhauser-thc/thc-hydra) démarré le 2025-05-30 09:46:09 [DATA] max 9 tâches par 1 serveur, au total 9 tâches, 9 tentatives de connexion (l:3/p:3), ~1 tentative par tâche [DATA] attaque ftp://127.0.0.1:21/ [TENTATIVE] cible 127.0.0.1 - connexion "user1" - mot de passe "password123" - 1 sur 9 [processus enfant 0] (0/0) [TENTATIVE] cible 127.0.0.1 - connexion "user1" - mot de passe "password" - 2 sur 9 [processus enfant 1] (0/0) [TENTATIVE] cible 127.0.0.1 - connexion "user1" - mot de passe "123456" - 3 sur 9 [processus enfant 2] (0/0) ... 1 sur 1 cible terminée, 0 mot de passe valide trouvé Hydra (https://github.com/vanhauser-thc/thc-hydra) terminé le 2025-05-30 09:46:21Cette sortie affiche chaque tentative de connexion dans un format clair et structuré, incluant :
- L'adresse IP cible
- Le nom d'utilisateur et le mot de passe essayés (entre guillemets)
- Le numéro de la tentative et le nombre total de tentatives
- L'ID du processus enfant gérant la tentative
- Les tentatives de reconnexion en cas d'échec de connexion (affichées comme REDO-ATTEMPT)
Ce format offre une excellente visibilité sur la progression de l'attaque sans les informations de débogage de connexion verbeuses.
Comparer les niveaux de détails
Dans cette étape, vous allez comparer les différents niveaux de verbosité utilisés dans les étapes précédentes : absence de sortie verbeuse, -v (verbose), et -V (affichage des tentatives). Comprendre les différences entre ces niveaux vous permet de choisir le niveau de détail le plus approprié à vos besoins spécifiques lors de l'utilisation d'Hydra.
Résumons les caractéristiques de chaque niveau de verbosité :
Absence de sortie verbeuse : Il s'agit du comportement par défaut. Hydra affichera uniquement des informations de base sur l'attaque, les détails de la configuration et les résultats finaux. Il fournit le moins d'informations et convient aux attaques exécutées en arrière-plan ou lorsque vous vous intéressez uniquement aux connexions réussies et aux résultats globaux.
-v(verbose) : Cette option fournit des informations techniques détaillées sur le processus de connexion, incluant la résolution DNS, les tentatives de connexion individuelles par processus, les mécanismes de reconnexion et les messages d'erreur détaillés. Elle est particulièrement utile pour le dépannage des problèmes de connexion et la compréhension des raisons pour lesquelles une attaque pourrait échouer au niveau réseau.-V(affichage des tentatives) : Cette option affiche chaque tentative de connexion dans un format structuré, indiquant les combinaisons spécifiques de nom d'utilisateur et de mot de passe essayées, les compteurs de tentatives et les informations sur les processus enfants. Elle offre une excellente visibilité sur la progression de l'attaque sans les détails techniques sur les connexions réseau.
Pour illustrer plus clairement les différences, considérons ce que vous voyez lorsque Hydra tente d'attaquer un serveur FTP :
Absence de sortie verbeuse : Vous ne voyez que la configuration de base et les résultats finaux :
[DATA] max 9 tasks per 1 server, overall 9 tasks, 9 login tries (l:3/p:3), ~1 try per task [DATA] attacking ftp://127.0.0.1:21/ 1 of 1 target completed, 0 valid password found-v(verbose) : Vous voyez des informations détaillées sur la connexion et la gestion des erreurs :[VERBOSE] Resolving addresses ... [VERBOSE] resolving done Process 1216: Can not connect [unreachable], retrying (1 of 1 retries) [ERROR] Child with pid 1220 terminating, can not connect [VERBOSE] Disabled child 7 because of too many errors-V(affichage des tentatives) : Vous voyez chaque tentative de connexion spécifique avec les identifiants :[ATTEMPT] target 127.0.0.1 - login "user1" - pass "password123" - 1 of 9 [child 0] (0/0) [ATTEMPT] target 127.0.0.1 - login "user2" - pass "password" - 5 of 9 [child 4] (0/0) [REDO-ATTEMPT] target 127.0.0.1 - login "user1" - pass "password123" - 10 of 18 [child 0] (1/9)
Choisir le bon niveau de verbosité :
Le choix du niveau de verbosité dépend de vos besoins et préférences spécifiques.
- Si vous souhaitez exécuter l'attaque en arrière-plan et vous intéresser uniquement aux connexions réussies et aux résultats de base, utilisez l'absence de sortie verbeuse.
- Si vous avez besoin d'informations techniques détaillées pour le dépannage des problèmes de connexion, des problèmes réseau ou pour comprendre pourquoi une attaque échoue au niveau du protocole, utilisez l'option
-v. - Si vous souhaitez surveiller les combinaisons spécifiques de nom d'utilisateur et de mot de passe essayées et suivre la progression de l'attaque à travers vos listes de mots de passe, utilisez l'option
-V.
En résumé, en expérimentant avec différents niveaux de verbosité, vous pouvez mieux comprendre le fonctionnement d'Hydra et choisir le niveau de détail le plus approprié à vos besoins spécifiques. L'option -V est particulièrement utile pour surveiller la progression de l'attaque, tandis que -v est plus adapté au débogage des problèmes de connexion.
Résumé
Dans ce laboratoire, vous avez exploré les modes de verbosité d'Hydra en effectuant une attaque de connexion FTP. Vous avez commencé par lancer une attaque de base contre un serveur FTP fictif (127.0.0.1) sans sortie verbeuse, en utilisant les listes de noms d'utilisateur 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 vous a ensuite guidé à travers l'utilisation des options -v et -V pour augmenter la verbosité de la sortie d'Hydra, vous 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é, vous avez mieux compris comment utiliser les options de verbosité d'Hydra pour surveiller et dépanner les attaques.


