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:

📌 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

El escaneo revela que los servicios SSH y HTTP están activos
Pasted image 20241224122826.png

El servidor web es un apache

Pasted image 20241116144941.png
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

Encontramos de que hay un directorio `/images
Pasted image 20241116145525.png

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


🕵️ Análisis de vulnerabilidades

Como primer paso, realizamos una inspección del código. A continuación, encontramos un comentario que decía...
Pasted image 20241116144103.png
Como no sabíamos qué era, lo buscamos por internet y descubrimos que se trataba del lenguaje Brainfuck.
Pasted image 20241116144113.png
Lo decodificamos y obtenemos lo siguiente. Aunque no sabemos exactamente qué significa, podría tratarse de una contraseña.
Pasted image 20241116144610.png

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.
Pasted image 20241116182408.png
Descubrimos, utilizando el comando help, que para ejecutar un comando en Bash debemos usar la sintaxis ! [cualquier comando]
Pasted image 20241116183546.png
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.

¡Ya somos root!

Pasted image 20241116183201.png