Introduction
Dans ce défi, vous allez utiliser Hydra pour craquer les identifiants d'un service caché hébergé sur un serveur distant. Ce service est sécurisé par une authentification HTTP Basic. Votre mission consiste à identifier à la fois le nom d'utilisateur et le mot de passe afin d'accéder aux données secrètes.
Pour y parvenir, vous devrez d'abord préparer votre environnement en créant les répertoires nécessaires et des listes de mots (wordlists) contenant des noms d'utilisateur et des mots de passe potentiels. Ensuite, vous mettrez en place un serveur HTTP simple avec authentification basique à l'aide de Python. Enfin, vous exploiterez la puissance de Hydra pour mener une attaque par force brute en utilisant vos listes de mots afin d'obtenir l'accès aux informations protégées.
Percer le service caché
Un service secret s'exécute sur un serveur distant, protégé par une authentification HTTP Basic. Pouvez-vous utiliser Hydra pour découvrir le nom d'utilisateur et le mot de passe corrects afin d'accéder aux données cachées ?
Tâches
- Utiliser Hydra pour attaquer par force brute le service HTTP sur
localhostau port8000, en utilisant les listes d'utilisateurs et de mots de passe fournies. - Identifier les identifiants corrects à partir de la sortie de Hydra et enregistrer le mot de passe trouvé dans le fichier
found_password.txt.
Exigences
- Vous devez exécuter la commande
hydradans le répertoire/home/labex/project/wordlists. - Utilisez le fichier de liste d'utilisateurs nommé
usernames.txtet le fichier de liste de mots de passe nommépasswords.txt. - Ciblez le service HTTP s'exécutant sur
localhostau port8000. - Utilisez le module
http-get /de Hydra pour effectuer l'attaque. - Enregistrez le mot de passe correct dans le fichier
found_password.txtsitué dans/home/labex/project/found_password.txt.
Exemples
Exemple de sortie Hydra réussie :
[DATA] attacking http-get://localhost:8000/
[8000][http-get] host: localhost login: [USERNAME] password: [PASSWORD]
1 of 1 target successfully completed, 1 valid password found
Remplacez [USERNAME] et [PASSWORD] par les véritables identifiants trouvés par Hydra.
Astuces
- N'oubliez pas de spécifier le numéro de port correct à l'aide de l'option
-s. - Le mot de passe correct ne figure pas initialement dans le fichier
passwords.txt. Vous devrez trouver un autre moyen de craquer le mot de passe. - Envisagez de créer votre propre liste de mots de passe contenant des termes courants.
Résumé
Dans ce défi, l'objectif était de craquer l'authentification HTTP Basic protégeant un service caché sur un serveur distant. En utilisant Hydra, vous avez découvert le nom d'utilisateur et le mot de passe nécessaires pour accéder au service.
Ce défi impliquait la mise en place d'un environnement simulé, incluant la création de répertoires pour les listes de mots et le serveur HTTP, la génération de listes d'utilisateurs et de mots de passe, ainsi que la création d'un serveur HTTP basé sur Python nécessitant une authentification. Hydra a ensuite été utilisé pour tester les identifiants par force brute contre le serveur HTTP actif sur le port 8000.


