Guide de référence Hydra
Référence complète pour le brute force de mots de passe
Plus de 50 protocoles • SSH, HTTP, FTP, RDP, bases de données et plus
📑 Navigation rapide
Qu'est-ce que Hydra ?
THC-Hydra (communément appelé Hydra) est un cracker de connexion rapide et parallélisé qui prend en charge de nombreux protocoles. Développé par The Hacker's Choice (THC), c'est l'un des outils de test de mots de passe les plus polyvalents disponibles, prenant en charge plus de 50 protocoles différents dont SSH, FTP, HTTP, HTTPS, SMB, bases de données et bien d'autres.
Hydra est préinstallé sur Kali Linux et d'autres distributions orientées sécurité. Le code source est disponible sur GitHub.
📦 Installation
Debian/Ubuntu/Kali
sudo apt install hydra
RHEL/CentOS/Fedora
sudo dnf install hydra
macOS (Homebrew)
brew install hydra
Depuis les sources
git clone https://github.com/vanhauser-thc/thc-hydra
cd thc-hydra && ./configure && make && sudo make install
🎯 Syntaxe de base
hydra[options]<cible><protocole>
| Flag | Description | Exemple |
|---|---|---|
| -l | Nom d'utilisateur unique | -l admin |
| -L | Fichier de liste d'utilisateurs | -L users.txt |
| -p | Mot de passe unique | -p password123 |
| -P | Fichier de liste de mots de passe | -P rockyou.txt |
| -C | Fichier user:pass séparé par deux-points | -C creds.txt |
| -s | Numéro de port | -s 2222 |
| -t | Tâches parallèles (threads) | -t 16 |
| -f | Arrêter à la première paire valide | -f |
| -F | Arrêter à la première paire valide (tous les hôtes) | -F |
| -v / -V | Verbeux / afficher les tentatives | -V |
| -o | Fichier de sortie | -o results.txt |
| -e nsr | Essayer mot de passe null/identique/inversé | -e nsr |
| -M | Fichier de liste de cibles | -M hosts.txt |
📡 Protocoles supportés
Exécutez hydra -h pour voir tous les protocoles disponibles. Les plus courants incluent :
🔐 Attaques SSH
# Utilisateur unique, liste de mots de passehydra -l root -P /usr/share/wordlists/rockyou.txt ssh://<target># Liste d'utilisateurs, liste de mots de passehydra -L users.txt -P passwords.txt ssh://<target># Port personnaliséhydra -l admin -P passwords.txt -s 2222 ssh://<target># Essayer null, identique au login, inverséhydra -l root -P passwords.txt -e nsr ssh://<target># Verbeux avec 4 threadshydra -l root -P passwords.txt -t 4 -V ssh://<target># Syntaxe alternativehydra -l root -P passwords.txt <target> ssh
💡 Conseil pro
SSH a généralement une limitation de débit. Utilisez -t 4 (4 threads) pour éviter de déclencher des verrouillages de compte et des blocages de connexion.
📁 Attaques FTP
# Attaque FTP basiquehydra -l admin -P passwords.txt ftp://<target># Essayer d'abord le login anonymehydra -l anonymous -p anonymous ftp://<target># Plusieurs utilisateurs avec sortie verbeusehydra -L users.txt -P passwords.txt -V ftp://<target># Arrêter au premier succèshydra -l ftpuser -P passwords.txt -f ftp://<target>
🌐 Attaques de formulaires HTTP
Les attaques de formulaires HTTP nécessitent de comprendre la structure du formulaire de connexion. Vous avez besoin : du chemin du formulaire, des paramètres POST et d'un indicateur d'échec.
Syntaxe
hydra -l <user> -P <wordlist> <target> http-post-form "/path:user=^USER^&pass=^PASS^:F=failure_string"
| Placeholder | Description |
|---|---|
| ^USER^ | Remplacé par le nom d'utilisateur |
| ^PASS^ | Remplacé par le mot de passe |
| F=string | Condition d'échec (chaîne présente en cas d'échec) |
| S=string | Condition de succès (chaîne présente en cas de succès) |
Exemples
# Formulaire de connexion basiquehydra -l admin -P passwords.txt <target> http-post-form "/login:username=^USER^&password=^PASS^:F=Invalid"# Connexion WordPresshydra -l admin -P passwords.txt <target> http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^:F=Invalid username"# Avec cookieshydra -l admin -P passwords.txt <target> http-post-form "/login:user=^USER^&pass=^PASS^:F=failed:H=Cookie: PHPSESSID=abc123"# Cible HTTPShydra -l admin -P passwords.txt <target> https-post-form "/login:user=^USER^&pass=^PASS^:F=incorrect"# Utiliser la condition de succès à la placehydra -l admin -P passwords.txt <target> http-post-form "/login:user=^USER^&pass=^PASS^:S=Welcome"
⚠️ Trouver les paramètres du formulaire
Utilisez les DevTools du navigateur (onglet Réseau) ou Burp Suite pour capturer la requête POST réelle. Recherchez l'URL d'action du formulaire et les noms des champs de saisie.
🔒 Authentification HTTP basique
# Auth HTTP basiquehydra -l admin -P passwords.txt <target> http-get /admin/# Auth HTTPS basiquehydra -l admin -P passwords.txt <target> https-get /secure/# Avec spécification de porthydra -l admin -P passwords.txt -s 8080 <target> http-get /
💼 Attaques SMB/Windows
# Attaque SMBhydra -l Administrator -P passwords.txt smb://<target># Avec domainehydra -l DOMAIN\\Administrator -P passwords.txt smb://<target># Attaque RDP (lent, utiliser peu de threads)hydra -l administrator -P passwords.txt -t 1 rdp://<target># VNC (mot de passe uniquement, pas de nom d'utilisateur)hydra -P passwords.txt vnc://<target>
🗄️ Attaques de bases de données
# MySQLhydra -l root -P passwords.txt mysql://<target># PostgreSQLhydra -l postgres -P passwords.txt postgres://<target># Microsoft SQL Serverhydra -l sa -P passwords.txt mssql://<target># Oracle SID requishydra -l system -P passwords.txt oracle://<target>/XE# MongoDBhydra -l admin -P passwords.txt mongodb://<target># Redis (mot de passe uniquement)hydra -P passwords.txt redis://<target>
📧 Protocoles de messagerie
# SMTPhydra -l user@domain.com -P passwords.txt smtp://<target># SMTP avec TLShydra -l user@domain.com -P passwords.txt -S smtp://<target>:587# POP3hydra -l user -P passwords.txt pop3://<target># POP3S (SSL)hydra -l user -P passwords.txt pop3s://<target># IMAPhydra -l user -P passwords.txt imap://<target># IMAPS (SSL)hydra -l user -P passwords.txt imaps://<target>
⚡ Optimisation des performances
| Flag | Description | Défaut |
|---|---|---|
| -t N | Nombre de tâches parallèles (threads) | 16 |
| -w N | Temps d'attente des réponses (secondes) | 32 |
| -c TIME | Temps d'attente par tentative de connexion | - |
| -W N | Attente entre les reconnexions | 0 |
| -T N | Threads par cible (avec -M) | - |
Paramètres de threads recommandés
SSH
4 threads
HTTP/HTTPS
16-32 threads
FTP
8-16 threads
RDP
1-4 threads
💾 Gestion des sessions
Hydra peut sauvegarder et restaurer les sessions pour les attaques de longue durée :
# Les sessions sont auto-sauvegardées dans ~/.hydra/hydra.restore# Reprendre une session interrompuehydra -R# Démarrer une attaque avec un fichier de session spécifiquehydra -l admin -P rockyou.txt ssh://<target> -I
| -R | Restaurer la session précédente |
| -I | Ignorer le fichier de restauration existant (recommencer à zéro) |
📚 Wordlists courantes
Sur Kali Linux, les wordlists sont généralement situées dans /usr/share/wordlists/
| Wordlist | Chemin | Taille |
|---|---|---|
| RockYou | /usr/share/wordlists/rockyou.txt | 14M mots de passe |
| SecLists Common | /usr/share/seclists/Passwords/Common-Credentials/ | Divers |
| Top 10000 | /usr/share/seclists/Passwords/xato-net-10-million-passwords-10000.txt | 10K mots de passe |
| Default Creds | /usr/share/seclists/Passwords/Default-Credentials/ | Divers |
💡 Conseil pro
Commencez par des wordlists plus petites et ciblées avant d'utiliser des listes massives comme rockyou.txt. Essayez d'abord les défauts courants : admin:admin, root:root, user:password.
🔥 Scénarios d'attaque courants
# Vérification rapide des identifiants par défauthydra -C /usr/share/seclists/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt ftp://<target># Plusieurs cibles depuis un fichierhydra -L users.txt -P passwords.txt -M hosts.txt ssh# Password spray (un mot de passe, plusieurs utilisateurs)hydra -L users.txt -p 'Summer2024!' smb://<target># Service sur port non standardhydra -l admin -P passwords.txt -s 8022 ssh://<target># Enregistrer les résultats dans un fichierhydra -l root -P passwords.txt -o results.txt ssh://<target># Verbeux avec toutes les tentatives affichéeshydra -l admin -P passwords.txt -V ssh://<target>
📚 Ressources supplémentaires
- Dépôt GitHub officiel — Code source et documentation
- SecLists — Collection de noms d'utilisateur, mots de passe et wordlists
- Documentation Hydra Kali — Page officielle de l'outil Kali
🔓 Guide de référence Hydra terminé !
Vous disposez maintenant d'une référence complète pour l'outil de brute force de mots de passe le plus polyvalent. De SSH aux formulaires web en passant par les bases de données, ces commandes couvrent les attaques d'authentification que les professionnels de la sécurité utilisent quotidiennement.
Prêt à craquer votre prochain test d'authentification !