~/docs /Hydra

Hydra

Hydra

Imported from Notion: Hydra

updated:: 2026.07.10

Hydra

important

Hydra es una herramienta de password auditing y brute force para múltiples servicios de red. Se utiliza para pruebas autorizadas de seguridad, validación de credenciales y auditorías controladas. Soporta, entre otros, SSH y varios módulos HTTP como HTTP(S)-GET, HTTP(S)-FORM-GET y HTTP(S)-FORM-POST. (kali.org)

Instalación y verificación rápida

En Kali Linux, Hydra está disponible como paquete hydra y se puede instalar con:

sudo apt install hydra

Para revisar la sintaxis y los módulos disponibles:

hydra -h
validated

Usa -V para ver cada intento, -f para detenerte al encontrar credenciales válidas y -t para ajustar el número de hilos. En la documentación de Kali, -t aparece como TASKS dentro de la sintaxis general de Hydra. (kali.org)

Parámetros útiles

OpciónDescripción
-l <usuario>Usuario único
-L <archivo>Lista de usuarios
-p <password>Contraseña única
-P <archivo>Lista de contraseñas
-t <n>Número de hilos / tareas
-VMuestra intentos en tiempo real
-fSe detiene al encontrar una credencial válida
-s <puerto>Define un puerto no estándar
ssh://host[:puerto]Formato recomendado para el servicio SSH
http-getMódulo para autenticación HTTP básica o endpoint GET
http-get-formMódulo para formularios web con método GET
http-post-formMódulo para formularios web con método POST
tip

La forma general de uso de Hydra es:

hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-c TIME] [-ISOuvVd46] [-m MODULE_OPT] [service://server[:PORT][/OPT]]

Esto coincide con la documentación de Kali para Hydra. (kali.org)

Ejemplos

SSH: brute force al usuario root

hydra -l root -P /usr/share/seclists/Passwords/xato-net-10-million-passwords.txt ssh://IP:PUERTO -t 2 -v
warning

En muchas distribuciones la ruta correcta del wordlist es seclists con s minúscula: /usr/share/seclists/... o /usr/share/wordlists/..., según la instalación. Conviene verificar la ruta antes de ejecutar el comando.

Notas del comando:

  • -l root: prueba únicamente el usuario root

  • -P ...: usa un diccionario de contraseñas

  • ssh://IP:PUERTO: especifica el servicio SSH

  • -t 2: limita el número de tareas simultáneas

  • -v: muestra detalle del proceso

validated

Si el puerto SSH es el estándar, puedes omitirlo y usar simplemente ssh://IP.

Web: brute force a un panel de login en /webdav/

Si el acceso está protegido por autenticación HTTP básica o por un endpoint compatible con http-get, puedes usar:

hydra -L /usr/share/wordlists/metasploit/common_users.txt -P /usr/share/wordlists/metasploit/common_passwords.txt 10.2.23.36 http-get /webdav/

Qué hace este comando:

  • -L ...: prueba una lista de usuarios

  • -P ...: prueba una lista de contraseñas

  • 10.2.23.36: host objetivo

  • http-get: módulo de Hydra para peticiones GET

  • /webdav/: ruta objetivo

important

http-get suele encajar mejor con HTTP Basic Auth o mecanismos simples de autenticación en GET.
Si el objetivo es un formulario web con campos username y password, normalmente conviene usar http-get-form o http-post-form. Hydra soporta estos módulos HTTP, además de SSH y muchos otros servicios. (kali.org)

Ejemplo recomendado para formularios web

hydra -L users.txt -P passwords.txt 10.2.23.36 http-post-form "/login:username=^USER^&password=^PASS^:F=Invalid login"

Plantilla general:

  • ^USER^ se sustituye por el usuario actual

  • ^PASS^ se sustituye por la contraseña actual

  • F=... indica el texto de fallo que devuelve el sitio

validated

Para afinar ataques web, suele ser útil identificar antes:

  • URL exacta del formulario
  • Método GET o POST
  • Campo de error que devuelve la aplicación
  • Cookies o tokens anti-CSRF
  • Redirecciones tras login correcto

Flujo de trabajo recomendado

  1. Identifica el servicio y el puerto.

  2. Comprueba si el objetivo usa autenticación básica, formulario web o un mecanismo más complejo.

  3. Elige el módulo correcto de Hydra.

  4. Empieza con pocas tareas (-t 2 o -t 4) para evitar ruido innecesario.

  5. Ajusta el wordlist según el contexto.

  6. Detén la prueba cuando consigas una credencial válida.

Ejemplos rápidos de referencia

CasoMóduloEjemplo
SSHsshhydra -l root -P passwords.txt ssh://IP -t 2 -v
HTTP Basic Authhttp-gethydra -L users.txt -P passwords.txt IP http-get /ruta/
Formulario con GEThttp-get-formhydra -L users.txt -P passwords.txt IP http-get-form "/login:..."
Formulario con POSThttp-post-formhydra -L users.txt -P passwords.txt IP http-post-form "/login:..."

Buenas prácticas

  • Usa Hydra solo en entornos donde tengas autorización explícita.

  • Evita listas masivas si una prueba más acotada es suficiente.

  • Registra siempre:

    • objetivo

    • fecha

    • módulo usado

    • diccionario empleado

    • resultado

critical

Un exceso de hilos puede provocar bloqueos de cuenta, rate limiting o alertas en sistemas de monitoreo. Ajusta -t con prudencia.

- EOF -