Ignorar Archivos de Restauración de Hydra

HydraBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderás cómo Hydra maneja los ataques interrumpidos y cómo reanudarlos eficazmente. Simularemos un ataque interrumpido de Hydra contra el servicio SSH en localhost creando listas simples de nombres de usuario y contraseñas, lanzando un ataque y luego interrumpiéndolo manualmente usando Ctrl+C.

Este laboratorio te guiará a través de la reanudación del ataque con la opción -R y la observación de cómo Hydra maneja los archivos de restauración, seguido del uso de la opción -I junto con -R para ignorar los archivos de restauración y asegurar un nuevo inicio. Aprenderás la diferencia entre ataques completados y ataques interrumpidos en términos de la creación de archivos de restauración.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 94%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

Crear Archivos de Prueba e Iniciar el Ataque Inicial

En este paso, crearás los archivos de prueba necesarios y ejecutarás un ataque inicial con Hydra para comprender el comportamiento básico. Esto te ayudará a entender cómo funciona Hydra cuando los ataques se completan normalmente versus cuando se interrumpen.

Primero, navega a tu directorio de proyecto:

cd ~/project

Ahora, creemos una lista simple de contraseñas. Usa nano para crear un archivo llamado passwords.txt en tu directorio actual:

nano passwords.txt

Agrega algunas contraseñas comunes al archivo, una contraseña por línea. Por ejemplo:

password
123456
qwerty

Guarda el archivo presionando Ctrl+X, luego Y para confirmar la guarda, y Enter para confirmar el nombre del archivo.

A continuación, creemos un archivo simple de nombres de usuario. Usa nano para crear un archivo llamado users.txt en el mismo directorio:

nano users.txt

Agrega un solo nombre de usuario al archivo:

root

Guarda el archivo y cierra nano usando los mismos pasos que antes.

Ahora, ejecutemos un ataque completo con Hydra para ver el comportamiento normal:

hydra -V -L users.txt -P passwords.txt localhost ssh

Analicemos este comando:

  • -V: Habilita el modo detallado para mostrar los intentos de ataque en detalle.
  • -L users.txt: Indica a Hydra que utilice el archivo users.txt para los nombres de usuario.
  • -P passwords.txt: Indica a Hydra que utilice el archivo passwords.txt para las contraseñas.
  • localhost: Especifica el host de destino como localhost.
  • ssh: Especifica el servicio a atacar como SSH.

Debes ver una salida similar a esta:

Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Por favor, no lo use en organizaciones militares o de servicios secretos, o para fines ilegales (esto no es vinculante, estas *** ignoran las leyes y la ética de todos modos).

