Hydra es una herramienta versátil que puede atacar por fuerza bruta una amplia gama de servicios, incluyendo aplicaciones web, servicios de inicio de sesión remoto como SSH y FTP, bases de datos...
Tareas: define la cantidad de tareas paralelas (subprocesos) a ejecutar, lo que potencialmente acelerará el ataque.
hydra -t 4 ...
-f
Modo rápido: detiene el ataque después de encontrar el primer inicio de sesión exitoso.
hydra -f ...
-s PUERTO
Puerto: especifique un puerto no predeterminado para el servicio de destino.
hydra -s 2222 ...
-v o -V
Salida detallada: muestra información detallada sobre el progreso del ataque, incluidos los intentos y los resultados.
hydra -v ... o hydra -V ...(para mayor verbosidad)
service://server
Objetivo: especifique el servicio (por ejemplo, ssh, http, ftp) y la dirección o el nombre de host del servidor de destino.
hydra ssh://192.168.1.100
/OPT
Opciones específicas del servicio: proporcione cualquier opción adicional requerida por el servicio de destino.
hydra http-get://example.com/login.php -m "POST:user=^USER^&pass=^PASS^"(para autenticación basada en formulario HTTP)
Servicios Hydra
Los servicios de Hydra definen esencialmente los protocolos o servicios específicos a los que Hydra puede acceder. Permiten que Hydra interactúe con diferentes mecanismos de autenticación utilizados por diversos sistemas, aplicaciones y servicios de red. Cada módulo está diseñado para comprender los patrones de comunicación y los requisitos de autenticación de un protocolo específico, lo que permite a Hydra enviar solicitudes de inicio de sesión adecuadas e interpretar las respuestas. A continuación, se muestra una tabla de servicios de uso común:
Servicio
Servicio/Protocolo
Descripción
Comando de ejemplo
FTP
Protocolo de transferencia de archivos (FTP)
Se utiliza para forzar las credenciales de inicio de sesión para servicios FTP, comúnmente utilizados para transferir archivos a través de una red.
Ataca servidores de correo electrónico mediante la fuerza bruta de las credenciales de inicio de sesión para SMTP, comúnmente utilizadas para enviar correos electrónicos.
Imagina que te encargan probar la seguridad de un sitio web mediante autenticación HTTP básica en www.example.com. Tienes una lista de posibles nombres de usuario almacenados en usernames.txty sus correspondientes contraseñas en passwords.txt. Para lanzar un ataque de fuerza bruta contra este servicio HTTP, usa el siguiente comando de Hydra:
Utilice la lista de nombres de usuario del archivo usernames.txt.
Utilice la lista de contraseñas del archivo passwords.txt.
Apunte al sitio web www.example.com.
Utilice el módulo http-get para probar la autenticación HTTP.
Hydra probará sistemáticamente cada combinación de nombre de usuario y contraseña en el sitio web de destino para descubrir un inicio de sesión válido.
Bruteforce de múltiples servidores SSH
Imagine una situación en la que ha identificado varios servidores que podrían ser vulnerables a ataques de fuerza bruta SSH. Compila sus direcciones IP en un archivo llamado targets.txt y sabe que estos servidores podrían usar el nombre de usuario predeterminado "root" y la contraseña "toor". Para probar eficazmente todos estos servidores simultáneamente, use el siguiente comando de Hydra:
Apunte a todas las direcciones IP enumeradas en el archivo targets.txt.
Utilice el módulo ssh para el ataque.
Hydra ejecutará intentos de fuerza bruta paralelos en cada servidor, acelerando significativamente el proceso.
Bruteforce de FTP en un puerto no estándar
Imagina que necesitas evaluar la seguridad de un servidor FTP alojado en ftp.example.com, que opera en un puerto no estándar 2121. Tienes listas de posibles nombres de usuario y contraseñas almacenadas en usernames.txty passwords.txt, respectivamente. Para probar estas credenciales con el servicio FTP, usa el siguiente comando de Hydra:
Utilice la lista de nombres de usuario usernames.txt.
Utilice la lista de contraseñas passwords.txt.
Apunte al servicio FTP ftp.example.com a través del puerto 2121.
Utilice el módulo ftp y proporcione una salida detallada (-V) para un monitoreo detallado.
Hydra intentará hacer coincidir cada combinación de nombre de usuario y contraseña con el servidor FTP en el puerto especificado.
Bruteforce de formulario de inicio de sesión web
Supongamos que se le solicita que ataque por fuerza bruta un formulario de inicio de sesión en una aplicación web en www.example.com. Sabe que el nombre de usuario es "admin" y que los parámetros del formulario de inicio de sesión son user=^USER^&pass=^PASS^. Para realizar este ataque, use el siguiente comando de Hydra:
Apunte al formulario de inicio de sesión /login en www.example.com.
Utilice el módulo http-post-form con los parámetros de formulario especificados.
Busque un inicio de sesión exitoso indicado por el código de estado HTTP 302.
Hydra intentará sistemáticamente cada contraseña para la cuenta "admin", verificando la condición de éxito especificada.
Bruteforce avanzado de RDP
Ahora, imagina que estás probando un servicio de Protocolo de Escritorio Remoto (RDP) en un servidor con IP 192.168.1.100. Sospechas que el nombre de usuario es "administrator" y que la contraseña consta de 6 a 8 caracteres, incluyendo minúsculas, mayúsculas y números. Para ejecutar este ataque, usa el siguiente comando de Hydra: