Ignorer les fichiers de restauration 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 (lab), nous allons explorer comment Hydra gère les attaques interrompues et comment les reprendre efficacement. Nous allons simuler une attaque Hydra interrompue contre le service SSH sur le localhost en créant de simples listes de noms d'utilisateur et de mots de passe, en lançant une attaque, puis en l'interrompant manuellement en utilisant Ctrl+C.

Le laboratoire vous guide ensuite dans le redémarrage de l'attaque avec l'option -R et l'observation du délai, puis en utilisant l'option -I en conjonction avec -R pour sauter le délai et garantir un nouveau départ. Enfin, vous confirmez que l'attaque redémarre comme prévu, en ignorant tout fichier de restauration précédent.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hydra(("Hydra")) -.-> hydra/HydraGroup(["Hydra"]) hydra/HydraGroup -.-> hydra/single_username("Single Username Attack") hydra/HydraGroup -.-> hydra/single_password("Single Password Attack") hydra/HydraGroup -.-> hydra/ssh_attack("SSH Brute Force") hydra/HydraGroup -.-> hydra/multiple_targets("Multiple Targets Attack") hydra/HydraGroup -.-> hydra/session_management("Session Save and Restore") subgraph Lab Skills hydra/single_username -.-> lab-550770{{"Ignorer les fichiers de restauration Hydra"}} hydra/single_password -.-> lab-550770{{"Ignorer les fichiers de restauration Hydra"}} hydra/ssh_attack -.-> lab-550770{{"Ignorer les fichiers de restauration Hydra"}} hydra/multiple_targets -.-> lab-550770{{"Ignorer les fichiers de restauration Hydra"}} hydra/session_management -.-> lab-550770{{"Ignorer les fichiers de restauration Hydra"}} end

Simuler une attaque interrompue

Dans cette étape, nous allons simuler une attaque Hydra interrompue. Cela nous aidera à comprendre comment Hydra gère les interruptions et comment nous pouvons reprendre les attaques plus tard. Nous allons commencer par lancer une attaque Hydra de base, puis l'interrompre manuellement.

Tout d'abord, créons une simple liste de mots de passe. Ouvrez un terminal dans le répertoire ~/project et utilisez nano pour créer un fichier nommé passwords.txt :

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 et quittez nano (Ctrl+X, puis Y, puis Entrée).

Maintenant, créons un simple fichier de noms d'utilisateur. Utilisez nano pour créer un fichier nommé users.txt :

nano users.txt

Ajoutez un seul nom d'utilisateur au fichier :

root

Enregistrez le fichier et quittez nano.

Ensuite, nous allons lancer une attaque Hydra contre le service SSH sur localhost. Nous allons utiliser une commande simple qui aura probablement rapidement réussi, mais nous l'interromprons manuellement pour simuler une attaque plus longue.

Exécutez la commande suivante :

hydra -L users.txt -P passwords.txt localhost ssh

Cette commande indique à Hydra de :

  • -L users.txt : Utiliser le fichier users.txt pour les noms d'utilisateur.
  • -P passwords.txt : Utiliser le fichier passwords.txt pour les mots de passe.
  • localhost : Cibler le localhost.
  • ssh : Attaquer le service SSH.

Pendant que l'attaque est en cours (vous devriez voir Hydra tester différentes combinaisons de noms d'utilisateur/mots de passe), appuyez sur Ctrl+C pour l'interrompre.

Vous devriez voir une sortie similaire à celle-ci (la sortie exacte peut varier) :

Hydra v9.6 starting, press Enter to test creds or Ctrl+C to exit
[DATA] 1 task, 1 server, 1 userfile, 1 passfile, max 1 task(s) per 1 server, overall 1 task(s)
[DATA] attacking ssh://localhost:22/
[ATTEMPT] target: localhost  login: root  password: password
[ATTEMPT] target: localhost  login: root  password: 123456
[ATTEMPT] target: localhost  login: root  password: qwerty
^C
3 of 3 target(s) completed, 0 valid password(s) found

Le ^C indique que vous avez interrompu le processus. Cela simule un scénario où l'attaque a été arrêtée prématurément. Nous utiliserons cet état interrompu dans les étapes suivantes pour explorer les capacités de reprise d'Hydra.

Redémarrer avec -R et noter le délai

Dans cette étape, nous allons redémarrer l'attaque Hydra interrompue à l'étape précédente en utilisant l'option -R. Cette option indique à Hydra de reprendre l'attaque là où elle s'est arrêtée. Nous allons également observer le délai que Hydra introduit lors de la reprise d'une attaque.

Pour redémarrer l'attaque, exécutez la commande suivante :

hydra -R -L users.txt -P passwords.txt localhost ssh

Cette commande est similaire à la précédente, mais avec l'ajout de l'option -R.

  • -R : Reprendre une session précédemment interrompue/plantée.
  • -L users.txt : Utiliser le fichier users.txt pour les noms d'utilisateur.
  • -P passwords.txt : Utiliser le fichier passwords.txt pour les mots de passe.
  • localhost : Cibler le localhost.
  • ssh : Attaquer le service SSH.

Observez la sortie. Vous devriez remarquer un délai avant que Hydra recommence à tester les mots de passe. Ce délai est intentionnel et est conçu pour éviter la détection par les systèmes de détection d'intrusion (IDS - Intrusion Detection System). Hydra stocke la progression de l'attaque dans un fichier temporaire, et lorsque vous utilisez l'option -R, il lit ce fichier pour déterminer où reprendre l'attaque.

