Hydra : attaques par force brute sur des services réseau

Introduction : pourquoi tester la robustesse de vos mots de passe ?

Un mot de passe faible reste la porte d’entrée numéro un des cyberattaques. En effet, malgré les campagnes de sensibilisation, de nombreux services restent protégés par des identifiants triviaux. Dans cet article, vous allez apprendre à utiliser Hydra, l’un des outils les plus puissants pour réaliser une attaque brute force. Vous découvrirez la théorie derrière cette technique, puis vous passerez à la pratique avec des commandes concrètes. L’objectif est clair : comprendre comment un attaquant procède, afin de mieux protéger vos propres systèmes.

⚠️ Avertissement légal : l’utilisation de Hydra contre un système sans autorisation écrite est illégale. Utilisez uniquement cet outil sur vos propres machines ou dans un environnement de lab dédié (type Metasploitable ou TryHackMe).


Qu’est-ce qu’une attaque par force brute ?

Le principe en une analogie

Imaginez un cadenas à combinaison à quatre chiffres. Un attaquant qui ne connaît pas le code va tester toutes les combinaisons possibles, une par une, jusqu’à trouver la bonne. C’est exactement le principe d’une attaque brute force appliquée à un mot de passe informatique.

Cependant, tester des millions de combinaisons manuellement prendrait des années. Par conséquent, des outils comme Hydra automatisent entièrement ce processus. Ils testent des centaines, voire des milliers de combinaisons par seconde.

Les deux grandes stratégies de Hydra

Hydra propose principalement deux approches complémentaires. De plus, elles peuvent être combinées selon le contexte :

  • L’attaque par dictionnaire : utilisation d’une liste de mots de passe courants (wordlist) plutôt que toutes les combinaisons possibles.
  • L’attaque par force brute pure : génération systématique de toutes les combinaisons de caractères possibles.

En pratique, l’attaque par dictionnaire est largement privilégiée. Elle est en effet beaucoup plus rapide, car elle cible les mots de passe réellement utilisés par les humains.


Présentation de Hydra

Hydra (ou THC-Hydra) est un outil open source développé pour tester la robustesse des authentifications réseau. Il est préinstallé sur Kali Linux et supporte plus de 50 protocoles différents.

Parmi les protocoles les plus testés, on retrouve notamment :

  • SSH (accès distant sécurisé)
  • FTP (transfert de fichiers)
  • HTTP/HTTPS (formulaires de connexion web)
  • RDP (bureau à distance Windows)
  • MySQL et PostgreSQL (bases de données)

Ainsi, Hydra permet d’auditer la sécurité de quasiment n’importe quel service exposé sur un réseau.

Lien externe vers la documentation officielle


Tutoriel pratique : utiliser Hydra étape par étape

Étape 1 : vérifier l’installation

Sur Kali Linux, Hydra est généralement déjà installé. Vérifiez sa présence avec la commande suivante :

hydra -h

Si l’outil n’est pas installé, utilisez cette commande sur Debian/Ubuntu :

sudo apt update && sudo apt install hydra -y

Étape 2 : préparer votre environnement de test

Avant toute chose, il est indispensable de disposer d’une cible légale. Vous pouvez, par exemple, installer une machine vulnérable comme Metasploitable 2 dans un réseau virtuel isolé.

Étape 3 : préparer une wordlist

Kali Linux embarque nativement une wordlist très connue nommée rockyou.txt. Décompressez-la si nécessaire :

sudo gzip -d /usr/share/wordlists/rockyou.txt.gz

Vous pouvez également créer votre propre liste personnalisée avec Crunch :

crunch 6 8 0123456789 -o wordlist.txt

Cette commande génère toutes les combinaisons numériques entre 6 et 8 caractères.

Étape 4 : lancer une attaque contre un service SSH

Voici la syntaxe de base pour attaquer un service SSH avec un nom d’utilisateur connu :

hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://192.168.1.50

