Descifra el Servicio Oculto

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 desafío, utilizarás Hydra para descifrar las credenciales de un servicio oculto que se ejecuta en un servidor remoto. El servicio está protegido por Autenticación Básica HTTP (HTTP Basic Authentication). Tu objetivo es descubrir tanto el nombre de usuario como la contraseña para acceder a los datos ocultos.

Para lograr esto, primero configurarás el entorno creando los directorios necesarios y las listas de palabras (wordlists) que contienen posibles nombres de usuario y contraseñas. Luego, crearás un servidor HTTP simple con autenticación básica utilizando Python. Finalmente, utilizarás Hydra para realizar un ataque de fuerza bruta (brute-force) a las credenciales utilizando las listas de palabras creadas y obtener acceso a los datos secretos.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hydra(("Hydra")) -.-> hydra/HydraGroup(["Hydra"]) hydra/HydraGroup -.-> hydra/target_ip("Target IP Specification") hydra/HydraGroup -.-> hydra/target_service("Target Service Selection") hydra/HydraGroup -.-> hydra/output_saving("Output File Saving") subgraph Lab Skills hydra/target_ip -.-> lab-550719{{"Descifra el Servicio Oculto"}} hydra/target_service -.-> lab-550719{{"Descifra el Servicio Oculto"}} hydra/output_saving -.-> lab-550719{{"Descifra el Servicio Oculto"}} end

Descifrar el Servicio Oculto

Un servicio secreto se está ejecutando en un servidor remoto, protegido por Autenticación Básica HTTP (HTTP Basic Authentication). ¿Puedes usar Hydra para descubrir el nombre de usuario y la contraseña correctos para acceder a los datos ocultos?

Tareas

  • Utiliza Hydra para realizar un ataque de fuerza bruta (brute-force) al servicio HTTP en localhost puerto 8000, utilizando las listas de nombres de usuario y contraseñas proporcionadas.
  • Identifica las credenciales correctas de la salida de Hydra y guarda la contraseña en el archivo found_password.txt.

Requisitos

  1. Debes ejecutar el comando hydra en el directorio /home/labex/project/wordlists.
  2. Utiliza el archivo de lista de nombres de usuario llamado usernames.txt y el archivo de lista de contraseñas llamado passwords.txt.
  3. Apunta al servicio HTTP que se ejecuta en localhost en el puerto 8000.
  4. Utiliza el módulo http-get / en Hydra para realizar el ataque.
  5. Guarda la contraseña correcta en el archivo found_password.txt en /home/labex/project/found_password.txt.

Ejemplos

Salida exitosa de Hydra:

[DATA] attacking http-get://localhost:8000/
[8000][http-get] host: localhost   login: [USERNAME]   password: [PASSWORD]
1 of 1 target successfully completed, 1 valid password found

Reemplaza [USERNAME] y [PASSWORD] con las credenciales reales encontradas por Hydra.

Sugerencias

  • Recuerda especificar el número de puerto correcto utilizando el flag -s.
  • La contraseña correcta no está en el archivo passwords.txt. Necesitarás encontrar otra forma de descifrar la contraseña.
  • Considera crear tu propia lista de contraseñas con contraseñas comunes.
✨ Revisar Solución y Practicar

Resumen

En este desafío, el objetivo es descifrar la Autenticación Básica HTTP (HTTP Basic Authentication) que protege un servicio oculto que se ejecuta en un servidor remoto. Utilizando Hydra, descubriste tanto el nombre de usuario como la contraseña necesarios para acceder al servicio.

El desafío implica configurar un entorno simulado, incluyendo la creación de directorios para las listas de palabras (wordlists) y el servidor HTTP, la generación de listas de nombres de usuario y contraseñas, y la creación de un servidor HTTP basado en Python que requiere autenticación. Luego, se utiliza Hydra para realizar un ataque de fuerza bruta (brute-force) a las credenciales utilizando las listas de palabras creadas contra el servidor HTTP en ejecución en el puerto 8000.