Descubre todo lo que necesitas saber sobre los ataques por fuerza bruta con Hydra, una herramienta poderosa para probar la seguridad de las contraseñas. Aprende cómo funciona, sus usos, su legalidad y cómo protegerte.
¿Qué es un Ataque por Fuerza Bruta con Hydra?
Ataque por Fuerza Bruta:
Un ataque por fuerza bruta es un método usado para adivinar información sensible, como contraseñas o claves de cifrado, probando sistemáticamente todas las combinaciones posibles hasta encontrar la correcta.
Hydra:
Hydra, también conocido como THC-Hydra, es una herramienta de código abierto diseñada para realizar ciberataques por fuerza bruta en varios protocolos y servicios. Su objetivo principal es probar los mecanismos de autenticación adivinando las credenciales de inicio de sesión (nombres de usuario y contraseñas) a través de múltiples combinaciones.
Hydra se destaca por su versatilidad, ya que admite una amplia gama de protocolos como HTTP, FTP, SSH, RDP, MySQL y muchos más. Esta herramienta es ampliamente utilizada por profesionales de la ciberseguridad para identificar las debilidades de los sistemas de autenticación y fortalecer la seguridad de las redes.
La herramienta de hacking Hydra permite realizar dos tipos de ataques informáticos:
- Ataques por fuerza bruta: consisten en probar una gran cantidad de combinaciones de caracteres hasta encontrar la contraseña correcta.
- Ataques por diccionario: variante del ataque por fuerza bruta que consiste en probar una lista determinada de contraseñas hasta encontrar la correcta.
Este tipo de ataque puede tardar en dar resultados, especialmente si la contraseña buscada es particularmente compleja. La ventaja del software Hydra es que automatiza este proceso. Además, esta herramienta permite el multithreading: puede realizar varios intentos de conexión simultáneamente, lo que ahorra aún más tiempo durante las pruebas de penetración.
¿Cómo funciona BruteForce Hydra?
Hydra funciona probando sistemáticamente combinaciones de nombres de usuario y contraseñas hasta encontrar la pareja correcta. Estas son las etapas clave de su funcionamiento:
- Selección del protocolo: Hydra permite apuntar a servicios específicos (como SSH, FTP o HTTP) según el protocolo elegido.
- Uso de listas de contraseñas: La herramienta utiliza archivos de diccionarios (wordlists) que contienen contraseñas comunes o personalizadas para aumentar las posibilidades de éxito.
- Ataques paralelizados: Hydra puede lanzar varios intentos de conexión simultáneamente, lo que acelera considerablemente el proceso de fuerza bruta.
- Flexibilidad: Ofrece opciones avanzadas como la gestión de sesiones, el soporte de proxies y varios modos de autenticación.
Por ejemplo, un comando típico para atacar un servicio SSH se vería así:
hydra -l admin -P contraseñas.txt ssh://192.168.1.1
Este comando intenta adivinar la contraseña del usuario “admin” usando una lista de contraseñas almacenada en contraseñas.txt
.
Cómo Trabajar con Hydra
Veamos cómo trabajar con Hydra. Recorreremos los formatos y opciones comunes que Hydra ofrece para la fuerza bruta de nombres de usuario y contraseñas. Esto incluye ataques de un solo nombre de usuario/contraseña, ataques de password spraying y ataques de diccionario.
Si has instalado Hydra, puedes comenzar con el comando de ayuda de esta manera:
hydra -h
Esto te dará la lista de indicadores y opciones que puedes usar como referencia cuando trabajes con Hydra.
- Cómo realizar un ataque de un solo nombre de usuario/contraseña con Hydra
Comencemos con un ataque simple. Si tenemos el nombre de usuario y la contraseña que esperamos que tenga un sistema, podemos usar Hydra para probarlo.
Aquí está la sintaxis:
hydra -l <nombre_de_usuario> -p <contraseña> <servidor> <servicio>
Supongamos que tenemos un usuario llamado “molly” con una contraseña de “butterfly” alojado en 10.10.137.76. Aquí te mostramos cómo podemos usar Hydra para probar las credenciales para SSH:
$ hydra -l molly -p butterfly 10.10.137.76 ssh
Si funciona, así es como se verá el resultado:

