Hola hacketones! Bienvenidos a un nuevo CTF para la Certificación SEC1 de la ruta Cyber Security 101 de TryHackMe – Hydra
Tarea 1 Introducción a Hydra
Qué es Hidra?
HidraEs un programa de fuerza bruta para descifrar contraseñas en línea, una herramienta rápida para «hackear» contraseñas de inicio de sesión de sistemas.
Hidra puede recorrer una lista y “forzar por fuerza bruta” algunos servicios de autenticación. Imagínese intentar adivinar manualmente la contraseña de alguien en un servicio en particular podemos usar Hidra para revisar una lista de contraseñas y agilizar este proceso, determinando así la contraseña correcta.
Esto demuestra la importancia de usar una contraseña segura; si tu contraseña es común, no contiene caracteres especiales y no tiene más de ocho caracteres, será fácil de adivinar. Una lista de cien millones de contraseñas contiene contraseñas comunes, así que si una aplicación viene con una contraseña fácil de usar para iniciar sesión, ¡cámbiala! Las cámaras de videovigilancia y los frameworks web suelen usar admin:passwordcredenciales de inicio de sesión predeterminadas que, obviamente, no son lo suficientemente seguras.
Tarea 2 Usando Hydra
Hidra Ya está instalado en AttackBox. Sin embargo, puedes consultar sus repositorios oficiales si prefieres usar otra distribución de Linux. Por ejemplo, puedes instalar Hydra en un sistema Ubuntu o Fedora ejecutando apt install hydrao dnf install hydra. Además, puedes descargarlo desde su repositorio oficial.
Comandos
Las opciones que pasamos aHidraDepende del servicio (protocolo) que estemos atacando. Por ejemplo, si quisiéramos realizar un ataque de fuerza bruta a FTP con el nombre de usuario usery la lista de contraseñas passlist.txt, usaríamos el siguiente comando:
hydra -l user -P passlist.txt ftp://MACHINE_IP
Para esta máquina desplegada, aquí están los comandos a utilizarHidramediante SSH y un formulario web (método POST).
SSH
hydra -l <username> -P <full path to pass> MACHINE_IP -t 4 ssh
| Opción | Descripción |
| -l | especifica el nombre de usuario (SSH) para iniciar sesión |
| -P | indica una lista de contraseñas |
| -t | establece el número de hilos a crear |
Por ejemplo, hydra -l root -P passwords.txt MACHINE_IP -t 4 sshse ejecutará con los siguientes argumentos:
- Hidrausaré rootcomo nombre de usuario parassh
- Intentará usar las contraseñas del passwords.txtarchivo.
- Habrá cuatro hilos ejecutándose en paralelo como se indica por-t 4
Formulario web de publicación
También podemos usar Hydra para realizar ataques de fuerza bruta a formularios web. Es necesario saber qué tipo de solicitud se está realizando; los métodos GET o POST son los más comunes. Puedes usar la pestaña de red de tu navegador (en las herramientas para desarrolladores) para ver los tipos de solicitud o consultar el código fuente.
sudo hydra <username> <wordlist> MACHINE_IP http-post-form «<path>:<login_credentials>:<invalid_response>»
| Opción | Descripción |
| -l | el nombre de usuario para iniciar sesión (en el formulario web) |
| -P | la lista de contraseñas a utilizar |
| http-post-form | El tipo de formulario es POST |
| <path> | la URL de la página de inicio de sesión, por ejemplo,login.php |
| <login_credentials> | el nombre de usuario y la contraseña utilizados para iniciar sesión, por ejemplo,username=^USER^&password=^PASS^ |
| <invalid_response> | parte de la respuesta cuando falla el inicio de sesión |
| -V | Salida detallada para cada intento |
A continuación se muestra un ejemplo más concreto de comando Hydra para realizar un ataque de fuerza bruta a un formulario de inicio de sesión POST:
hydra -l <username> -P <wordlist> MACHINE_IP http-post-form «/:username=^USER^&password=^PASS^:F=incorrect» -V
- La página de inicio de sesión es solo /, es decir, la dirección IP principal.
- Este usernamees el campo del formulario donde se ingresa el nombre de usuario.
- El/los nombre(s) de usuario especificado(s) reemplazará(n)^USER^
- Este passwordes el campo del formulario donde se introduce la contraseña.
- Las contraseñas proporcionadas serán reemplazadas^PASS^
- Finalmente, F=incorrectes una cadena que aparece en la respuesta del servidor cuando falla el inicio de sesión.
Como nota aparte, si el servidor web está escuchando en un número de puerto que no es el predeterminado, puede especificar explícitamente el número de puerto usando -s <port>, por ejemplo:
hydra -l <username> -P <wordlist> MACHINE_IP http-post-form «/:username=^USER^&password=^PASS^:F=incorrect» -s <port> -V
¡Ahora deberías tener suficiente información para poner esto en práctica y realizar un ataque de fuerza bruta contra tus credenciales en la máquina desplegada!
Responda las siguientes preguntas
Utiliza Hydra para descifrar la contraseña web de Molly mediante fuerza bruta. ¿Cuál es el valor de la bandera 1?
THM{2673a7dd116de68e85c48ec0b1f2612e}
Utiliza Hydra para realizar un ataque de fuerza bruta a la contraseña SSH de Molly. ¿Cuál es el valor de la bandera 2?
THM{c8eeb0468febbadea859baeb33b2541b}
Sigan entrenando, Hacketones, Nos vemos en el próximo laboratorio!!!