Utilisation d'Hydra pour le craquage de mots de passe

LinuxLinuxIntermediate
Pratiquer maintenant

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

Introduction

Bienvenue dans le cours "Cybersécurité avec des laboratoires pratiques". Ce cours est conçu pour les débutants ayant des connaissances de base en Linux et intéressés par la compréhension des fondamentaux de la cybersécurité. Dans cette session pratique, vous allez apprendre les vulnérabilités des mots de passe et comment utiliser un outil de sécurité populaire appelé Hydra.

Dans ce laboratoire, vous allez explorer le concept de sécurité des mots de passe en simulant une attaque de force brute sur un site web de pratique. Vous allez apprendre à utiliser Hydra, un outil puissant utilisé par les professionnels de la sécurité pour tester la force des mots de passe. Cette expérience vous aidera à comprendre pourquoi les mots de passe forts sont essentiels et à quel point les mots de passe faibles peuvent être facilement compromis.

À la fin de ce laboratoire, vous aurez acquis une expérience pratique dans les domaines suivants :

  1. Configuration et exploration d'un site web de pratique
  2. Compréhension des listes de mots de passe courantes et de leurs implications en matière de sécurité
  3. Utilisation d'Hydra pour simuler une attaque de force brute
  4. Analyse des résultats et appréciation de l'importance des mots de passe forts

Commençons notre exploration du monde de la sécurité des mots de passe!

Ceci est un Guided Lab, qui fournit des instructions étape par étape pour vous aider à apprendre et à pratiquer. Suivez attentivement les instructions pour compléter chaque étape et acquérir une expérience pratique. Les données historiques montrent que c'est un laboratoire de niveau intermédiaire avec un taux de réussite de 60%. Il a reçu un taux d'avis positifs de 99% de la part des apprenants.

Exploration du site web cible

Dans cette étape, nous allons examiner le site web que nous allons tester et introduire le concept des attaques de force brute.

Ouvrez l'onglet Web 8080 dans votre environnement de laboratoire. Vous devriez voir une page de connexion simple avec des champs pour le nom d'utilisateur et le mot de passe.

Capture d'écran de la page de connexion

Essayez de vous connecter avec les identifiants suivants :

  • Nom d'utilisateur : test, Mot de passe : password123
  • Nom d'utilisateur : admin, Mot de passe : admin

Vous recevrez chaque fois un message "Nom d'utilisateur ou mot de passe invalide". C'est une pratique de sécurité courante qui ne révèle pas si le nom d'utilisateur ou le mot de passe est incorrect, empêchant les attaquants potentiels de recueillir des informations sur les noms d'utilisateur valides.

Remarquez qu'il n'y a pas de limite au nombre de tentatives de connexion. Dans les systèmes sécurisés du monde réel, vous risqueriez d'être bloqué après plusieurs tentatives infructueuses pour empêcher les attaques de force brute.

Ce que vous venez de faire manuellement - essayer différentes combinaisons de noms d'utilisateur et de mots de passe - est l'idée de base derrière une attaque de force brute. Les attaquants automatisent ce processus pour tester rapidement des milliers voire des millions de combinaisons. Cela démontre pourquoi il est essentiel d'utiliser des mots de passe forts et uniques pour la sécurité.

Examen de la liste de mots de passe

Maintenant que nous comprenons le concept de base d'une attaque de force brute, examinons une liste de mots de passe courants que les attaquants pourraient utiliser.

Revenez à l'onglet Bureau dans votre environnement de laboratoire.

Ouvrez le terminal Xfce sur le bureau.

Terminal Xfce sur le bureau

Dans les scénarios réels, les attaquants utilisent souvent des listes étendues de mots de passe provenant de violations de données passées. Pour notre laboratoire, nous utiliserons une liste plus petite de mots de passe faibles courants trouvés sur Internet. Cette liste vous a déjà été préparée et se trouve à l'emplacement /home/labex/project/500-worst-passwords.txt.

Examinons le contenu du fichier :

head -n 10 500-worst-passwords.txt

Vous devriez voir les 10 premiers mots de passe de la liste.

123456
password
12345678
1234
12345
dragon
qwerty
567sjej
mustang
letmein

Ces mots de passe sont des choix courants que beaucoup de personnes utilisent malheureusement encore. C'est précisément pourquoi les attaquants essaient souvent d'abord ceux-ci dans leurs tentatives d'accès non autorisé. En utilisant une liste comme celle-ci, un attaquant peut accélérer considérablement son attaque de force brute. Au lieu d'essayer toutes les combinaisons possibles de caractères (ce qui pourrait prendre des années), ils commencent par les mots de passe les plus probables, augmentant considérablement leurs chances de succès rapide.

Configuration d'Hydra

