Introduction
Dans ce laboratoire, vous apprendrez comment Hydra gère les attaques interrompues et comment les reprendre efficacement. Nous allons simuler une attaque Hydra interrompue contre le service SSH sur localhost en créant des listes simples de noms d'utilisateur et de mots de passe, en lançant une attaque, puis en l'interrompant manuellement à l'aide de Ctrl+C.
Ce laboratoire vous guidera ensuite dans la reprise de l'attaque avec l'option -R et l'observation de la manière dont Hydra gère les fichiers de restauration, suivi de l'utilisation de l'option -I conjointement avec -R pour ignorer les fichiers de restauration et garantir un nouveau départ. Vous apprendrez la différence entre les attaques terminées et les attaques interrompues en termes de création de fichiers de restauration.
Créer des fichiers de test et lancer l'attaque initiale
Dans cette étape, vous allez créer les fichiers de test nécessaires et lancer une attaque Hydra initiale pour comprendre le comportement de base. Cela vous aidera à comprendre comment Hydra fonctionne lorsque les attaques se terminent normalement par rapport aux cas où elles sont interrompues.
Tout d'abord, accédez à votre répertoire de projet :
cd ~/project
Maintenant, créons une liste de mots de passe simple. Utilisez nano pour créer un fichier nommé passwords.txt dans votre répertoire actuel :
nano passwords.txt
Ajoutez quelques mots de passe courants au fichier, un mot de passe par ligne. Par exemple :
password
123456
qwerty
Enregistrez le fichier en appuyant sur Ctrl+X, puis Y pour confirmer l'enregistrement, et Entrée pour confirmer le nom de fichier.
Ensuite, créons un fichier d'utilisateurs simple. Utilisez nano pour créer un fichier nommé users.txt dans le même répertoire :
nano users.txt
Ajoutez un seul nom d'utilisateur au fichier :
root
Enregistrez le fichier et quittez nano en suivant les mêmes étapes qu'auparavant.
Maintenant, lançons une attaque Hydra complète pour observer le comportement normal :
hydra -V -L users.txt -P passwords.txt localhost ssh
Décomposons cette commande :
-V: Active le mode verbeux pour afficher les tentatives d'attaque en détail.-L users.txt: Indique à Hydra d'utiliser le fichierusers.txtpour les noms d'utilisateurs.-P passwords.txt: Indique à Hydra d'utiliser le fichierpasswords.txtpour les mots de passe.localhost: Spécifie l'hôte cible commelocalhost.ssh: Spécifie le service à attaquer comme SSH.
Vous devriez voir une sortie similaire à 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:56:06
[ATTENTION] De nombreuses configurations SSH limitent le nombre de tâches parallèles, il est recommandé de réduire les tâches : utilisez -t 4
[DONNÉES] maximum 3 tâches par 1 serveur, 3 tâches au total, 3 tentatives de connexion (l :1/p :3), ~1 tentative par tâche
[DONNÉES] attaque ssh://localhost:22/
[TENTATIVE] cible 127.0.0.1 - connexion "root" - mot de passe "password" - 1 sur 3 [enfant 0] (0/0)
[TENTATIVE] cible 127.0.0.1 - connexion "root" - mot de passe "123456" - 2 sur 3 [enfant 0] (0/0)
[TENTATIVE] cible 127.0.0.1 - connexion "root" - mot de passe "qwerty" - 3 sur 3 [enfant 0] (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:56:09
Notez que lorsque l'attaque se termine normalement, Hydra ne crée pas de fichier de restauration. Les fichiers de restauration ne sont créés que lorsque les attaques sont interrompues.
Simuler une attaque interrompue
Dans cette étape, vous simulerez une attaque Hydra interrompue pour créer un fichier de restauration. Ceci est nécessaire car Hydra ne crée des fichiers de restauration que lorsque les attaques sont interrompues, et non lorsqu'elles se terminent normalement.
Pour créer une attaque plus longue que vous pouvez interrompre, élargissons votre liste de mots de passe. Ouvrez à nouveau le fichier passwords.txt :
nano passwords.txt
Ajoutez plus de mots de passe pour que l'attaque prenne plus de temps :
password
123456
qwerty
admin
root
test
guest
user
login
pass
secret
Enregistrez le fichier et quittez nano.
Maintenant, lancez l'attaque Hydra avec un temps d'exécution plus lent pour la rendre plus facile à interrompre :
hydra -V -L users.txt -P passwords.txt -t 1 -W 2 localhost ssh
Les options supplémentaires sont :
-V: Active le mode verbeux pour afficher les tentatives d'attaque en détail.-t 1: N'utiliser qu'une seule tâche (exécution plus lente).-W 2: Attendre 2 secondes entre les tentatives de connexion.
IMPORTANT : Pendant que l'attaque est en cours (vous devriez voir Hydra essayer différentes combinaisons de nom d'utilisateur/mot de passe), appuyez sur
Ctrl+Cpour l'interrompre après quelques tentatives.
Vous devriez voir une sortie similaire à 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 10:00:00
[ATTENTION] De nombreuses configurations SSH limitent le nombre de tâches parallèles, il est recommandé de réduire les tâches : utilisez -t 4
[DONNÉES] maximum 1 tâche par 1 serveur, 1 tâche au total, 11 tentatives de connexion (l :1/p :11), ~11 tentatives par tâche
[DONNÉES] attaque ssh://localhost:22/
[TENTATIVE] cible 127.0.0.1 - connexion "root" - mot de passe "password" - 1 sur 11 [enfant 0] (0/0)
[TENTATIVE] cible 127.0.0.1 - connexion "root" - mot de passe "123456" - 2 sur 11 [enfant 0] (0/0)
^C
[ERREUR] Signal 2 reçu, arrêt en cours...
Le fichier de session ./hydra.restore a été écrit, vous pouvez reprendre avec : hydra -R
Le ^C indique que vous avez interrompu le processus, et il est important de voir un message indiquant que le fichier de restauration a été écrit.
Redémarrer avec l'option -R et observer le comportement
Dans cette étape, vous relancerez l'attaque Hydra interrompue de l'étape précédente à l'aide de l'option -R. Cette option indique à Hydra de reprendre l'attaque à partir du point où elle s'est arrêtée en utilisant le fichier de restauration.
Pour relancer l'attaque, exécutez la commande suivante dans votre terminal :
hydra -R
Cette commande utilise uniquement l'option -R :
-R: Indique à Hydra de reprendre une session précédemment interrompue ou écrasée en utilisant le fichier de restauration.
Observez la sortie. Vous devriez voir que Hydra lit le fichier de restauration et continue à partir du point où il s'est arrêté :
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).
[INFORMATION] lecture du fichier de restauration ./hydra.restore
Hydra (https://github.com/vanhauser-thc/thc-hydra) démarré le 2025-05-30 10:05:00
[DONNÉES] maximum 1 tâche par 1 serveur, 1 tâche au total, 9 tentatives de connexion (l :1/p :9), ~9 tentatives par tâche
[DONNÉES] attaque ssh://localhost:22/
[TENTATIVE] cible 127.0.0.1 - connexion "root" - mot de passe "qwerty" - 3 sur 11 [enfant 0] (0/0)
[TENTATIVE] cible 127.0.0.1 - connexion "root" - mot de passe "admin" - 4 sur 11 [enfant 0] (0/0)
...
Remarquez que Hydra reprend à partir du point où il a été interrompu (dans cet exemple, en commençant par "qwerty" comme 3e tentative) plutôt que de recommencer depuis le début.
Utiliser l'option -I pour ignorer les fichiers de restauration
Dans cette étape, vous utiliserez l'option -I pour ignorer les fichiers de restauration existants et lancer une nouvelle attaque. Ceci est utile lorsque vous souhaitez redémarrer une attaque depuis le début, indépendamment des données de session précédentes.
Tout d'abord, essayons d'utiliser -R lorsqu'aucun fichier de restauration n'existe pour voir l'erreur :
rm -f hydra.restore
hydra -V -R -L users.txt -P passwords.txt localhost ssh
Vous devriez voir un message d'erreur :
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).
[INFORMATION] lecture du fichier de restauration ./hydra.restore
[ERREUR] fichier de restauration (./hydra.restore) introuvable - Aucun fichier ou répertoire de ce type
Maintenant, créons à nouveau un fichier de restauration en interrompant une attaque :
hydra -V -L users.txt -P passwords.txt -t 1 -W 2 localhost ssh
Interrompez-la avec Ctrl+C après quelques tentatives pour créer le fichier de restauration.
Maintenant, exécutez la commande suivante pour ignorer le fichier de restauration :
hydra -V -I -L users.txt -P passwords.txt localhost ssh
Cette commande inclut l'option -I :
-I: Indique à Hydra d'ignorer un fichier de restauration existant et de ne pas en créer un nouveau.
Observez la sortie. Vous devriez voir que Hydra démarre depuis le début, ignorant tout fichier de restauration existant :
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 10:10:00
[ATTENTION] De nombreuses configurations SSH limitent le nombre de tâches parallèles, il est recommandé de réduire les tâches : utilisez -t 4
[DONNÉES] maximum 3 tâches par 1 serveur, 3 tâches au total, 11 tentatives de connexion (l :1/p :11), ~4 tentatives par tâche
[DONNÉES] attaque ssh://localhost:22/
[TENTATIVE] cible 127.0.0.1 - connexion "root" - mot de passe "password" - 1 sur 11 [enfant 0] (0/0)
[TENTATIVE] cible 127.0.0.1 - connexion "root" - mot de passe "123456" - 2 sur 11 [enfant 0] (0/0)
...
Remarquez que l'attaque démarre à partir du premier mot de passe ("password") indépendamment du fichier de restauration existant.
Combiner les options -I et -R
Dans cette étape, vous comprendrez ce qui se passe lorsque vous combinez les options -I et -R. Cette combinaison illustre comment Hydra gère les instructions contradictoires.
Exécutez la commande suivante :
hydra -V -I -R -L users.txt -P passwords.txt localhost ssh
Cette commande inclut les deux options :
-V: Active le mode verbeux pour afficher les tentatives d'attaque en détail-I: Ignorer les fichiers de restauration existants-R: Reprendre à partir du fichier de restauration
Vous devriez voir un message d'erreur similaire à celui-ci :
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).
[INFORMATION] lecture du fichier de restauration ./hydra.restore
[ERREUR] fichier de restauration (./hydra.restore) introuvable - Aucun fichier ou répertoire de ce type
Ceci se produit parce que :
- L'option
-Rindique à Hydra de rechercher un fichier de restauration. - L'option
-Iindique à Hydra d'ignorer les fichiers de restauration. - Lorsqu'elles sont utilisées ensemble, Hydra essaie toujours de lire le fichier de restauration en raison de
-R, mais si le fichier n'existe pas ou est ignoré en raison de-I, cela entraîne une erreur.
Cela démontre que les options -I et -R sont contradictoires et ne doivent pas être utilisées ensemble. Au lieu de cela :
- Utilisez
-Rseul pour reprendre à partir d'un fichier de restauration. - Utilisez
-Iseul pour ignorer les fichiers de restauration et démarrer une nouvelle attaque. - N'utilisez aucune des deux options pour exécuter une attaque normale.
Résumé
Dans ce laboratoire, vous avez appris comment Hydra gère les attaques interrompues et les fichiers de restauration. Les points clés incluent :
- Les fichiers de restauration ne sont créés que lorsque les attaques sont interrompues - Les attaques normales terminées ne génèrent pas de fichiers de restauration.
- L'option
-Rreprend les attaques interrompues - Elle lit le fichierhydra.restorepour continuer à partir du point où l'attaque a été arrêtée. - L'option
-Iignore les fichiers de restauration - Elle force Hydra à lancer une nouvelle attaque, ignorant toutes les données de session existantes. - Combiner
-Iet-Rcrée des conflits - Ces options ont des objectifs opposés et ne doivent pas être utilisées ensemble. - Une interruption correcte est essentielle - Pour tester la fonctionnalité de restauration, vous devez réellement interrompre une attaque avec
Ctrl+C, et non la laisser se terminer normalement.
Cette compréhension est cruciale pour gérer les attaques Hydra de longue durée dans des scénarios réels, où vous pourriez avoir besoin d'interrompre et de reprendre des attaques ou d'assurer des démarrages propres lorsque nécessaire.


