Descifrar el Servicio Oculto

HydraBeginner
Practicar Ahora

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 la información confidencial.

Para lograrlo, primero prepararás el entorno creando los directorios necesarios y los diccionarios que contienen los posibles nombres de usuario y contraseñas. Luego, configurarás un servidor HTTP sencillo con autenticación básica utilizando Python. Finalmente, aprovecharás el potencial de Hydra para realizar un ataque de fuerza bruta utilizando los diccionarios creados y así obtener acceso a los datos secretos.

Este es un Desafío (Challenge), el cual difiere de un Laboratorio Guiado en que debes intentar completar la tarea de forma independiente, en lugar de seguir pasos detallados de aprendizaje. Los desafíos suelen tener una dificultad mayor. Si te resulta complicado, puedes consultarlo con Labby o revisar la solución. Los datos históricos muestran que este es un desafío de nivel principiante con una tasa de aprobación del 94%. Ha recibido una tasa de valoraciones positivas del 98% por parte de los estudiantes.

Descifrar el Servicio Oculto

Un servicio secreto se está ejecutando en un servidor remoto, protegido por autenticación básica HTTP. ¿Podrás 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 al servicio HTTP en el puerto 8000 de localhost, empleando las listas de usuarios y contraseñas proporcionadas.
  • Identifica las credenciales correctas a partir de la salida de Hydra y guarda la contraseña en el archivo found_password.txt.

Requisitos

  1. Debes ejecutar el comando hydra dentro del directorio /home/labex/project/wordlists.
  2. Utiliza el archivo de lista de usuarios llamado usernames.txt y el archivo de lista de contraseñas llamado passwords.txt.
  3. El objetivo es el 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 dentro de la ruta /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

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

Consejos

  • Recuerda especificar el número de puerto correcto utilizando el parámetro -s.
  • La contraseña correcta no se encuentra inicialmente en el archivo passwords.txt. Necesitarás encontrar otra forma de descifrarla.
  • Considera crear tu propia lista de contraseñas incluyendo términos comunes.
✨ Revisar Solución y Practicar

Resumen

En este desafío, el objetivo era descifrar la autenticación básica HTTP que protegía un servicio oculto en un servidor remoto. Utilizando Hydra, lograste descubrir tanto el nombre de usuario como la contraseña necesarios para acceder al servicio.

El desafío implicó la configuración de un entorno simulado, incluyendo la creación de directorios para diccionarios y el servidor HTTP, la generación de listas de usuarios y contraseñas, y la creación de un servidor HTTP basado en Python que requiere autenticación. Posteriormente, se utilizó Hydra para realizar un ataque de fuerza bruta con los diccionarios creados contra el servidor HTTP que se ejecutaba en el puerto 8000.