- Cómo realizar un ataque de password spraying con Hydra
¿Qué pasa si sabemos una contraseña que alguien está usando, pero no estamos seguros de quién es? Podemos usar un ataque de password spraying para determinar el nombre de usuario.
Un ataque de password spraying es donde usamos una sola contraseña y la ejecutamos contra varios usuarios. Si alguien está usando la contraseña, Hydra encontrará la coincidencia por nosotros.
Este ataque asume que conocemos una lista de usuarios en el sistema. Para este ejemplo, crearemos un archivo llamado usuarios.txt
con los siguientes usuarios:
root
admin
user
molly
steve
richard
Ahora vamos a probar quién tiene la contraseña “butterfly”. Aquí te mostramos cómo podemos ejecutar un ataque de password spraying usando Hydra.
$ hydra -L usuarios.txt -p butterfly 10.10.137.76 ssh
Obtendremos un resultado similar a la siguiente salida si alguno de los usuarios coincide con la contraseña dada. También deberías notar que hemos usado el indicador -L
en lugar de -l
. -l
es para un solo nombre de usuario y -L
es para una lista de nombres de usuario.

- Cómo realizar un ataque de diccionario con Hydra
Veamos cómo realizar un ataque de diccionario. En escenarios del mundo real, esto es lo que usaremos con Hydra regularmente.
Un ataque de diccionario es donde tenemos uno o varios nombres de usuario y proporcionamos una lista de palabras de contraseña a Hydra. Luego, Hydra prueba todas estas contraseñas contra cada usuario de la lista.
Voy a usar la lista de palabras Rockyou para este ejemplo junto con el archivo usuarios.txt
que creamos en el ataque anterior. Si estás usando Kali Linux, puedes encontrar la lista de palabras RockYou en /usr/share/wordlists/rockyou.txt
. O también, puedes consultar: Diccionario de Hacking: Dónde Conseguirlos, Descargarlos o Crearlos
Aquí está el comando para un ataque de diccionario:
$ hydra -L usuarios.txt -P /usr/share/wordlists/rockyou.txt 10.10.137.76 ssh
Si este ataque tiene éxito, veremos un resultado similar a los otros dos comandos. Hydra resaltará las combinaciones exitosas de nombre de usuario/contraseña en verde para todas las coincidencias.
- Cómo usar los indicadores de verbosidad y depuración en Hydra
Hydra puede ser terriblemente silencioso cuando ejecuta ataques de fuerza bruta grandes. Si tenemos que asegurarnos de que Hydra está haciendo lo que se espera que haga, hay dos indicadores que podemos usar.
El indicador de verbosidad (-v
) nos mostrará el intento de inicio de sesión para cada combinación de nombre de usuario/contraseña. Esto puede ser demasiado cuando hay muchas combinaciones que recorrer, pero si es algo que necesitas, podemos usar el indicador de verbosidad.
Aquí hay un ejemplo de resultado. Podemos ver que Hydra imprime información sobre intentos fallidos además de las coincidencias exitosas.

También podemos usar el indicador de depuración (-d
) para recopilar aún más información. Aquí está el mismo resultado al usar el indicador de depuración:

