Préparer des fichiers pour les attaques 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 à préparer les fichiers essentiels pour les attaques de force brute avec Hydra en créant et en modifiant des listes de noms d'utilisateur et de mots de passe. Vous générerez des fichiers texte contenant des identifiants courants et les personnaliserez avec des variations supplémentaires pour améliorer l'efficacité des tests.

L'exercice porte sur la création des fichiers usernames.txt et passwords.txt, leur extension avec plus d'entrées et la vérification de la capacité d'Hydra à charger correctement ces fichiers. Ces listes préparées serviront de base pour les tentatives de craquage d'authentification ultérieures.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hydra(("Hydra")) -.-> hydra/HydraGroup(["Hydra"]) hydra/HydraGroup -.-> hydra/password_creation("Password List Creation") hydra/HydraGroup -.-> hydra/username_creation("Username List Creation") hydra/HydraGroup -.-> hydra/single_username("Single Username Attack") hydra/HydraGroup -.-> hydra/single_password("Single Password Attack") hydra/HydraGroup -.-> hydra/output_saving("Output File Saving") hydra/HydraGroup -.-> hydra/verbose_mode("Verbose Mode Usage") subgraph Lab Skills hydra/password_creation -.-> lab-549920{{"Préparer des fichiers pour les attaques Hydra"}} hydra/username_creation -.-> lab-549920{{"Préparer des fichiers pour les attaques Hydra"}} hydra/single_username -.-> lab-549920{{"Préparer des fichiers pour les attaques Hydra"}} hydra/single_password -.-> lab-549920{{"Préparer des fichiers pour les attaques Hydra"}} hydra/output_saving -.-> lab-549920{{"Préparer des fichiers pour les attaques Hydra"}} hydra/verbose_mode -.-> lab-549920{{"Préparer des fichiers pour les attaques Hydra"}} end

Créer un fichier de liste de noms d'utilisateur

Dans cette étape, vous allez créer un fichier texte contenant une liste de noms d'utilisateur courants qui peuvent être utilisés pour tester les systèmes d'authentification. Cette liste de noms d'utilisateur est essentielle pour les attaques Hydra car elle fournit à l'outil des noms de compte potentiels à tester lors d'attaques de force brute ou de dictionnaire.

  1. Tout d'abord, assurez-vous d'être dans le bon répertoire de travail. La commande cd permet de changer de répertoire actuel, et nous utilisons ~/project comme répertoire de travail pour ce laboratoire :
cd ~/project
  1. Créez un nouveau fichier texte nommé usernames.txt en utilisant nano, un éditeur de texte simple en ligne de commande. La commande ci-dessous créera un nouveau fichier ou ouvrira un fichier existant :
nano usernames.txt
  1. Maintenant, vous allez ajouter des noms d'utilisateur courants qui sont souvent utilisés comme identifiants par défaut dans divers systèmes. Tapez ou collez ces noms d'utilisateur, chacun sur sa propre ligne :
admin
root
user
test
guest
administrator
  1. Pour enregistrer vos modifications dans nano :
  • Appuyez sur Ctrl+O (Écrire) pour enregistrer
  • Appuyez sur Entrée pour confirmer le nom du fichier (usernames.txt)
  • Appuyez sur Ctrl+X pour quitter l'éditeur
  1. Vérifiez que le fichier a été créé correctement en affichant son contenu avec la commande cat. Cela vous montre exactement ce qui est stocké dans le fichier :
cat usernames.txt