Maintenant que nous avons notre liste de mots de passe, configurons Hydra, l'outil que nous utiliserons pour automatiser la simulation de notre attaque de force brute.

Tout d'abord, créons un fichier contenant les noms d'utilisateur à tester :

cd ~/project
echo -e "admin\nuser\nroot" > ~/project/usernames.txt
cat ~/project/usernames.txt

Cela crée un fichier avec trois noms d'utilisateur courants : admin, user et root. Nous utiliserons ce fichier dans notre commande Hydra plus tard.

Maintenant, installons Hydra. Exécutez ces commandes :

Remarque : Les utilisateurs gratuits ne peuvent pas se connecter à Internet, donc Hydra est déjà préinstallé dans l'environnement de laboratoire. Vous pouvez sauter cette commande. Passez à la version Pro pour installer Hydra vous-même.

Uniquement pour les utilisateurs Pro
sudo apt-get update
sudo apt-get install hydra -y

Hydra est un outil populaire utilisé par les professionnels de la sécurité et les hackers éthiques pour tester la sécurité des mots de passe. Il peut effectuer des attaques par dictionnaire rapides contre divers services réseau. Il fonctionne en prenant une liste de noms d'utilisateur et une liste de mots de passe, puis en essayant systématiquement chaque combinaison sur le système cible.

Une fois l'installation terminée, vous pouvez vérifier que Hydra est correctement installé en exécutant :

hydra -h

Cela affichera l'information d'aide pour Hydra, montrant toutes ses options et capacités.

Utilisation d'Hydra pour le craquage de mots de passe

Maintenant que nous avons installé Hydra et que notre liste de mots de passe est prête, utilisons-le pour simuler une attaque de force brute sur notre site web de pratique.

Exécutez la commande Hydra suivante :

hydra -L ~/project/usernames.txt -P ~/project/500-worst-passwords.txt localhost -s 8080 http-post-form "/:username=^USER^&password=^PASS^:Invalid username or password" -o ~/project/hydra_results.txt

Décortiquons cette commande :

  • hydra : Le nom de l'outil que nous utilisons.
  • -L ~/project/usernames.txt : Utilisez cette liste de noms d'utilisateur.
  • -P ~/project/500-worst-passwords.txt : Utilisez cette liste de mots de passe.
  • localhost -s 8080 : L'adresse du site web que nous testons.
  • "/:username=^USER^&password=^PASS^:Invalid username or password" : Indique à Hydra comment interagir avec le formulaire de connexion.
  • -o ~/project/hydra_results.txt : Enregistrez les résultats dans ce fichier.

Hydra commencera à s'exécuter, et vous verrez des informations s'afficher à mesure qu'il essaie chaque combinaison de nom d'utilisateur et de mot de passe. Ce processus peut prendre quelques minutes.

Sortie de l'exécution de la commande Hydra

Une fois que Hydra a terminé, examinez les résultats :

cat ~/project/hydra_results.txt
Sortie des résultats d'Hydra

Vous devriez voir des lignes indiquant des tentatives de connexion réussies, comme "login: [nom d'utilisateur] password: [mot de passe] found".

Considérez les implications de ce que vous venez de faire :

  • Hydra a essayé des centaines de combinaisons de mots de passe en quelques minutes seulement.
  • Il a réussi à trouver des identifiants valides.
  • Cela démontre pourquoi l'utilisation de mots de passe courants ou faibles est dangereuse. Un attaquant réel pourrait tester des milliers voire des millions de mots de passe très rapidement.

Réfléchissez à la différence entre ce processus automatisé et les tentatives manuelles que vous avez effectuées à l'Étape 1. La vitesse et l'efficacité des outils comme Hydra font des mots de passe faibles un risque de sécurité majeur.

Résumé

Dans ce laboratoire, vous avez acquis une expérience pratique en matière de sécurité des mots de passe et de techniques de hacking éthique. Vous avez appris :

  1. Le concept des attaques de force brute et pourquoi elles sont efficaces contre les mots de passe faibles.
  2. Comment utiliser Hydra, un outil de sécurité utilisé dans le monde réel, pour le craquage de mots de passe.
  3. L'importance d'utiliser des mots de passe forts et uniques pour vous protéger contre ces attaques.

N'oubliez pas que le but de ce laboratoire était de comprendre la sécurité des mots de passe, et non de pirater des comptes réels. Utilisez toujours vos connaissances de manière éthique et légale.

Cette expérience souligne pourquoi les experts en cybersécurité déconseillent fortement l'utilisation de mots de passe courants ou faciles à deviner. Au fur et à mesure de votre progression dans le domaine de la cybersécurité, vous rencontrerez de nombreux autres outils et techniques. Continuez à apprendre, restez curieux et utilisez toujours vos compétences de manière responsable!