Comment utiliser Hydra : attaques de mots de passe (2026)

Penetration Testing
17 min de lecture
Comment utiliser Hydra : attaques de mots de passe (2026)
Sur cette page
  1. Qu'est-ce que Hydra ?
  2. Installer Hydra et voir ce qu'il sait attaquer
  3. La syntaxe Hydra dont vous avez vraiment besoin
  4. Utiliser Hydra contre SSH : votre première attaque
    1. Pourquoi -t 4 plutôt que la valeur par défaut de 16
  5. Attaquer un formulaire de connexion web avec http-post-form
    1. Trois détails qui font gagner une heure
  6. Wordlists, vitesse et savoir quand s'arrêter
  7. Quand Hydra est le mauvais outil
  8. Considérations légales et éthiques
  9. Questions fréquentes
  10. Vos prochaines étapes

Tous les réseaux que vous testerez un jour ont une porte protégée par un mot de passe. Une invite SSH sur un serveur rebond oublié, un serveur FTP où personne ne s'est connecté depuis 2019, un panneau d'administration de routeur qui tourne encore avec les identifiants d'usine. Apprendre à utiliser Hydra, c'est apprendre à savoir en quatre-vingt-dix secondes si cette porte est réellement verrouillée.

Hydra envoie des combinaisons d'identifiants à un service en fonctionnement et signale celle qui a fonctionné. C'est donc un outil réseau, pas un outil de cassage de hash, et cette distinction compte plus que n'importe quelle option que vous apprendrez aujourd'hui. Il appartient à la même boîte à outils que les scanners et les outils d'énumération présentés dans notre guide du test d'intrusion. Si vous voulez une page de connexion à malmener pendant votre lecture, ouvrez le lab gratuit Hack the Login dans un autre onglet : dix minutes suffisent, et il enseigne la leçon qui précède la force brute.

En bref : Hydra est un casseur d'authentification en ligne parallélisé qui devine des identifiants contre un service actif. Installez-le avec sudo apt install hydra (Kali fournit la 9.7). La syntaxe est toujours hydra -l UTILISATEUR -P wordlist.txt CIBLE SERVICE. Utilisez -t 4 pour SSH, -f pour vous arrêter au premier succès, et attendez-vous à ce que le module de formulaire web soit la partie qui résiste. Il est bruyant, lent face aux défenses modernes, et il trouve encore chaque semaine des identifiants par défaut sur des réseaux internes.

Qu'est-ce que Hydra ?

Hydra est un casseur d'authentification open source qui attaque des services réseau en leur soumettant en parallèle des combinaisons de noms d'utilisateur et de mots de passe. Il a été écrit par van Hauser, du groupe THC, il est publié sous licence AGPLv3, et il prend en charge plus de cinquante protocoles, dont SSH, FTP, SMB, RDP, MySQL, PostgreSQL, LDAP, SMTP, POP3, IMAP, VNC, SNMP et les formulaires HTTP.

Vous le verrez appelé THC Hydra, hydra, ou parfois xhydra quand quelqu'un parle de l'interface graphique GTK. C'est le même projet, hébergé sur GitHub sous vanhauser-thc/thc-hydra.

Voici la distinction qui piège presque tous les débutants.

Les attaques en ligne dialoguent avec un service actif. Hydra ouvre une connexion, envoie une proposition, attend que le serveur réponde oui ou non, puis recommence. La vitesse est plafonnée par le réseau et par ce que le serveur tolère. Vous êtes limité à quelques centaines ou quelques milliers de tentatives par minute, et les journaux de la cible se remplissent de chacune d'elles.

Les attaques hors ligne travaillent sur un hash que vous avez déjà récupéré. Pas de réseau, pas de limitation, pas de journaux. Un seul GPU grand public avale des milliards de tentatives NTLM par seconde. C'est le domaine de hashcat et de John the Ripper.