Hydra (https://github.com/vanhauser-thc/thc-hydra) comenzando a las 2025-05-30 09:56:06
[ADVERTENCIA] Muchas configuraciones de SSH limitan la cantidad de tareas paralelas, se recomienda reducir las tareas: use -t 4
[DATOS] máximo 3 tareas por 1 servidor, en general 3 tareas, 3 intentos de inicio de sesión (l:1/p:3), ~1 intento por tarea
[DATOS] atacando ssh://localhost:22/
[INTENTO] objetivo 127.0.0.1 - inicio de sesión "root" - contraseña "password" - 1 de 3 [hijo 0] (0/0)
[INTENTO] objetivo 127.0.0.1 - inicio de sesión "root" - contraseña "123456" - 2 de 3 [hijo 0] (0/0)
[INTENTO] objetivo 127.0.0.1 - inicio de sesión "root" - contraseña "qwerty" - 3 de 3 [hijo 0] (0/0)
1 de 1 objetivo completado, 0 contraseña válida encontrada
Hydra (https://github.com/vanhauser-thc/thc-hydra) finalizado a las 2025-05-30 09:56:09

Observa que cuando el ataque se completa normalmente, Hydra no crea un archivo de restauración. Los archivos de restauración solo se crean cuando los ataques se interrumpen.

Simular un Ataque Interrumpido

En este paso, simularás un ataque interrumpido con Hydra para crear un archivo de restauración. Esto es necesario porque Hydra solo crea archivos de restauración cuando los ataques se interrumpen, no cuando se completan normalmente.

Para crear un ataque de mayor duración que puedas interrumpir, ampliemos tu lista de contraseñas. Abre el archivo passwords.txt de nuevo:

nano passwords.txt

Agrega más contraseñas para que el ataque tarde más:

password
123456
qwerty
admin
root
test
guest
user
login
pass
secret

Guarda el archivo y cierra nano.

Ahora, inicia el ataque con Hydra con un tiempo de espera más lento para que sea más fácil de interrumpir:

hydra -V -L users.txt -P passwords.txt -t 1 -W 2 localhost ssh

Las opciones adicionales son:

  • -V: Habilita el modo detallado para mostrar los intentos de ataque en detalle.
  • -t 1: Usa solo 1 tarea (ejecución más lenta).
  • -W 2: Espera 2 segundos entre intentos de conexión.

IMPORTANTE: Mientras el ataque se esté ejecutando (deberías ver a Hydra probando diferentes combinaciones de nombre de usuario/contraseña), presiona Ctrl+C para interrumpirlo después de algunos intentos.

Debes ver una salida similar a esta:

Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Por favor, no lo use en organizaciones militares o de servicios secretos, o para fines ilegales (esto no es vinculante, estas *** ignoran las leyes y la ética de todos modos).

Hydra (https://github.com/vanhauser-thc/thc-hydra) comenzando a las 2025-05-30 10:00:00
[ADVERTENCIA] Muchas configuraciones de SSH limitan la cantidad de tareas paralelas, se recomienda reducir las tareas: use -t 4
[DATOS] máximo 1 tarea por 1 servidor, en general 1 tarea, 11 intentos de inicio de sesión (l:1/p:11), ~11 intentos por tarea
[DATOS] atacando ssh://localhost:22/
[INTENTO] objetivo 127.0.0.1 - inicio de sesión "root" - contraseña "password" - 1 de 11 [hijo 0] (0/0)
[INTENTO] objetivo 127.0.0.1 - inicio de sesión "root" - contraseña "123456" - 2 de 11 [hijo 0] (0/0)
^C
[ERROR] Se recibió la señal 2, bajando...
Se escribió el archivo de sesión ./hydra.restore, puedes reanudarlo con: hydra -R

El ^C indica que interrumpiste el proceso y, lo más importante, debes ver un mensaje sobre la creación del archivo de restauración.

Reiniciar con -R y Observar el Comportamiento

En este paso, reanudarás el ataque interrumpido de Hydra del paso anterior utilizando la opción -R. Esta opción indica a Hydra que reanude el ataque desde donde lo dejó utilizando el archivo de restauración.

Para reiniciar el ataque, ejecuta el siguiente comando en tu terminal:

hydra -R

Este comando utiliza solo la opción -R:

  • -R: Indica a Hydra que reanude una sesión previamente abortada o bloqueada utilizando el archivo de restauración.

Observa la salida. Deberías ver que Hydra lee el archivo de restauración y continúa desde donde lo dejó:

Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Por favor, no lo use en organizaciones militares o de servicios secretos, o para fines ilegales (esto no es vinculante, estas *** ignoran las leyes y la ética de todos modos).

[INFORMACIÓN] leyendo el archivo de restauración ./hydra.restore
Hydra (https://github.com/vanhauser-thc/thc-hydra) comenzando a las 2025-05-30 10:05:00
[DATOS] máximo 1 tarea por 1 servidor, en general 1 tarea, 9 intentos de inicio de sesión (l:1/p:9), ~9 intentos por tarea
[DATOS] atacando ssh://localhost:22/
[INTENTO] objetivo 127.0.0.1 - inicio de sesión "root" - contraseña "qwerty" - 3 de 11 [hijo 0] (0/0)
[INTENTO] objetivo 127.0.0.1 - inicio de sesión "root" - contraseña "admin" - 4 de 11 [hijo 0] (0/0)
...

Observa que Hydra reanuda desde donde se interrumpió (en este ejemplo, comenzando con "qwerty" como el tercer intento) en lugar de comenzar desde el principio.

Usar -I para Ignorar Archivos de Restauración

En este paso, usarás la opción -I para ignorar los archivos de restauración existentes e iniciar un ataque nuevo. Esto es útil cuando deseas reiniciar un ataque desde el principio, independientemente de los datos de la sesión anterior.

Primero, intentemos usar -R cuando no existe un archivo de restauración para ver el error:

rm -f hydra.restore
hydra -V -R -L users.txt -P passwords.txt localhost ssh

Deberías ver un mensaje de error:

Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Por favor, no lo use en organizaciones militares o de servicios secretos, o para fines ilegales (esto no es vinculante, estas *** ignoran las leyes y la ética de todos modos).

[INFORMACIÓN] leyendo el archivo de restauración ./hydra.restore
[ERROR] archivo de restauración (./hydra.restore) no encontrado - No existe el archivo o el directorio

Ahora, creemos un archivo de restauración de nuevo interrumpiendo un ataque:

hydra -V -L users.txt -P passwords.txt -t 1 -W 2 localhost ssh

Interrumpe con Ctrl+C después de algunos intentos para crear el archivo de restauración.

Ahora, ejecuta el siguiente comando para ignorar el archivo de restauración:

hydra -V -I -L users.txt -P passwords.txt localhost ssh

Este comando incluye la opción -I:

  • -I: Indica a Hydra que ignore un archivo de restauración existente y no cree uno nuevo.

Observa la salida. Deberías ver que Hydra comienza desde el principio, ignorando cualquier archivo de restauración existente:

Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Por favor, no lo use en organizaciones militares o de servicios secretos, o para fines ilegales (esto no es vinculante, estas *** ignoran las leyes y la ética de todos modos).

Hydra (https://github.com/vanhauser-thc/thc-hydra) comenzando a las 2025-05-30 10:10:00
[ADVERTENCIA] Muchas configuraciones de SSH limitan la cantidad de tareas paralelas, se recomienda reducir las tareas: use -t 4
[DATOS] máximo 3 tareas por 1 servidor, en general 3 tareas, 11 intentos de inicio de sesión (l:1/p:11), ~4 intentos por tarea
[DATOS] atacando ssh://localhost:22/
[INTENTO] objetivo 127.0.0.1 - inicio de sesión "root" - contraseña "password" - 1 de 11 [hijo 0] (0/0)
[INTENTO] objetivo 127.0.0.1 - inicio de sesión "root" - contraseña "123456" - 2 de 11 [hijo 0] (0/0)
...

Observa que el ataque comienza desde la primera contraseña ("password") independientemente del archivo de restauración existente.

Combinar las Opciones -I y -R

En este paso, comprenderás qué sucede cuando combinas las opciones -I y -R. Esta combinación demuestra cómo Hydra maneja las instrucciones contradictorias.

Ejecuta el siguiente comando:

hydra -V -I -R -L users.txt -P passwords.txt localhost ssh

Este comando incluye ambas opciones:

  • -V: Habilita el modo detallado para mostrar los intentos de ataque con más detalle.
  • -I: Ignorar archivos de restauración existentes.
  • -R: Reanudar desde el archivo de restauración.

Deberías ver un mensaje de error similar a este:

Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Por favor, no lo use en organizaciones militares o de servicios secretos, o para fines ilegales (esto no es vinculante, estas *** ignoran las leyes y la ética de todos modos).

[INFORMACIÓN] leyendo el archivo de restauración ./hydra.restore
[ERROR] archivo de restauración (./hydra.restore) no encontrado - No existe el archivo o el directorio

Esto sucede porque:

  1. La opción -R indica a Hydra que busque un archivo de restauración.
  2. La opción -I indica a Hydra que ignore los archivos de restauración.
  3. Cuando se usan ambas juntas, Hydra intenta leer el archivo de restauración debido a -R, pero si el archivo no existe o se ignora debido a -I, se produce un error.

Esto demuestra que las opciones -I y -R son opciones contradictorias y no deben usarse juntas. En su lugar:

  • Usa -R solo para reanudar desde un archivo de restauración.
  • Usa -I solo para ignorar los archivos de restauración y comenzar de nuevo.
  • No uses ninguna de las dos para ejecutar un ataque normal.

Resumen

En este laboratorio, aprendiste cómo Hydra maneja los ataques interrumpidos y los archivos de restauración. Los puntos clave incluyen:

  1. Los archivos de restauración solo se crean cuando se interrumpen los ataques. - Los ataques normales completados no generan archivos de restauración.
  2. La opción -R reanuda los ataques interrumpidos. - Lee el archivo hydra.restore para continuar desde donde se detuvo el ataque.
  3. La opción -I ignora los archivos de restauración. - Fuerza a Hydra a iniciar un ataque nuevo, ignorando cualquier dato de sesión existente.
  4. Combinar -I y -R crea conflictos. - Estas opciones tienen propósitos opuestos y no deben usarse juntas.
  5. La interrupción adecuada es clave. - Para probar la funcionalidad de restauración, debes interrumpir realmente un ataque con Ctrl+C, no dejar que se complete normalmente.

Esta comprensión es crucial para gestionar ataques de Hydra de larga duración en escenarios del mundo real, donde es posible que necesites pausar y reanudar ataques o asegurar inicios nuevos cuando sea necesario.