
hydra
H Y D R A
(c) 2001-2023 par van Hauser / THC
<[email protected]> https://github.com/vanhauser-thc/thc-hydra
De nombreux modules ont été écrits par David (dot) Maciejak @ gmail (dot) com
Code BFG par Jan Dlabal <[email protected]>
Sous licence AGPLv3 (voir fichier LICENSE)
Veuillez ne pas utiliser dans les organisations militaires ou de services secrets,
ni à des fins illégales.
(C'est le souhait de l'auteur et non contraignant. De nombreuses personnes travaillent
dans ces organisations ne se soucient de toute façon pas des lois et de l'éthique.
Vous n'êtes pas l'un des « bons » si vous ignorez cela.)
NOTE : Non, ce n'est pas censé être un document markdown ! à l'ancienne !
Hydra dans l'état le plus actuel de GitHub peut être téléchargé directement via Docker :``` docker pull vanhauser/hydra
INTRODUCTION
------------
L'un des plus grands trous de sécurité sont les mots de passe, comme chaque étude
de sécurité sur les mots de passe le démontre.
Cet outil est un code de preuve de concept destiné à permettre aux chercheurs et
consultants en sécurité de montrer à quel point il serait facile d'obtenir un accès
non autorisé à distance à un système.
CET OUTIL EST UNIQUEMENT À DES FINS LÉGALES !
Il existe déjà plusieurs outils de cassage de mots de passe pour les connexions ; cependant, aucun d'entre eux
ne prend en charge plus d'un protocole à attaquer ou ne permet des connexions
parallélisées.
Il a été testé pour compiler proprement sur Linux, Windows/Cygwin, Solaris,
FreeBSD/OpenBSD, QNX (Blackberry 10) et MacOS.
Actuellement, cet outil prend en charge les protocoles suivants :
Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP,
HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-POST, HTTP-PROXY,
HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTPS-POST,
HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MEMCACHED, MONGODB, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener,
Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, Radmin, RDP, Rexec, Rlogin,
Rsh, RTSP, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5,
SSH (v1 et v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth,
VNC et XMPP.
Cependant, le moteur de modules pour les nouveaux services est très simple, donc il ne faudra pas
longtemps avant que davantage de services soient pris en charge.
Votre aide pour écrire, améliorer ou corriger les modules est grandement appréciée !! :-)
OÙ SE PROCURER
------------
Vous pouvez toujours trouver la version finale/stable la plus récente de Hydra sur sa
page du projet à https://github.com/vanhauser-thc/thc-hydra/releases
Si vous êtes intéressé par l'état de développement actuel, le dépôt de développement public
est sur GitHub :
svn co https://github.com/vanhauser-thc/thc-hydra
ou
git clone https://github.com/vanhauser-thc/thc-hydra
Utilisez la version de développement à vos propres risques. Elle contient de nouvelles fonctionnalités et
de nouveaux bugs. Certaines choses peuvent ne pas fonctionner !
Alternativement (et plus simplement), vous pouvez l'extraire en tant que conteneur Docker :```
docker pull vanhauser/hydra
Pour configurer, compiler et installer Hydra, il suffit de taper :``` ./configure make make install
Si vous voulez le module SSH, vous devez mettre en place libssh (pas libssh2!) sur votre
système, obtenez-le depuis https://www.libssh.org, pour le support ssh v1 vous devez également
ajouter l'option "-DWITH_SSH1=On" dans la ligne de commande cmake.
IMPORTANT : Si vous compilez sur macOS, vous devez faire ceci - n'installez pas libssh via Homebrew.
Si vous utilisez Ubuntu/Debian, cela installera les bibliothèques supplémentaires nécessaires
pour quelques modules optionnels (notez que certains peuvent ne pas être disponibles sur votre distribution) :```
apt-get install libssl-dev libssh-dev libidn11-dev libpcre3-dev \
libgtk-3-dev libmysqlclient-dev libpq-dev libsvn-dev \
firebird-dev libmemcached-dev libgpg-error-dev \
libgcrypt11-dev libgcrypt20-dev freetds-dev
Cela active tous les modules et fonctionnalités optionnels, à l'exception d'Oracle, SAP R/3, NCP et du protocole de classement Apple - que vous devrez télécharger et installer depuis les sites Web des fournisseurs.
Pour tous les autres dérivés Linux et systèmes basés sur BSD, utilisez le gestionnaire de logiciels système et recherchez des bibliothèques portant un nom similaire, comme dans la commande ci-dessus. Dans tous les autres cas, vous devez télécharger toutes les bibliothèques sources et les compiler manuellement.
Si vous tapez simplement hydra, un bref résumé des options importantes
disponibles s'affiche.
Tapez ./hydra -h pour voir toutes les options de la ligne de commande.
Notez qu'aucun fichier de login/mot de passe n'est inclus. Générez-les vous-même. Une liste de mots de passe par défaut est cependant présente ; utilisez « dpl4hydra.sh » pour générer une liste.
Pour les utilisateurs Linux, une interface graphique GTK est disponible ; essayez ./xhydra
Pour l'utilisation en ligne de commande, la syntaxe est la suivante : Pour attaquer une seule cible ou un réseau, vous pouvez utiliser le nouveau style « :// » : hydra [some command line options] PROTOCOL://TARGET:PORT/MODULE-OPTIONS L'ancien mode peut également être utilisé pour cela, et en plus, si vous souhaitez spécifier vos cibles à partir d'un fichier texte ; vous devez utiliser celui-ci :``` hydra [some command line options] [-s PORT] TARGET PROTOCOL [MODULE-OPTIONS]
Via les options de la ligne de commande, vous spécifiez quels identifiants essayer, quels mots de passe,
si SSL doit être utilisé, combien de tâches parallèles doivent être utilisées pour l'attaque, etc.
PROTOCOL est le protocole que vous souhaitez utiliser pour l'attaque, par ex., ftp, SMTP,
http-get ou bien d'autres sont disponibles
TARGET est la cible que vous souhaitez attaquer
MODULE-OPTIONS sont des valeurs optionnelles propres à chaque module PROTOCOL
PREMIÈREMENT – sélectionnez votre cible
Vous avez trois options pour spécifier la cible que vous souhaitez attaquer :
1. Une cible unique sur la ligne de commande : il suffit de mettre l'adresse IP ou DNS
2. Une plage réseau sur la ligne de commande : spécification CIDR comme "192.168.0.0/24"
3. Une liste d'hôtes dans un fichier texte : une ligne par entrée (voir ci-dessous)
DEUXIÈMEMENT – sélectionnez votre protocole
Essayez d'éviter telnet, car il n'est pas fiable pour détecter une tentative de connexion correcte ou erronée.
Utilisez un scanner de ports pour voir quels protocoles sont activés sur la cible.
TROISIÈMEMENT – vérifiez si le module a des paramètres optionnels
hydra -U PROTOCOL
ex. hydra -U smtp
QUATRIÈMEMENT – le port de destination
Ceci est optionnel ; si aucun port n'est fourni, le port par défaut courant pour le
PROTOCOL est utilisé.
Si vous spécifiez l'utilisation de SSL (option "-S"), le port SSL par défaut est utilisé.
Si vous utilisez la notation "://", vous devez utiliser des crochets "[" "]" si vous souhaitez fournir
des adresses IPv6 ou des notations CIDR ("192.168.0.0/24") pour attaquer :
hydra [some command line options] ftp://[192.168.0.0/24]/
hydra [some command line options] -6 smtps://[2001:db8::1]/NTLM
Notez que tout ce que fait Hydra est uniquement IPv4 !
Si vous souhaitez attaquer des adresses IPv6, vous devez ajouter l'option de ligne de commande "-6".
Toutes les attaques sont alors uniquement IPv6 !