La règle est donc simple : si vous avez un hash, Hydra n'est pas l'outil qu'il vous faut. Hydra sert au moment d'avant, quand vous n'avez qu'un port, une bannière de service et une intuition sur le nom d'utilisateur.

Installer Hydra et voir ce qu'il sait attaquer

Sous Kali Linux, il est déjà présent. Si ce n'est pas le cas, ou si vous êtes sous Debian ou Ubuntu :

sudo apt update
sudo apt install hydra

Kali empaquette actuellement la version 9.7, qui a ajouté le support de GTK3 pour l'interface graphique ainsi qu'un module MongoDB v2. L'interface graphique vit dans un paquet distinct, hydra-gtk, et vous pouvez l'ignorer sans regret. Personne qui utilise Hydra régulièrement ne se sert de xhydra.

Si vous préférez ne rien installer, le projet publie un conteneur :

docker pull vanhauser/hydra

Trois binaires compagnons accompagnent le paquet, et deux d'entre eux sont réellement utiles :

  • pw-inspector filtre une wordlist pour ne garder que les mots de passe conformes à la politique de la cible. Si l'application exige 8 caractères avec un chiffre, inutile de lui envoyer « chat ».
  • dpl4hydra construit une liste de mots de passe par défaut pour un constructeur donné, tirée d'une base d'identifiants d'usine fournie avec l'outil. Lancez dpl4hydra cisco et vous obtenez un fichier login:pass prêt pour -C.
  • hydra-wizard vous guide pas à pas dans la construction d'une commande. Correct pendant votre première heure, une béquille ensuite.

Avant votre première vraie commande, vérifiez quels modules votre build possède réellement. Le support compilé varie d'une distribution à l'autre :

hydra -h

Le bas de l'aide liste tous les services pris en charge. Si rdp ou ssh manque, votre paquet a été compilé sans la bibliothèque correspondante et aucune syntaxe, même parfaite, n'y changera rien.

La syntaxe Hydra dont vous avez vraiment besoin

Hydra propose une trentaine d'options en ligne de commande, et vous n'en utiliserez qu'une poignée. Toutes les commandes suivent la même forme :

hydra [options login] [options mot de passe] [réglages] CIBLE SERVICE

La cible et le service viennent toujours en dernier, dans cet ordre. Inversez-les et Hydra vous répondra qu'il ne connaît aucun service nommé 192.0.2.10.

Les options qui comptent :

  • -l UTILISATEUR un seul nom d'utilisateur. -L users.txt un fichier de noms.
  • -p MOTDEPASSE un seul mot de passe. -P passwords.txt un fichier de mots de passe.
  • -C creds.txt un fichier de paires login:pass, testées comme des paires et non comme un produit croisé complet. C'est ce que vous utilisez avec des identifiants issus d'une fuite ou de dpl4hydra.
  • -t N nombre de connexions parallèles. La valeur par défaut est 16.
  • -f arrête tout dès qu'une paire valide est trouvée. C'est presque toujours ce que vous voulez.
  • -V affiche chaque tentative. Servez-vous-en une fois pour confirmer que l'attaque est bien formée, puis désactivez-le.
  • -s PORT quand le service n'écoute pas sur son port par défaut.
  • -o results.txt écrit les succès dans un fichier, avec -b json si un traitement automatisé doit les relire.

Il existe deux façons équivalentes de désigner la cible, et les confondre est l'erreur de débutant la plus fréquente :

hydra -l dana -P rockyou.txt 192.0.2.10 ssh
hydra -l dana -P rockyou.txt ssh://192.0.2.10

Les deux lancent la même attaque. La forme URL est plus lisible dès que vous ajoutez des options de module, parce que tout reste dans une seule chaîne.

Une option rapporte bien plus qu'elle ne coûte : -e nsr. Elle ajoute trois tentatives supplémentaires par utilisateur, en plus de votre wordlist. n essaie un mot de passe vide, s essaie le nom d'utilisateur comme mot de passe, et r essaie ce nom à l'envers. Sur les réseaux internes, le seul test « s » trouve des comptes de service plus souvent que n'importe quelle wordlist.