Décortiquons cette commande pour bien comprendre chaque paramètre :

  • -l admin : spécifie le login unique à tester.
  • -P wordlist.txt : indique le fichier contenant les mots de passe à tester.
  • ssh://192.168.1.50 : définit le protocole et l’adresse IP cible.

Étape 5 : tester plusieurs logins simultanément

Si vous ne connaissez pas le nom d’utilisateur exact, utilisez une liste de logins avec l’option -L :

hydra -L users.txt -P rockyou.txt ssh://192.168.1.50

Par ailleurs, Hydra permet d’accélérer les tests grâce au multithreading :

hydra -L users.txt -P rockyou.txt -t 4 ssh://192.168.1.50

L’option -t 4 lance quatre tentatives en parallèle, ce qui réduit considérablement le temps d’exécution.

Étape 6 : attaquer un formulaire web

Hydra sait également cibler des formulaires HTTP. Voici un exemple contre une page de connexion classique :

hydra -l admin -P rockyou.txt 192.168.1.50 http-post-form "/login:user=^USER^&pass=^PASS^:Invalid credentials"

Ici, ^USER^ et ^PASS^ sont des variables remplacées automatiquement par Hydra. La chaîne finale indique le message d’erreur qui signale un échec de connexion.


Cas d’usage : audit d’un serveur SSH en environnement de lab

Prenons un scénario concret. Vous êtes chargé d’auditer la sécurité d’un serveur SSH interne, avec une autorisation explicite de votre client.

Premièrement, vous scannez le réseau avec Nmap pour confirmer que le port SSH est ouvert :

nmap -p 22 192.168.1.50

Ensuite, vous lancez Hydra avec une wordlist ciblée et un nombre de tentatives limité, afin d’éviter tout blocage du compte :

hydra -l admin -P top-passwords.txt -t 2 -W 30 ssh://192.168.1.50

L’option -W 30 ajoute un délai de 30 secondes entre chaque tentative. Ainsi, vous simulez une attaque réaliste tout en restant discret face aux systèmes de détection.

Enfin, si Hydra trouve une combinaison valide, il l’affiche clairement dans le terminal :

[22][ssh] host: 192.168.1.50   login: admin   password: password123

Ce résultat démontre concrètement la faiblesse du mot de passe testé. Par conséquent, vous recommandez à votre client d’imposer une politique de mots de passe plus stricte, couplée à une authentification à double facteur.


Comment se protéger contre les attaques brute force ?

Comprendre l’attaque permet naturellement de mieux s’en défendre. Voici les principales mesures à mettre en place :

  • Limiter le nombre de tentatives : utilisez Fail2ban pour bannir automatiquement une IP après plusieurs échecs.
  • Imposer des mots de passe robustes : minimum 12 caractères, avec majuscules, chiffres et symboles.
  • Activer l’authentification multifacteur (MFA) : même un mot de passe trouvé devient alors insuffisant.
  • Changer les ports par défaut : cela ne remplace pas une vraie sécurité, mais réduit le bruit des scans automatisés.

Ces mesures, combinées entre elles, rendent une attaque brute force beaucoup plus difficile à mener avec succès.


Conclusion

Vous savez désormais utiliser Hydra pour tester la robustesse d’une authentification réseau. Nous avons vu la théorie derrière l’attaque par force brute, puis une mise en pratique complète en ligne de commande. Enfin, vous connaissez les principales mesures défensives à mettre en place face à ce type de menace.

Cependant, gardez toujours à l’esprit que ces techniques doivent être utilisées exclusivement dans un cadre légal. N’hésitez pas à vous entraîner sur des plateformes dédiées comme TryHackMe ou HackTheBox.

Et vous, avez-vous déjà testé Hydra sur votre propre lab ? Partagez votre expérience en commentaire ! Pour continuer votre apprentissage, découvrez également notre article sur le FUZZING avec FFUF.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut