Introducción
En este laboratorio, aprenderás a utilizar el modo detallado (verbose) de Hydra para obtener más información sobre el proceso de descifrado de contraseñas. El laboratorio se centra en demostrar diferentes niveles de detalle al realizar un ataque FTP.
Primero, ejecutarás un ataque básico de inicio de sesión FTP contra un objetivo ficticio (127.0.0.1) sin salida detallada, utilizando listas de nombres de usuario y contraseñas creadas en tu directorio ~/project (users.txt y passwords.txt). Luego, volverás a ejecutar el ataque utilizando la opción -v para mostrar más detalles sobre cada intento y, finalmente, utilizarás la opción -V para mostrar cada intento en tiempo real. Al comparar la salida de estos diferentes niveles de detalle, comprenderás cómo utilizar eficazmente las opciones de verbosidad de Hydra para una mejor supervisión y solución de problemas.
Ejecutar Ataque FTP sin Modo Detallado
En este paso, realizarás un ataque básico de inicio de sesión FTP con Hydra sin salida detallada. Esto significa que Hydra intentará descifrar la contraseña FTP, pero no mostrará información detallada sobre cada intento de inicio de sesión en la pantalla. Esto es útil cuando deseas ejecutar el ataque en segundo plano o evitar saturar tu terminal.
Antes de comenzar, comprendamos la sintaxis básica de Hydra:
hydra [options] [service://server[:port]] [OPT]
hydra: El comando para ejecutar la herramienta Hydra.[options]: Varias opciones para personalizar el ataque, como listas de nombres de usuario, listas de contraseñas y configuraciones de conexión.[service://server[:port]]: Especifica el servicio a atacar (por ejemplo, ftp, ssh, http), la dirección del servidor objetivo y, opcionalmente, el número de puerto.[OPT]: Opciones adicionales específicas del servicio atacado.
Ahora, navega a tu directorio ~/project, que es tu directorio de trabajo predeterminado en este entorno de laboratorio:
cd ~/project
A continuación, crearás una lista simple de nombres de usuario y una lista de contraseñas para tu ataque.
Crear una lista de nombres de usuario:
Crea un archivo llamado
users.txten tu directorio~/project. Este archivo contendrá una lista de nombres de usuario, con un nombre de usuario por línea. Usa el editor de textonanopara crear y editar el archivo:nano users.txtAgrega los siguientes nombres de usuario al archivo:
user1 user2 user3Para guardar el archivo en nano:
- Presiona
Ctrl + Xpara salir. - Presiona
Ypara confirmar la guarda. - Presiona
Enterpara confirmar el nombre del archivo.
- Presiona
Crear una lista de contraseñas:
De forma similar, crea un archivo llamado
passwords.txten tu directorio~/project. Este archivo contendrá una lista de contraseñas, con una contraseña por línea. Usananopara crear y editar el archivo:nano passwords.txtAgrega las siguientes contraseñas al archivo:
password123 password 123456Guarda el archivo y cierra
nano(Ctrl+X, Y, Enter).Ejecutar el ataque FTP sin salida detallada:
Ahora, ejecutarás el ataque Hydra contra un servidor FTP objetivo. Para fines demostrativos, usarás un objetivo ficticio
127.0.0.1. Importante: No intentes atacar sistemas sin permiso explícito.Ejecuta el siguiente comando en tu terminal:
hydra -L users.txt -P passwords.txt ftp://127.0.0.1Desglosemos este comando:
-L users.txt: Especifica el archivo de lista de nombres de usuario. Dado que estás en el directorio~/project, puedes usar la ruta relativausers.txt.-P passwords.txt: Especifica el archivo de lista de contraseñas. De forma similar, puedes usar la ruta relativapasswords.txt.ftp://127.0.0.1: Especifica el servicio FTP y la dirección del servidor objetivo.
Nota: Dado que no hay un servidor FTP ejecutándose en
127.0.0.1, el ataque fallará. Sin embargo, este comando demuestra la sintaxis básica para ejecutar un ataque FTP sin salida detallada. Hydra intentará cada combinación de nombre de usuario y contraseña, pero solo mostrará los resultados si se encuentra un inicio de sesión exitoso. Si no se encuentra ningún inicio de sesión exitoso, mostrará un mensaje indicando que no se descifró ninguna contraseña.La salida será similar a esto:
Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway). Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-05-30 09:45:40 [DATA] max 9 tasks per 1 server, overall 9 tasks, 9 login tries (l:3/p:3), ~1 try per task [DATA] attacking ftp://127.0.0.1:21/ 1 of 1 target completed, 0 valid password found Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2025-05-30 09:45:52Como puedes ver, sin el modo detallado, Hydra proporciona una salida mínima: solo la información básica sobre la configuración del ataque, el objetivo atacado y el resultado final. No se muestran los intentos individuales de inicio de sesión.
Volver a ejecutar con -v para Detalles
En este paso, volverás a ejecutar el ataque FTP del paso anterior, pero esta vez usarás la opción -v para habilitar la salida detallada. La salida detallada proporciona información más detallada sobre cada intento de inicio de sesión, lo que puede ser útil para la resolución de problemas o para comprender el progreso del ataque.
La opción -v en Hydra significa "detallado". Cuando se usa, aumenta la cantidad de información que se muestra en la pantalla durante el ataque. Esto incluye detalles sobre cada intento de conexión, el nombre de usuario y la contraseña que se están probando y cualquier error que ocurra.
Continuarás utilizando las mismas listas de nombres de usuario y contraseñas (users.txt y passwords.txt) que creaste en el paso anterior. Asegúrate de estar todavía en el directorio ~/project.
Repetir el ataque FTP con salida detallada:
Ejecuta el siguiente comando en tu terminal:
hydra -L users.txt -P passwords.txt -v ftp://127.0.0.1Desglosemos este comando:
-L users.txt: Especifica el archivo de lista de nombres de usuario.-P passwords.txt: Especifica el archivo de lista de contraseñas.-v: Habilita la salida detallada. Esta es la nueva opción que estás agregando.ftp://127.0.0.1: Especifica el servicio FTP y la dirección del servidor objetivo.
Nota: Al igual que en el paso anterior, dado que no hay un servidor FTP ejecutándose en
127.0.0.1, el ataque fallará. Sin embargo, este comando demuestra el uso de la opción-v.La salida ahora será más detallada que en el paso anterior. Verás información sobre cada intento de conexión, incluyendo el nombre de usuario y la contraseña que se están probando, y cualquier error que ocurra. La salida será similar a esto:
Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway). Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-05-30 09:45:54 [DATA] max 9 tasks per 1 server, overall 9 tasks, 9 login tries (l:3/p:3), ~1 try per task [DATA] attacking ftp://127.0.0.1:21/ [VERBOSE] Resolving addresses ... [VERBOSE] resolving done Process 1216: Can not connect [unreachable], retrying (1 of 1 retries) Process 1218: Can not connect [unreachable], retrying (1 of 1 retries) Process 1217: Can not connect [unreachable], retrying (1 of 1 retries) ... [ERROR] Child with pid 1220 terminating, can not connect [ERROR] Child with pid 1224 terminating, can not connect [ERROR] Child with pid 1219 terminating, can not connect ... [VERBOSE] Disabled child 7 because of too many errors [VERBOSE] Disabled child 8 because of too many errors ... 1 of 1 target completed, 0 valid password found Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2025-05-30 09:46:07Puedes ver que el modo detallado proporciona información mucho más detallada sobre el proceso de conexión, incluyendo:
- Detalles de resolución de DNS.
- Intentos y reintentos de conexión de cada proceso individual.
- Mensajes de error específicos para cada conexión fallida.
- Información sobre procesos secundarios deshabilitados debido a errores.
Este nivel de detalle es particularmente útil para solucionar problemas de conexión y comprender por qué un ataque podría estar fallando.
Ejecutar con -V para Mostrar Intentos
En este paso, volverás a ejecutar el ataque FTP, pero esta vez utilizando la opción -V. La opción -V proporciona un nivel diferente de verbosidad en comparación con -v. Se centra en mostrar cada intento de inicio de sesión en un formato conciso, lo que facilita el seguimiento del progreso del ataque.
La opción -V en Hydra es similar a -v, pero proporciona una salida más compacta. En lugar de mostrar información detallada de conexión para cada intento, simplemente muestra el nombre de usuario y la contraseña que se están probando. Esto puede ser útil cuando deseas monitorear el progreso del ataque sin quedar abrumado por demasiada información.
Continuarás utilizando las mismas listas de nombres de usuario y contraseñas (users.txt y passwords.txt) de los pasos anteriores. Asegúrate de estar todavía en el directorio ~/project.
Re-ejecutar el ataque FTP con salida
-V:Ejecuta el siguiente comando en tu terminal:
hydra -L users.txt -P passwords.txt -V ftp://127.0.0.1Desglosemos este comando:
-L users.txt: Especifica el archivo de lista de nombres de usuario.-P passwords.txt: Especifica el archivo de lista de contraseñas.-V: Habilita la salida centrada en los intentos. Esta es la nueva opción que estás agregando.ftp://127.0.0.1: Especifica el servicio FTP y la dirección del servidor objetivo.
Nota: Como antes, dado que no hay un servidor FTP ejecutándose en
127.0.0.1, el ataque fallará. Sin embargo, este comando demuestra el uso de la opción-V.La salida será más concisa que con la opción
-v. Verás cada intento de inicio de sesión mostrado en un formato simple, mostrando el nombre de usuario y la contraseña que se están probando. La salida será similar a esto:Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway). Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-05-30 09:46:09 [DATA] max 9 tasks per 1 server, overall 9 tasks, 9 login tries (l:3/p:3), ~1 try per task [DATA] attacking ftp://127.0.0.1:21/ [ATTEMPT] target 127.0.0.1 - login "user1" - pass "password123" - 1 of 9 [child 0] (0/0) [ATTEMPT] target 127.0.0.1 - login "user1" - pass "password" - 2 of 9 [child 1] (0/0) [ATTEMPT] target 127.0.0.1 - login "user1" - pass "123456" - 3 of 9 [child 2] (0/0) ... 1 of 1 target completed, 0 valid password found Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2025-05-30 09:46:21Esta salida muestra cada intento de inicio de sesión en un formato claro y estructurado, incluyendo:
- La dirección IP del objetivo.
- El nombre de usuario y la contraseña que se están probando (entre comillas).
- El número de intento y el total de intentos.
- El ID del proceso secundario que maneja el intento.
- Reintentos cuando las conexiones fallan (mostrados como REDO-ATTEMPT).
Este formato proporciona una excelente visibilidad del progreso del ataque sin la información de depuración de conexión detallada.
Comparar Niveles de Verbosidad
En este paso, compararás los diferentes niveles de detalle utilizados en los pasos anteriores: sin salida detallada, -v (detallado) y -V (mostrar intentos). Comprender las diferencias entre estos niveles te permite elegir el nivel de detalle más apropiado para tus necesidades específicas al usar Hydra.
Resumamos las características de cada nivel de detalle:
Sin Salida Detallada: Este es el comportamiento predeterminado. Hydra solo mostrará información básica del ataque, detalles de configuración y los resultados finales. Proporciona la menor cantidad de información y es adecuado para ejecutar ataques en segundo plano o cuando solo te interesan los inicios de sesión exitosos y los resultados generales.
-v(Detallado): Esta opción proporciona información técnica detallada sobre el proceso de conexión, incluyendo la resolución de DNS, intentos de conexión de procesos individuales, mecanismos de reintentos y mensajes de error detallados. Es particularmente útil para solucionar problemas de conexión y comprender por qué un ataque podría fallar a nivel de red.-V(Mostrar Intentos): Esta opción muestra cada intento de inicio de sesión en un formato estructurado, mostrando las combinaciones específicas de nombre de usuario y contraseña que se están probando, contadores de intentos e información del proceso secundario. Proporciona una excelente visibilidad del progreso del ataque sin abrumar con detalles técnicos sobre las conexiones de red.
Para ilustrar mejor las diferencias, consideremos lo que ves cuando Hydra intenta atacar un servidor FTP:
Sin Salida Detallada: Solo ves la configuración básica y los resultados finales:
[DATA] max 9 tasks per 1 server, overall 9 tasks, 9 login tries (l:3/p:3), ~1 try per task [DATA] attacking ftp://127.0.0.1:21/ 1 of 1 target completed, 0 valid password found-v(Detallado): Ves información detallada de la conexión y manejo de errores:[VERBOSE] Resolving addresses ... [VERBOSE] resolving done Process 1216: Can not connect [unreachable], retrying (1 of 1 retries) [ERROR] Child with pid 1220 terminating, can not connect [VERBOSE] Disabled child 7 because of too many errors-V(Mostrar Intentos): Ves cada intento específico de inicio de sesión con las credenciales:[ATTEMPT] target 127.0.0.1 - login "user1" - pass "password123" - 1 of 9 [child 0] (0/0) [ATTEMPT] target 127.0.0.1 - login "user2" - pass "password" - 5 of 9 [child 4] (0/0) [REDO-ATTEMPT] target 127.0.0.1 - login "user1" - pass "password123" - 10 of 18 [child 0] (1/9)
Elegir el Nivel de Detalle Adecuado:
La elección del nivel de detalle depende de tus necesidades y preferencias.
- Si deseas ejecutar el ataque en segundo plano y solo te interesan los inicios de sesión exitosos y los resultados básicos, utiliza la salida sin detalles.
- Si necesitas información técnica detallada para solucionar problemas de conexión, problemas de red o comprender por qué un ataque falla a nivel de protocolo, utiliza la opción
-v. - Si deseas monitorear las combinaciones específicas de nombre de usuario y contraseña que se están intentando y realizar un seguimiento del progreso del ataque a través de tus listas de palabras, utiliza la opción
-V.
En resumen, experimentando con diferentes niveles de detalle, puedes comprender mejor cómo funciona Hydra y elegir el nivel de detalle más apropiado para tus necesidades específicas. La opción -V es particularmente útil para monitorear el progreso del ataque, mientras que -v es mejor para depurar problemas de conexión.
Resumen
En este laboratorio, exploraste los modos de verbosidad de Hydra realizando un ataque de inicio de sesión FTP. Empezaste ejecutando un ataque básico contra un servidor FTP ficticio (127.0.0.1) sin salida detallada, utilizando listas de nombres de usuario y contraseñas creadas en el directorio ~/project. Esto demostró el comportamiento predeterminado de Hydra, donde se suprime la información detallada sobre los intentos de inicio de sesión.
El laboratorio luego te guió a través del uso de las opciones -v y -V para aumentar la verbosidad de la salida de Hydra, permitiéndote observar más detalles sobre cada intento de inicio de sesión. Al comparar la salida del ataque con diferentes niveles de verbosidad, obtuviste una mejor comprensión de cómo utilizar las opciones de verbosidad de Hydra para monitorear y solucionar problemas de los ataques.