💻
Pratiquez maintenant : Admin Portal Breach - un portail d'administration d'entreprise dont la vérification des identifiants se fait au mauvais endroit. Dans le navigateur, gratuit, et un rappel utile que deviner est rarement le chemin le plus court.

Utiliser Hydra contre SSH : votre première attaque

SSH est le point de départ classique parce que la réponse est sans ambiguïté. Le service vous authentifie ou non, sans redirection ni page d'erreur à interpréter.

hydra -l dana -P /usr/share/wordlists/rockyou.txt 192.0.2.10 ssh -t 4 -f

Sortie réelle, réduite aux lignes qui comptent :

Hydra v9.7 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in
military or secret service organizations, or for illegal purposes [...]

Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2026-09-05 11:04:31
[DATA] max 4 tasks per 1 server, overall 4 tasks, 14344392 login tries (l:1/p:14344392), ~3586098 tries per task
[DATA] attacking ssh://192.0.2.10:22/
[22][ssh] host: 192.0.2.10   login: dana   password: sunshine1
1 of 1 target successfully completed, 1 valid password found

La ligne qui commence par [22][ssh] est le succès : port, service, hôte, nom d'utilisateur, mot de passe. Tout ce qui la précède n'est que comptabilité.

Lisez la ligne [DATA] avant de partir prendre un café, parce qu'elle vous annonce la durée. 14 344 392 mots de passe répartis sur 4 tâches, cela fait environ 3,6 millions de tentatives par tâche. À un rythme SSH réaliste de quelques centaines de tentatives par minute, parcourir toute la wordlist rockyou.txt prendrait des mois. Ce chiffre n'est pas une raison de paniquer. C'est une raison de comprendre que la force brute en ligne trouve les mots de passe faibles situés en haut d'une liste triée, ou ne trouve rien.

Pourquoi -t 4 plutôt que la valeur par défaut de 16

Retirez le -t 4 et Hydra vous rappellera à l'ordre :

[WARNING] Many SSH configurations limit the number of parallel tasks, it is
recommended to reduce the tasks: use -t 4

Cet avertissement se déclenche dès que -t dépasse 8 sur une cible SSH, et ce n'est pas de la superstition. OpenSSH est livré avec MaxStartups 10:30:100, ce qui commence à rejeter aléatoirement les connexions non authentifiées au-delà de dix simultanées et les refuse toutes à partir de cent. MaxAuthTries vaut 6 par défaut, donc le serveur ferme aussi la session après six échecs. Martelez-le avec 16 tâches et une bonne partie de vos tentatives sera jetée avant même d'être vérifiée, ce qui produit le pire résultat possible : une attaque lente qui ne signale aucun mot de passe valide alors qu'il figure bien dans votre liste.

En pratique, quatre tâches contre SSH et seize contre un formulaire HTTP simple forment un couple de valeurs par défaut raisonnable. Quand les résultats varient d'une exécution à l'autre, baissez -t, ne l'augmentez pas.

Attaquer un formulaire de connexion web avec http-post-form

C'est ici que la plupart des gens abandonnent Hydra, et cela vaut la peine d'insister, parce que les formulaires web sont ce que vous rencontrerez réellement en CTF.

Le problème est que HTTP n'a aucune notion d'échec d'authentification. Le serveur répond 200 OK que vous ayez deviné juste ou faux. Vous devez donc expliquer à Hydra comment faire la différence, et c'est à cela que sert le troisième champ de la chaîne du module.

La syntaxe comporte trois parties séparées par des deux-points :

hydra -l admin -P passwords.txt 192.0.2.20 http-post-form \
  "/login.php:user=^USER^&pass=^PASS^:incorrect"
  1. Le chemin. /login.php, la page vers laquelle le formulaire poste. Pas la page où le formulaire s'affiche, si les deux diffèrent.
  2. Le corps de la requête POST. Copiez-le tel quel depuis l'onglet réseau de votre navigateur ou depuis Burp, puis remplacez la valeur du nom d'utilisateur par ^USER^ et celle du mot de passe par ^PASS^. Conservez tous les autres champs, y compris les champs cachés. Un jeton CSRF que vous avez oublié est la raison pour laquelle votre attaque ne renvoie rien.
  3. La chaîne d'échec. Le texte qui apparaît dans la réponse quand une connexion échoue. Hydra considère la présence de cette chaîne comme un échec, et son absence comme un succès.

Vous pouvez inverser ce dernier champ. Préfixez-le par S= pour détecter le succès à la place, ce qui est plus fiable quand l'application redirige après une connexion réussie :

hydra -l admin -P passwords.txt 192.0.2.20 http-post-form \
  "/login.php:user=^USER^&pass=^PASS^:S=302"

Vous avez droit à l'un ou à l'autre, jamais aux deux. F= est la forme explicite du test d'échec par défaut, et S= le remplace.

Quand une attaque annonce que tous les mots de passe de votre liste fonctionnent, c'est que la chaîne d'échec est mauvaise. C'est de loin l'erreur la plus fréquente avec ce module, et l'aide du module le dit en toutes lettres. Lancez hydra -U http-post-form pour la lire, et ajoutez -d pour afficher les requêtes et les réponses qu'Hydra échange réellement.

Trois détails qui font gagner une heure

  • Échappez les deux-points à l'intérieur de la chaîne. Les deux-points séparent les champs, donc un deux-points contenu dans un en-tête ou une valeur doit s'écrire \:. Les en-têtes personnalisés ressemblent à H=Cookie\: sessid=aaaa.
  • Les champs encodés en base64 existent. Si le formulaire encode les identifiants, utilisez ^USER64^ et ^PASS64^ et Hydra se charge de l'encodage.
  • Les cookies sont récupérés automatiquement. Le module charge d'abord la page de connexion pour obtenir un cookie de session, et suit jusqu'à cinq redirections. Utilisez C=/une/page pour récupérer le cookie ailleurs, ou G= pour sauter cette pré-requête quand l'application n'en a pas besoin.

Pour HTTPS, remplacez le nom du module par https-post-form. Tout le reste est identique.

Wordlists, vitesse et savoir quand s'arrêter

Votre wordlist décide du résultat bien plus que vos options. Envoyer une liste de 14 millions de lignes dans une attaque en ligne est un réflexe de débutant qui a l'air appliqué et n'accomplit rien.

Deux approches font mieux, et toutes deux reviennent à envoyer moins de tentatives, mieux choisies.

Réduisez la liste à la politique de mots de passe de la cible. Si l'inscription refuse tout ce qui fait moins de 8 caractères, chaque candidat plus court est du trafic gaspillé :

pw-inspector -i rockyou.txt -o filtered.txt -m 8 -n

Cela ne garde que les mots de passe d'au moins 8 caractères contenant un chiffre. Passez ensuite wc -l sur les deux fichiers pour mesurer le trafic que vous venez d'éviter d'envoyer.

Pulvérisez au lieu de forcer. Par défaut, Hydra essaie tous les mots de passe sur un utilisateur avant de passer au suivant, ce qui est précisément le motif qui déclenche le verrouillage de compte. L'option -u inverse la boucle et essaie un mot de passe sur tous les utilisateurs d'abord :

hydra -L users.txt -p 'Autumn2026!' -u 192.0.2.10 smb -t 1 -W 30

Un mot de passe par utilisateur et par passe, une seule tâche, trente secondes entre les tentatives. Face à un domaine Active Directory avec un verrouillage à cinq échecs, c'est la différence entre trouver un compte et bloquer l'entreprise entière. -W fixe ce délai entre les connexions et n'a de sens qu'avec un faible nombre de tâches.

Deux dernières choses à connaître avant de lancer quelque chose de long. Hydra écrit un fichier hydra.restore toutes les cinq minutes, donc une session interrompue par Ctrl-C se reprend avec hydra -R. Ce fichier ne peut pas être déplacé d'une plateforme à une autre. Et -M targets.txt attaque toute une liste d'hôtes en une seule exécution, avec -F pour tout arrêter dès qu'un hôte lâche un identifiant.

Quand Hydra est le mauvais outil

Constat honnête : Hydra échoue contre la plupart des applications exposées sur Internet construites au cours de la dernière décennie, et mieux vaut le savoir avant de commencer qu'après un après-midi sans résultat.

Limitation de débit, verrouillage de compte, CAPTCHA, authentification multifacteur et règles de pare-feu applicatif le mettent tous en échec, et chacun de ces mécanismes peut être en place sans être visible de l'extérieur. Le Data Breach Investigations Report 2026 de Verizon montre que 31 % des compromissions commencent désormais par une vulnérabilité logicielle, ce qui place ce vecteur devant les mots de passe volés comme première porte d'entrée. Deviner à la porte d'entrée n'est plus la voie d'accès dominante.

Prenez un autre outil quand :

  • Vous avez déjà des hashs. Cassez-les hors ligne. Plusieurs ordres de grandeur plus vite, et totalement silencieux.
  • La cible est une page de connexion publique. Cherchez d'abord les identifiants ailleurs : un répertoire .git exposé, un fichier de configuration dans un bucket public, un copier-coller oublié par un développeur. Chercher bat presque toujours deviner.
  • Un service SMB ou LDAP tourne sur un réseau interne. Les outils conçus pour ces protocoles valident des identifiants sur tout un sous-réseau en une commande et gèrent correctement la politique de verrouillage.
  • Vous n'avez pas encore énuméré. Une liste d'utilisateurs bâtie à partir d'une vraie reconnaissance surpasse largement une liste générique. Trouvez d'abord les services avec les techniques de notre aide-mémoire Nmap, puis décidez ce qui mérite une attaque.

Là où Hydra garde toute sa place, c'est sur l'infrastructure ancienne et interne : le serveur FTP d'un VLAN industriel, l'interface web d'une imprimante, le commutateur dont personne n'a jamais changé les identifiants d'usine, la machine de CTF conçue pour être forcée. Dans ces cas-là, il est rapide, fiable, et souvent le chemin le plus court vers un premier accès.

Considérations légales et éthiques

Rappel essentiel : obtenez toujours une autorisation écrite explicite avant de tester un système. Lancer Hydra contre un hôte que vous ne possédez pas et que vous n'êtes pas autorisé à tester constitue un accès non autorisé au sens de l'article 323-1 du Code pénal en France, du Computer Fraud and Abuse Act aux États-Unis, du Computer Misuse Act au Royaume-Uni et de textes équivalents presque partout ailleurs. L'intention n'est pas un moyen de défense.

Hydra est particulièrement facile à mal employer, d'où quelques limites concrètes :

  • Ne testez que des systèmes nommés dans un document de périmètre signé, ou des environnements de lab que vous avez construits vous-même
  • Le verrouillage de compte est un vrai déni de service. Comprenez la politique de la cible avant d'envoyer la moindre tentative, et écrivez-le noir sur blanc en cas de doute
  • Les identifiants que vous récupérez appartiennent au rapport, chiffrés, et à rien d'autre. Ne les réutilisez jamais en dehors de la mission
  • Pulvériser des mots de passe sur un annuaire de production en pleine journée peut bloquer le personnel et arrêter une entreprise. Convenez du calendrier avec le client
  • Les plateformes de CTF et les machines volontairement vulnérables offrent une pratique illimitée. Servez-vous-en

La bannière d'Hydra elle-même demande de ne pas l'utiliser à des fins illégales, tout en qualifiant cette demande de non contraignante. Considérez la loi comme la partie contraignante.

Questions fréquentes

À quoi sert Hydra ?

À tester si un service réseau accepte des identifiants faibles ou par défaut. Il soumet des combinaisons de nom d'utilisateur et de mot de passe à un service actif et signale celle qui a été acceptée. Les testeurs d'intrusion l'emploient contre SSH, FTP, SMB, RDP, des bases de données et des formulaires web lors d'audits autorisés, et les joueurs de CTF s'en servent en permanence.

Hydra est-il la même chose que hashcat ou John the Ripper ?

Non, et la différence décide de l'outil dont vous avez besoin. Hydra mène des attaques en ligne contre un service actif, limitées par le réseau et les défenses du serveur. Hashcat et John mènent des attaques hors ligne contre des hashs que vous détenez déjà, à des milliards de tentatives par seconde. Si vous avez un hash, Hydra est le mauvais outil.

Comment installer Hydra sur Kali Linux ?

Il est préinstallé sur l'image Kali standard. Sur une installation minimale, lancez sudo apt update && sudo apt install hydra. Kali empaquette la version 9.7. L'interface GTK est un paquet distinct nommé hydra-gtk, et un conteneur officiel est disponible avec docker pull vanhauser/hydra.

Pourquoi mon attaque http-post-form annonce-t-elle que tous les mots de passe fonctionnent ?

Votre chaîne d'échec est mauvaise. Hydra décide qu'une tentative a échoué en cherchant cette chaîne dans la réponse : si elle n'apparaît jamais, chaque tentative compte comme un succès. Chargez la page de connexion, soumettez volontairement de faux identifiants et copiez le texte exact du message d'erreur. Ajoutez -d pour voir les vraies réponses.

Combien de tâches parallèles utiliser avec Hydra ?

Quatre pour SSH, parce qu'OpenSSH utilise par défaut MaxStartups 10:30:100 et rejette les connexions au-delà. L'outil vous avertit quand -t dépasse 8 sur une cible SSH. La valeur par défaut de 16 convient pour les formulaires HTTP. Utilisez -t 1 avec -W quand vous pulvérisez face à une politique de verrouillage.

Hydra peut-il casser un fichier ZIP ou PDF protégé par mot de passe ?

Non. Hydra n'attaque que des services réseau, il lui faut donc quelque chose qui écoute sur un port. Les formats de fichiers relèvent du cassage hors ligne : utilisez les utilitaires compagnons de John the Ripper comme zip2john ou pdf2john pour en extraire un hash, puis cassez-le avec John ou hashcat.

Vos prochaines étapes

Savoir utiliser Hydra tient à une seule forme de commande et au jugement sur le moment de la lancer. hydra -l user -P list.txt cible service couvre la majorité des cas, -t 4 -f garde SSH honnête, -e nsr attrape les comptes paresseux qu'aucune wordlist ne contient, et -u avec -W transforme une force brute qui déclenche les verrouillages en pulvérisation supportable. Le reste consiste à lire l'aide du module avec hydra -U quand vous croisez un protocole pour la première fois.

Lire des commandes n'équivaut pas à voir une page de connexion céder. Commencez par le lab Hack the Login, qui prend dix minutes et montre pourquoi lire le code source de la page passe avant toute wordlist, puis travaillez le chapitre sur les attaques de mots de passe de notre cours de test d'intrusion réseau pour le traitement service par service. Les deux tournent dans le navigateur avec l'offre gratuite de HackerDNA, sans carte bancaire et sans rien installer.

HackerDNA Team

Équipe HackerDNA

Écrit par l'équipe HackerDNA - des professionnels de la cybersécurité qui créent des labs de hacking pratiques et du contenu éducatif pour vous aider à développer des compétences réelles en sécurité.

Rencontrer l'équipe

Prêt à mettre cela en pratique?

Arrêtez de lire, commencez à hacker. Obtenez une expérience pratique avec plus de 170 labs de cybersécurité réels.

Commencer à Hacker Gratuitement
25 000+ Hackers 100+ Labs & Cours Gratuit
Commencer Gratuitement