Hydra

tools

Hydra (o THC Hydra) es un programa de fuerza bruta paralelizado para romper contraseñas de red, disponible en sistemas operativos como Kali Linux, Parrot, entre otros entornos de pruebas de penetración importantes. Hydra funciona utilizando diferentes métodos para realizar ataques de fuerza bruta con el fin de adivinar combinaciones correctas de usuario y contraseña. Los pentesters suelen usar Hydra junto a otros programas como crunch o cupp, que ayudan a generar listas de contraseñas.

Protocolos compatibles

Hydra soporta muchos protocolos comunes de inicio de sesión, como:

  • Formularios web

  • FTP

  • SMB

  • POP3

  • IMAP

  • MySQL

  • VNC

  • SSH

  • HTTP(S)

  • Y muchos más.

Sintaxis de uso de Hydra:

bashCopiarEditarhydra [[[-l LOGIN|-L ARCHIVO] [-p PASS|-P ARCHIVO]] | [-C ARCHIVO]] [opciones] servicio://servidor[:PUERTO][/OPCIONES]

explicación:

Opción
Explicación

-R

Restaura una sesión previa que se haya abortado o caído.

-I

Ignora un archivo de restauración existente (no espera 10 segundos).

-S

Fuerza conexión SSL/TLS.

-s PUERTO

Define un puerto si el servicio usa uno diferente del estándar.

-l LOGIN

Especifica un único nombre de usuario.

-L ARCHIVO

Usa un archivo que contiene múltiples usuarios.

-p PASS

Especifica una contraseña.

-P ARCHIVO

Usa un archivo que contiene múltiples contraseñas.

-x MIN:MAX:CHARSET

Genera contraseñas automáticamente (longitud mínima, máxima y conjunto de caracteres).

-y

Desactiva símbolos en la generación de contraseñas.

-r

Usa un método de mezcla no aleatorio en la opción -x.

-e nsr

Prueba contraseñas nulas (n), login como password (s) y login invertido como password (r).

-u

Repite sobre usuarios primero en lugar de contraseñas (mejora el rendimiento, se usa automáticamente con -x).

-C ARCHIVO

Archivo con formato usuario:contraseña, evita usar -L y -P.

-M ARCHIVO

Lista de múltiples objetivos (uno por línea). Se puede especificar el puerto usando :.

-o ARCHIVO

Guarda usuarios/contraseñas encontrados en un archivo en vez de mostrarlos en pantalla.

-b FORMATO

Formato del archivo de salida (text por defecto, también json, jsonv1).

-f

Sale cuando encuentra una combinación correcta (por host si se usa -M).

-F

Sale globalmente al encontrar la primera combinación correcta (afecta todos los hosts).

-t TAREAS

Número de conexiones paralelas por objetivo (por defecto 16).

-T TAREAS

Número de conexiones paralelas en total (solo si se usa -M, por defecto 64).

-w TIEMPO

Tiempo máximo de espera para una respuesta (por defecto 32 segundos).

-W TIEMPO

Tiempo de espera entre conexiones por hilo (por defecto 0 segundos).

-c TIEMPO

Tiempo máximo por intento de login, fuerza -t 1.

-4

Usa direcciones IPv4 (por defecto).

-6

Usa direcciones IPv6 (requerido entre corchetes [ ]).

-v

Modo verbose: muestra más detalles.

-V

Muestra el usuario y contraseña en cada intento.

-d

Modo debug, para depuración detallada.

-O

Usa protocolos SSL antiguos (SSL v2 o v3).

-K

No repite intentos fallidos (útil para escaneo masivo).

-q

No imprime errores de conexión.

-U

Muestra detalles de uso del módulo de servicio.

-m OPCION

Pasa opciones específicas al módulo de servicio.

-h

Muestra la ayuda completa de la línea de comandos.


  • Servidor: el objetivo (DNS, IP o red CIDR como 192.168.0.0/24).

  • Servicio: protocolo que se quiere atacar (ej: ssh, ftp, http, etc.).

  • Opciones adicionales: algunas configuraciones adicionales específicas de servicios.

Servicios compatibles:

  • FTP/FTPS

  • HTTP/HTTPS (GET, POST, formularios)

  • SSH/SSHKEY

  • SMB

  • POP3S

  • IMAPS

  • VNC

  • Redis

  • MongoDB

  • Postgres

  • SIP

  • RDP

  • LDAP2, LDAP3

  • IRC

  • XMPP

  • Y otros.

Y se pueden definir proxies para el ataque:

bashCopiarEditarexport HYDRA_PROXY=socks5://usuario:contraseña@127.0.0.1:9150
export HYDRA_PROXY_HTTP=http://usuario:contraseña@proxy:8080

Last updated