Vous devriez voir la liste des noms d'utilisateur que vous avez saisis, chacun sur une ligne distincte. Ce fichier servira d'entrée pour Hydra dans les étapes suivantes, où l'outil testera systématiquement chaque nom d'utilisateur (combiné avec des mots de passe d'un autre fichier) pour tester les systèmes d'authentification.

Créer un fichier de liste de mots de passe

Dans cette étape, vous allez créer un fichier texte contenant des mots de passe courants qui seront utilisés avec la liste de noms d'utilisateur de l'Étape 1 pour tester les systèmes d'authentification avec Hydra. Les listes de mots de passe sont essentielles pour les attaques de force brute car elles contiennent des identifiants couramment utilisés auxquels les systèmes pourraient être vulnérables.

  1. Tout d'abord, assurez-vous d'être dans le bon répertoire de travail (si ce n'est pas déjà le cas). Le répertoire ~/project est là où nous allons stocker tous nos fichiers d'attaque pour les organiser :
cd ~/project
  1. Créez un nouveau fichier texte nommé passwords.txt en utilisant nano. Nano est un éditeur de texte simple préinstallé dans la plupart des distributions Linux, parfait pour les débutants :
nano passwords.txt
  1. Ajoutez les mots de passe courants suivants au fichier (un par ligne). Ce sont parmi les mots de passe faibles les plus fréquemment utilisés selon les recherches en sécurité :
password
123456
admin
12345678
qwerty
123456789
  1. Enregistrez le fichier en appuyant sur :
  • Ctrl+O (Écrire) - Cela enregistre vos modifications
  • Appuyez sur Entrée pour confirmer le nom du fichier
  • Ctrl+X pour quitter nano et revenir au terminal
  1. Vérifiez que le fichier a été créé correctement en affichant son contenu. La commande cat est un moyen rapide de vérifier le contenu d'un fichier sans ouvrir un éditeur :
cat passwords.txt

Vous devriez voir la liste des mots de passe que vous avez saisis, chacun sur une ligne distincte. Cette liste de mots de passe sera combinée avec la liste de noms d'utilisateur de l'Étape 1 lors de l'exécution d'Hydra dans les étapes suivantes. Avoir les deux fichiers correctement formatés garantit qu'Hydra peut tester systématiquement toutes les combinaisons possibles de nom d'utilisateur et de mot de passe lors de l'attaque.

Modifier les listes de credentials courants

Dans cette étape, vous allez améliorer à la fois les listes de noms d'utilisateur et de mots de passe créées dans les étapes précédentes en ajoutant plus de credentials courants qui sont fréquemment utilisés dans les systèmes d'authentification. Ces ajouts sont importants car les systèmes du monde réel ont souvent des credentials par défaut ou couramment utilisés qui peuvent être vulnérables aux attaques de force brute.

  1. Tout d'abord, assurez-vous d'être dans le bon répertoire de travail où sont stockés vos fichiers de credentials. Cela garantit que toutes vos modifications sont effectuées au bon endroit :
cd ~/project
  1. Ouvrez la liste de noms d'utilisateur pour la modifier en utilisant l'éditeur de texte nano. Nano est un éditeur en ligne de commande simple, parfait pour les débutants :
nano usernames.txt
  1. Ajoutez ces noms d'utilisateur courants supplémentaires à la liste existante. Ce sont des comptes par défaut typiques que de nombreux systèmes utilisent, ce qui en fait de bons candidats pour les tests :
sysadmin
webmaster
support
backup
oracle
mysql
  1. Enregistrez le fichier en appuyant sur Ctrl+O (écrire), puis sur Entrée pour confirmer, et enfin sur Ctrl+X pour quitter nano. Ces raccourcis clavier sont essentiels pour travailler avec les éditeurs en ligne de commande.

  2. Maintenant, ouvrez la liste de mots de passe pour la modifier en utilisant le même processus :

nano passwords.txt
  1. Ajoutez ces mots de passe courants supplémentaires à la liste existante. Ce sont des mots de passe faibles que les utilisateurs choisissent fréquemment, ce qui les rend importants à inclure dans vos tests :
letmein
welcome
password1
123123
12345
111111
  1. Enregistrez le fichier de mots de passe en utilisant la même méthode : Ctrl+O, Entrée, puis Ctrl+X.

  2. Vérifiez que les deux fichiers contiennent les credentials mis à jour en affichant leur contenu. La partie && echo "---" ajoute un séparateur visuel entre les deux fichiers lorsqu'ils sont affichés :

cat usernames.txt && echo "---" && cat passwords.txt

Vous devriez voir que les deux listes contiennent maintenant des ensembles de credentials plus complets. Ces listes améliorées offriront une meilleure couverture lors des tests des systèmes d'authentification avec Hydra, car elles incluent à la fois les comptes système par défaut et les mots de passe faibles couramment utilisés que l'on trouve souvent dans les scénarios du monde réel.

Sauvegarder les listes dans un répertoire accessible

Dans cette étape, vous allez apprendre à organiser correctement vos listes de credentials pour les attaques Hydra en créant un répertoire dédié et en définissant les bonnes autorisations de fichiers. Cela est important car Hydra doit être en mesure d'accéder à ces fichiers lors des tentatives de craquage de mots de passe.

  1. Tout d'abord, accédez à votre répertoire de projet si vous n'y êtes pas déjà. Cela garantit que tous vos fichiers restent organisés en un seul endroit :
cd ~/project
  1. Créez un nouveau répertoire appelé hydra_lists spécifiquement pour stocker vos fichiers de credentials. L'utilisation de répertoires séparés permet de garder votre espace de travail propre et facilite la recherche des fichiers :
mkdir hydra_lists
  1. Déplacez à la fois vos fichiers de noms d'utilisateur et de mots de passe dans ce nouveau répertoire. La commande mv déplacera physiquement les fichiers de leur emplacement actuel vers le nouveau répertoire :
mv usernames.txt passwords.txt hydra_lists/
  1. Vérifiez que les fichiers ont été déplacés avec succès en listant le contenu du répertoire. Le drapeau -l affiche des informations détaillées, y compris les autorisations de fichiers :
ls -l hydra_lists/

Vous devriez voir à la fois usernames.txt et passwords.txt listés avec leurs autorisations.

  1. Définissez les autorisations appropriées pour garantir qu'Hydra peut lire ces fichiers. Les autorisations 644 signifient que le propriétaire peut lire/écrire tandis que les autres peuvent seulement lire :
chmod 644 hydra_lists/*
  1. Confirmez que les autorisations sont correctes en vérifiant à nouveau le répertoire. La chaîne d'autorisations -rw-r--r-- indique que les fichiers sont correctement configurés :
ls -l hydra_lists/

La sortie devrait afficher -rw-r--r-- pour les deux fichiers, ce qui signifie qu'ils sont lisibles par tous les utilisateurs mais seulement modifiables par le propriétaire - le paramètre d'autorisation idéal pour les fichiers de credentials utilisés dans les attaques Hydra.

Vérifier le chargement des fichiers dans Hydra

Dans cette étape finale, vous allez vérifier que Hydra peut correctement lire et traiter les fichiers de credentials que vous avez créés dans les étapes précédentes. C'est une vérification importante avant de lancer des attaques réelles, car cela garantit que vos listes de noms d'utilisateur et de mots de passe sont correctement formatées et accessibles par Hydra.

  1. Tout d'abord, assurez-vous d'être dans le bon répertoire de travail où sont stockés vos fichiers de credentials. C'est crucial car Hydra doit savoir où trouver vos listes de noms d'utilisateur et de mots de passe :
cd ~/project
  1. Maintenant, nous allons exécuter Hydra en mode test en utilisant le drapeau -V pour obtenir une sortie détaillée. Cette commande indique à Hydra de :
    • Utiliser la liste de noms d'utilisateur (-L hydra_lists/usernames.txt)
    • Utiliser la liste de mots de passe (-P hydra_lists/passwords.txt)
    • Tester le service SSH du localhost
    • Utiliser seulement 1 thread (-t 1) à des fins de test
hydra -L hydra_lists/usernames.txt -P hydra_lists/passwords.txt -V -t 1 localhost ssh
  1. Lorsque la commande s'exécute avec succès, vous devriez voir une sortie similaire à celle-ci. L'information clé ici est le nombre de "login tries" qui confirme que Hydra a lu les deux fichiers :
Hydra v9.2 (c) 2022 by van Hauser/THC & David Maciejak
[DATA] max 1 task per 1 server, overall 1 task, 42 login tries (l:6/p:7), ~42 tries per task
[DATA] attacking ssh://localhost:22/
[VERBOSE] Resolving addresses ... done
  1. Après avoir vérifié la sortie, appuyez sur Ctrl+C pour arrêter le test. Il n'est pas nécessaire de le laisser se terminer car nous testons seulement le chargement des fichiers.

  2. Pour confirmer que les deux fichiers ont été correctement lus, vérifiez le nombre de tentatives de connexion affiché dans la sortie. Ce nombre devrait être égal au nombre de noms d'utilisateur multiplié par le nombre de mots de passe dans vos listes. Par exemple, si vous avez 6 noms d'utilisateur et 7 mots de passe, vous devriez voir 42 tentatives de connexion (6×7 = 42). Cette multiplication confirme que Hydra combine correctement toutes les paires de credentials possibles de vos fichiers.

Résumé

Dans ce laboratoire, vous avez appris à préparer des listes de noms d'utilisateur et de mots de passe pour les attaques Hydra en créant et en gérant des fichiers texte sous Linux. Les exercices ont couvert la création de usernames.txt et passwords.txt à l'aide de nano, le remplissage de ces fichiers avec des identifiants courants et la vérification du contenu à l'aide de commandes cat.

Vous avez également pratiqué des opérations de fichiers Linux essentielles, notamment la navigation dans les répertoires, l'édition de texte et la validation des fichiers. Ces compétences constituent la base pour la mise en place d'attaques par force brute efficaces, car des listes de credentials correctement formatées sont cruciales pour les capacités de test de sécurité d'Hydra.