Podemos ver que Hydra imprime mucha más información de la que necesitamos. Solo usaremos el modo de depuración raramente, pero es bueno saber que tenemos la opción de observar cada acción que realiza Hydra cuando fuerza bruta un servicio.
- Cómo guardar tus resultados en Hydra
Veamos cómo guardar resultados. No tiene sentido pasar horas descifrando una contraseña y perderla debido a un fallo del sistema.
Podemos usar el indicador -o
y especificar un nombre de archivo para guardar el resultado. Aquí está la sintaxis.
$ hydra -l <nombre_de_usuario> -p <contraseña> <ip> <servicio> -o <archivo.txt>
Más indicadores y formatos
Hydra también ofrece algunos indicadores y formatos adicionales que nos serán útiles como pentesters. Aquí hay algunos:
- Especificación de servicio: En lugar de especificar el servicio por separado, podemos usarlo con la dirección IP. Por ejemplo, para realizar fuerza bruta en SSH, podemos usar el siguiente comando:
$ hydra -l <nombre_de_usuario> -p <contraseña> ssh://<ip>
- Cómo reanudar ataques: Si la sesión de Hydra finaliza cuando un ataque está en progreso, podemos reanudar el ataque usando el indicador
-R
en lugar de comenzar desde cero.
$ hydra -R
- Cómo usar puertos personalizados: A veces, los administradores del sistema cambiarán los puertos predeterminados para el servicio. Por ejemplo, FTP puede ejecutarse en el puerto 3000 en lugar de su puerto predeterminado 21. En esos casos, podemos especificar puertos usando el indicador
-s
.
$ hydra -l <nombre_de_usuario> -p <contraseña> <ip> <servicio> -s <puerto>
- Cómo atacar múltiples hosts: ¿Qué pasa si tenemos múltiples hosts para atacar? Fácil, podemos usar el indicador
-M
. El archivohosts.txt
contendrá una lista de direcciones IP o hosts en lugar de una sola dirección IP.
$ hydra -l <nombre_de_usuario> -p <contraseña> -M <archivo_hosts.txt> <servicio>
- Combinaciones específicas: Si tenemos una lista de nombres de usuario y contraseñas, podemos implementar un ataque de diccionario. Pero si tenemos más información sobre qué nombres de usuario probablemente tengan un conjunto de contraseñas, podemos preparar una lista personalizada para Hydra.
Por ejemplo, podemos crear una lista de nombres de usuario y contraseñas separados por puntos y comas como la que se muestra a continuación.
nombre_de_usuario1:contraseña1
nombre_de_usuario2:contraseña2
nombre_de_usuario3:contraseña3
Luego, podemos usar el indicador -C
para decirle a Hydra que ejecute estas combinaciones específicas en lugar de recorrer todos los usuarios y contraseñas. Esto reduce drásticamente el tiempo que lleva completar un ataque de fuerza bruta.
Aquí está la sintaxis.
$ hydra -C <combinaciones.txt> <ip> <servicio>
¿Quién usa BruteForce Hydra?
Hydra es usado principalmente por pentesters; estos profesionales de la ciberseguridad usan Hydra para evaluar la solidez de los sistemas de autenticación en el marco de pruebas de penetración autorizadas.
Los administradores del sistema también pueden usarlo para probar la seguridad de sus propias redes e identificar contraseñas débiles. Para los investigadores de seguridad, Hydra es una herramienta valiosa para estudiar las vulnerabilidades de los protocolos de autenticación.
Sin embargo, Hydra también puede ser usado con fines malintencionados por hackers que buscan acceder ilegalmente a sistemas.
¿Es legal usar Hydra?
La legalidad del uso de Hydra depende del contexto y de la intención del usuario. Si tienes la autorización explícita del propietario del sistema para realizar pruebas de seguridad, el uso de Hydra es perfectamente legal.
Sin embargo, usar Hydra para acceder a sistemas sin autorización es ilegal y se considera cibercrimen, punible por la ley.
Por lo tanto, es esencial obtener siempre una autorización escrita antes de usar esta herramienta.
¿Cómo protegerse contra un ataque por fuerza bruta?
Para proteger tus sistemas contra ataques por fuerza bruta como los llevados a cabo por Hydra, es necesario adoptar ciertas buenas prácticas, especialmente usando contraseñas fuertes; evita contraseñas simples y comunes. Opta por combinaciones complejas y únicas.
Además, para protegerte, limita los intentos de conexión e implementa mecanismos que bloqueen las cuentas después de un cierto número de intentos fallidos.
Para añadir una capa de seguridad adicional, puedes activar la autenticación de dos factores (2FA) para dificultar el acceso no autorizado, y monitorear los registros, analizando regularmente los diarios de acceso para detectar actividades sospechosas.
Por supuesto, usa firewalls e IDS/IPS, ya que estas herramientas pueden detectar y bloquear ataques por fuerza bruta en tiempo real.
Conclusión
Hydra es una herramienta poderosa y versátil para probar la seguridad de los sistemas de autenticación. Aunque es ampliamente usada por profesionales de la ciberseguridad, su uso debe estar siempre enmarcado por autorizaciones legales para evitar cualquier abuso.
Comprendiendo su funcionamiento e implementando medidas de protección adecuadas, puedes fortalecer la seguridad de tus sistemas y reducir los riesgos de ataques por fuerza bruta. Seas administrador de sistemas, pentester o simplemente un usuario preocupado por su seguridad, Hydra sigue siendo una herramienta fundamental en el arsenal de pruebas de seguridad.