AguaDeMayo
🚀Preparación del Entorno
El proceso para desplegar las máquinas de DockerLabs es bastante sencillo. Sigue estos pasos:
📌 Paso 1: Descargar el archivo CTF
Descarga el archivo ZIP del CTF que deseas utilizar.
📌 Paso 2: Descomprimir el archivo
Ejecuta el siguiente comando en la terminal:
unzip [nombre].zip
📂 Esto extraerá los siguientes archivos:
auto_deploy.sh(script de despliegue).[nombre].tar(imagen de la máquina virtual).
📌 Paso 3: Ejecutar el script de despliegue
Para iniciar el despliegue de la máquina virtual, ejecuta:
sudo bash auto_deploy.sh [nombre].tar
🕐 Después de unos minutos, el script te proporcionará la IP de la máquina lista para atacar.
🎯Resolución
🔍 Reconocimiento
Comenzamos realizando un escaneo con Nmap para identificar los puertos abiertos y los servicios disponibles en el objetivo
nmap -sX -p 1-999 -sVC -T5 172.17.0.2
-sX: Realiza un "Xmas Scan" (escaneo "navideño"), que envía paquetes con banderas TCP inusuales para evadir detección por sistemas de seguridad.-p 1-999: Escanea los puertos del 1 al 999.-sVC: Detecta servicios y versiones de los puertos abiertos, proporcionando información detallada sobre cada servicio.-T5: Establece el nivel de rapidez máxima para el escaneo, acelerando el proceso a costa de ser más ruidoso.
El escaneo revela que los servicios SSH y HTTP están activos

El servidor web es un apache

Como segundo paso escaneos los posible directorios de la página web con el comando:
gobuster dir -u http://172.17.0.2/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
-u http://172.17.0.2/: URL del servidor web objetivo donde se realizará el escaneo.-w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt: Ruta al archivo de palabras (wordlist) que contiene posibles nombres de directorios y archivos a buscar.
Encontramos de que hay un directorio `/images

Hay una foto llamada agua_ssh.jpg. Parece que 'agua' es un usuario de SSH.

🕵️ Análisis de vulnerabilidades
Como primer paso, realizamos una inspección del código. A continuación, encontramos un comentario que decía...

Como no sabíamos qué era, lo buscamos por internet y descubrimos que se trataba del lenguaje Brainfuck.

Lo decodificamos y obtenemos lo siguiente. Aunque no sabemos exactamente qué significa, podría tratarse de una contraseña.

Tenemos un usuario llamado agua y su contraseña es bebeaguaquessano.
🎯Explotación
Nos conectamos con el usuarrio agua y su contraseña es bebeaguaquessano por el ssh
ssh agua@172.17.0.2
📈Escalada de privilegios
Ejecutamos el comando sudo -l para verificar qué podemos ejecutar como administrador sin necesidad de proporcionar una contraseña
sudo -l
Identificamos que hay un servicio llamado bettercap que podemos ejecutar como administrador.

Descubrimos, utilizando el comando help, que para ejecutar un comando en Bash debemos usar la sintaxis ! [cualquier comando]

Después de otorgarnos permisos de ejecución sobre el archivo /bin/bash, salimos del entorno actual y ejecutamos /bin/bash -p. Este comando inicia Bash en modo privilegiado, manteniendo el entorno original y los privilegios elevados sin modificaciones.