La sortie ressemblera à ceci :

Hydra v9.6 starting, press Enter to test creds or Ctrl+C to exit
Resuming previous session
[DATA] 1 task, 1 server, 1 userfile, 1 passfile, max 1 task(s) per 1 server, overall 1 task(s)
[DATA] attacking ssh://localhost:22/
[ATTEMPT] target: localhost  login: root  password: qwerty
3 of 3 target(s) completed, 0 valid password(s) found

Remarque : Le délai peut être très court dans cet exemple car nous n'avions que quelques mots de passe dans notre liste. Cependant, avec des listes de mots de passe plus importantes, le délai sera plus perceptible. De plus, comme nous avons interrompu l'attaque après qu'elle ait déjà testé 'password', '123456' et 'qwerty', elle peut se terminer très rapidement.

Utiliser -I avec -R pour sauter le délai

Dans cette étape, nous allons utiliser l'option -I en conjonction avec l'option -R pour sauter le délai que Hydra introduit lors de la reprise d'une attaque. L'option -I indique à Hydra d'ignorer les fichiers de session existants et de démarrer une nouvelle session, contournant ainsi efficacement le délai.

Exécutez la commande suivante :

hydra -I -R -L users.txt -P passwords.txt localhost ssh

Cette commande inclut à la fois les options -I et -R :

  • -I : Ignorer un fichier de session existant / ne pas en créer un nouveau.
  • -R : Reprendre une session précédemment interrompue/plantée.
  • -L users.txt : Utiliser le fichier users.txt pour les noms d'utilisateur.
  • -P passwords.txt : Utiliser le fichier passwords.txt pour les mots de passe.
  • localhost : Cibler le localhost.
  • ssh : Attaquer le service SSH.

Observez la sortie. Vous devriez remarquer que Hydra commence immédiatement à tester les mots de passe, sans le délai qui était présent lorsque vous utilisiez seulement l'option -R.

La sortie ressemblera à ceci :

Hydra v9.6 starting, press Enter to test creds or Ctrl+C to exit
[DATA] 1 task, 1 server, 1 userfile, 1 passfile, max 1 task(s) per 1 server, overall 1 task(s)
[DATA] attacking ssh://localhost:22/
[ATTEMPT] target: localhost  login: root  password: password
[ATTEMPT] target: localhost  login: root  password: 123456
[ATTEMPT] target: localhost  login: root  password: qwerty
3 of 3 target(s) completed, 0 valid password(s) found

En utilisant -I avec -R, nous indiquons essentiellement à Hydra de reprendre l'attaque mais d'ignorer toute donnée de session existante. Cela peut être utile dans les situations où vous souhaitez redémarrer une attaque rapidement sans attendre le délai. Cependant, sachez que sauter le délai peut augmenter le risque de détection.

Confirmer un nouveau démarrage

Dans cette étape, nous allons confirmer que l'utilisation de l'option -I avec -R démarre effectivement une nouvelle attaque, en ignorant la progression de la session précédente. Pour ce faire, nous allons modifier la liste de mots de passe et observer que Hydra teste tous les mots de passe depuis le début.

Tout d'abord, modifions le fichier passwords.txt. Ouvrez-le avec nano :

nano passwords.txt

Ajoutez un nouveau mot de passe au début du fichier :

newpassword
password
123456
qwerty

Enregistrez le fichier et quittez nano.

Maintenant, exécutez à nouveau la commande Hydra avec -I et -R :

hydra -I -R -L users.txt -P passwords.txt localhost ssh

Observez la sortie. Vous devriez voir que Hydra commence par tester le mot de passe newpassword, qui était le premier mot de passe de la liste modifiée. Cela confirme que Hydra démarre une nouvelle attaque et ne reprend pas là où s'était arrêtée la session précédente.

La sortie ressemblera à ceci :

Hydra v9.6 starting, press Enter to test creds or Ctrl+C to exit
[DATA] 1 task, 1 server, 1 userfile, 1 passfile, max 1 task(s) per 1 server, overall 1 task(s)
[DATA] attacking ssh://localhost:22/
[ATTEMPT] target: localhost  login: root  password: newpassword
[ATTEMPT] target: localhost  login: root  password: password
[ATTEMPT] target: localhost  login: root  password: 123456
[ATTEMPT] target: localhost  login: root  password: qwerty
4 of 4 target(s) completed, 0 valid password(s) found

Cette étape démontre que l'option -I, lorsqu'elle est utilisée avec -R, offre un moyen de démarrer une nouvelle attaque Hydra, en ignorant efficacement toutes les données de session précédentes. Cela peut être utile lorsque vous souhaitez vous assurer que tous les mots de passe sont testés, qu'une attaque précédente ait été interrompue ou non.

Résumé

Dans ce laboratoire (lab), nous avons simulé une attaque Hydra interrompue contre le service SSH sur le localhost. Nous avons créé les fichiers users.txt et passwords.txt contenant respectivement des noms d'utilisateur et des mots de passe. Nous avons ensuite lancé une attaque Hydra en utilisant ces fichiers, ciblant le service SSH.

Pendant l'attaque, nous avons interrompu manuellement le processus en utilisant Ctrl+C. Cela nous a permis d'observer le comportement de Hydra lorsqu'une attaque est prématurément terminée, préparant le terrain pour explorer comment reprendre ou redémarrer efficacement les attaques dans les étapes suivantes.