Preparar archivos para ataques de Hydra

HydraHydraBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá cómo preparar archivos esenciales para ataques de fuerza bruta con Hydra mediante la creación y modificación de listas de nombres de usuario y contraseñas. Generará archivos de texto que contengan credenciales comunes y los personalizará con variaciones adicionales para mejorar la eficacia de las pruebas.

El ejercicio abarca la creación de los archivos usernames.txt y passwords.txt, su ampliación con más entradas y la verificación de la capacidad de Hydra para cargar adecuadamente estos archivos. Estas listas preparadas servirán como base para los posteriores intentos de descifrado de autenticación.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hydra(("Hydra")) -.-> hydra/HydraGroup(["Hydra"]) hydra/HydraGroup -.-> hydra/password_creation("Password List Creation") hydra/HydraGroup -.-> hydra/username_creation("Username List Creation") hydra/HydraGroup -.-> hydra/single_username("Single Username Attack") hydra/HydraGroup -.-> hydra/single_password("Single Password Attack") hydra/HydraGroup -.-> hydra/output_saving("Output File Saving") hydra/HydraGroup -.-> hydra/verbose_mode("Verbose Mode Usage") subgraph Lab Skills hydra/password_creation -.-> lab-549920{{"Preparar archivos para ataques de Hydra"}} hydra/username_creation -.-> lab-549920{{"Preparar archivos para ataques de Hydra"}} hydra/single_username -.-> lab-549920{{"Preparar archivos para ataques de Hydra"}} hydra/single_password -.-> lab-549920{{"Preparar archivos para ataques de Hydra"}} hydra/output_saving -.-> lab-549920{{"Preparar archivos para ataques de Hydra"}} hydra/verbose_mode -.-> lab-549920{{"Preparar archivos para ataques de Hydra"}} end

Crear un archivo de lista de nombres de usuario

En este paso, creará un archivo de texto que contenga una lista de nombres de usuario comunes que se pueden utilizar para probar sistemas de autenticación. Esta lista de nombres de usuario es esencial para los ataques de Hydra, ya que proporciona al herramienta nombres de cuenta potenciales para intentar durante ataques de fuerza bruta o de diccionario.

  1. Primero, asegúrese de estar en el directorio de trabajo correcto. El comando cd cambia su directorio actual, y estamos utilizando ~/project como nuestro directorio de trabajo para este laboratorio:
cd ~/project
  1. Cree un nuevo archivo de texto llamado usernames.txt utilizando nano, que es un editor de texto simple de línea de comandos. El siguiente comando creará un nuevo archivo o abrirá uno existente:
nano usernames.txt
  1. Ahora agregará nombres de usuario comunes que se utilizan con frecuencia como credenciales predeterminadas en varios sistemas. Escriba o pegue estos nombres de usuario, cada uno en su propia línea:
admin
root
user
test
guest
administrator
  1. Para guardar sus cambios en nano:
  • Presione Ctrl+O (Escribir) para guardar.
  • Presione Enter para confirmar el nombre del archivo (usernames.txt).
  • Presione Ctrl+X para salir del editor.
  1. Verifique que el archivo se haya creado correctamente mostrando su contenido con el comando cat. Esto le muestra exactamente lo que se almacena en el archivo:
cat usernames.txt

Debería ver la lista de nombres de usuario que ingresó, cada uno en una línea separada. Este archivo servirá como entrada para Hydra en los pasos posteriores, donde la herramienta probará sistemáticamente cada nombre de usuario (combinado con contraseñas de otro archivo) para probar los sistemas de autenticación.

Crear un archivo de lista de contraseñas

En este paso, creará un archivo de texto que contenga contraseñas comunes que se utilizarán junto con la lista de nombres de usuario del Paso 1 para probar sistemas de autenticación con Hydra. Las listas de contraseñas son esenciales para los ataques de fuerza bruta, ya que contienen credenciales de uso común a las que los sistemas pueden ser vulnerables.

  1. Primero, asegúrese de estar en el directorio de trabajo correcto (si no lo está ya). El directorio ~/project es donde almacenaremos todos nuestros archivos de ataque para mantenerlos organizados:
cd ~/project
  1. Cree un nuevo archivo de texto llamado passwords.txt utilizando nano. Nano es un editor de texto simple que viene preinstalado en la mayoría de las distribuciones de Linux, perfecto para principiantes:
nano passwords.txt
  1. Agregue las siguientes contraseñas comunes al archivo (una por línea). Estas son algunas de las contraseñas débiles más utilizadas según las investigaciones de seguridad:
password
123456
admin
12345678
qwerty
123456789
  1. Guarde el archivo presionando:
  • Ctrl+O (Escribir) - Esto guarda sus cambios.
  • Presione Enter para confirmar el nombre del archivo.
  • Ctrl+X para salir de nano y volver al terminal.
  1. Verifique que el archivo se haya creado correctamente mostrando su contenido. El comando cat es una forma rápida de verificar el contenido de un archivo sin abrir un editor:
cat passwords.txt

Debería ver la lista de contraseñas que ingresó, cada una en una línea separada. Esta lista de contraseñas se combinará con la lista de nombres de usuario del Paso 1 cuando se ejecute Hydra en pasos posteriores. Tener ambos archivos correctamente formateados garantiza que Hydra pueda probar sistemáticamente todas las posibles combinaciones de nombre de usuario y contraseña durante el ataque.

Editar listas con credenciales comunes

En este paso, mejorará tanto la lista de nombres de usuario como la de contraseñas creadas en pasos anteriores agregando más credenciales comunes que se utilizan con frecuencia en los sistemas de autenticación. Estas adiciones son importantes porque los sistemas del mundo real a menudo tienen credenciales predeterminadas o de uso común que pueden ser vulnerables a ataques de fuerza bruta.

  1. Primero, asegúrese de estar en el directorio de trabajo correcto donde se almacenan sus archivos de credenciales. Esto garantiza que todas sus ediciones se realicen en el lugar correcto:
cd ~/project
  1. Abra la lista de nombres de usuario para editarla utilizando el editor de texto nano. Nano es un editor simple de línea de comandos que es perfecto para principiantes:
nano usernames.txt
  1. Agregue estos nombres de usuario comunes adicionales a la lista existente. Estas son cuentas predeterminadas típicas que muchos sistemas utilizan, lo que las convierte en buenas opciones para probar:
sysadmin
webmaster
support
backup
oracle
mysql
  1. Guarde el archivo presionando Ctrl+O (escribir), luego Enter para confirmar y, finalmente, Ctrl+X para salir de nano. Estos atajos de teclado son esenciales para trabajar con editores de línea de comandos.

  2. Ahora abra la lista de contraseñas para editarla utilizando el mismo proceso:

nano passwords.txt
  1. Agregue estas contraseñas comunes adicionales a la lista existente. Estas son contraseñas débiles que los usuarios eligen con frecuencia, lo que las hace importantes de incluir en sus pruebas:
letmein
welcome
password1
123123
12345
111111
  1. Guarde el archivo de contraseñas utilizando el mismo método: Ctrl+O, Enter, luego Ctrl+X.

  2. Verifique que ambos archivos contengan las credenciales actualizadas mostrando su contenido. La parte && echo "---" agrega un separador visual entre los dos archivos cuando se muestran:

cat usernames.txt && echo "---" && cat passwords.txt

Debería ver que ambas listas ahora contienen conjuntos más completos de credenciales. Estas listas mejoradas proporcionarán una mejor cobertura al probar sistemas de autenticación con Hydra, ya que incluyen tanto cuentas de sistema predeterminadas como contraseñas débiles de uso común que a menudo se encuentran en escenarios del mundo real.

Guardar listas en un directorio accesible

En este paso, aprenderá cómo organizar adecuadamente sus listas de credenciales para ataques de Hydra creando un directorio dedicado y estableciendo los permisos de archivo correctos. Esto es importante porque Hydra necesita poder acceder a estos archivos durante los intentos de descifrado de contraseñas.

  1. Primero, navegue hasta su directorio de proyecto si no está ya allí. Esto garantiza que todos sus archivos se mantengan organizados en un solo lugar:
cd ~/project
  1. Cree un nuevo directorio llamado hydra_lists específicamente para almacenar sus archivos de credenciales. El uso de directorios separados ayuda a mantener su espacio de trabajo ordenado y facilita la búsqueda de archivos:
mkdir hydra_lists
  1. Mueva tanto su archivo de nombres de usuario como el de contraseñas a este nuevo directorio. El comando mv trasladará físicamente los archivos de su ubicación actual al nuevo directorio:
mv usernames.txt passwords.txt hydra_lists/
  1. Verifique que los archivos se hayan movido correctamente listando el contenido del directorio. La opción -l muestra información detallada, incluyendo los permisos de archivo:
ls -l hydra_lists/

Debería ver tanto usernames.txt como passwords.txt enumerados con sus permisos.

  1. Establezca los permisos adecuados para garantizar que Hydra pueda leer estos archivos. El permiso 644 significa que el propietario puede leer/escribir mientras que los demás solo pueden leer:
chmod 644 hydra_lists/*
  1. Confirme que los permisos son correctos volviendo a comprobar el directorio. La cadena de permisos -rw-r--r-- indica que los archivos están configurados correctamente:
ls -l hydra_lists/

La salida debería mostrar -rw-r--r-- para ambos archivos, lo que significa que son legibles por todos los usuarios pero solo escribibles por el propietario, la configuración de permisos ideal para archivos de credenciales utilizados en ataques de Hydra.

Verificar la carga de archivos en Hydra

En este último paso, verificará que Hydra pueda leer y procesar adecuadamente los archivos de credenciales que creó en pasos anteriores. Esta es una comprobación importante antes de lanzar ataques reales, ya que garantiza que sus listas de nombres de usuario y contraseñas estén formateadas correctamente y sean accesibles para Hydra.

  1. Primero, asegúrese de estar en el directorio de trabajo correcto donde se almacenan sus archivos de credenciales. Esto es crucial porque Hydra necesita saber dónde encontrar sus listas de nombres de usuario y contraseñas:
cd ~/project
  1. Ahora ejecutaremos Hydra en modo de prueba utilizando la opción -V para obtener una salida detallada. Este comando le dice a Hydra que:
    • Utilice la lista de nombres de usuario (-L hydra_lists/usernames.txt)
    • Utilice la lista de contraseñas (-P hydra_lists/passwords.txt)
    • Realice pruebas contra el servicio SSH del localhost
    • Utilice solo 1 hilo (-t 1) con fines de prueba
hydra -L hydra_lists/usernames.txt -P hydra_lists/passwords.txt -V -t 1 localhost ssh
  1. Cuando el comando se ejecute correctamente, debería ver una salida similar a esta. La información clave aquí es el recuento de "intentos de inicio de sesión" que confirma que Hydra ha leído ambos archivos:
Hydra v9.2 (c) 2022 by van Hauser/THC & David Maciejak
[DATA] max 1 task per 1 server, overall 1 task, 42 login tries (l:6/p:7), ~42 tries per task
[DATA] attacking ssh://localhost:22/
[VERBOSE] Resolving addresses ... done
  1. Después de verificar la salida, presione Ctrl+C para detener la prueba. No es necesario dejar que se complete, ya que solo estamos probando la carga de archivos.

  2. Para confirmar que ambos archivos se leyeron correctamente, verifique el número de intentos de inicio de sesión mostrado en la salida. Este número debe ser igual al número de nombres de usuario multiplicado por el número de contraseñas en sus listas. Por ejemplo, si tiene 6 nombres de usuario y 7 contraseñas, debería ver 42 intentos de inicio de sesión (6×7 = 42). Esta multiplicación confirma que Hydra está combinando correctamente todos los pares de credenciales posibles de sus archivos.

Resumen

En este laboratorio, has aprendido cómo preparar listas de nombres de usuario y contraseñas para ataques de Hydra creando y gestionando archivos de texto en Linux. Los ejercicios cubrieron la creación de usernames.txt y passwords.txt utilizando nano, su llenado con credenciales comunes y la verificación del contenido con comandos cat.

También practicaste operaciones esenciales de archivos en Linux, incluyendo la navegación por directorios, la edición de texto y la validación de archivos. Estas habilidades forman la base para configurar ataques de fuerza bruta efectivos, ya que las listas de credenciales correctamente formateadas son cruciales para las capacidades de prueba de seguridad de Hydra.