Pntopntobarra
🚀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 -sVC -p- -n --min-rate 5000 172.17.0.2
-sVC: Escaneo de versiones de servicios y ejecución de scripts.-p-: Escanea todos los puertos (1-65535).-n: Desactiva la resolución DNS.--min-rate 5000: Envía paquetes a una tasa mínima de 5000 por segundo para acelerar el escaneo.

El escaneo revela la presencia de un servicio HTTP en el puerto 80 y un servicio SSH en el puerto 22.
Entramos a la página

🕵️ Análisis de vulnerabilidades
Después de realizar un fuzzing inicial e inspeccionar el código fuente de la página, no había encontrado nada relevante. Sin embargo, algo se me escapaba. Al observar más detenidamente el mensaje de la LeFvIrus", noté que hacía referencia a LFI (Local File Inclusion). Esto era una pista directa sobre la presencia de esta vulnerabilidad en la aplicación.
Explorando la página, hice clic en el enlace "Ejemplos de computadoras infectadas", que apuntaba a:
http://172.17.0.2/ejemplos.php?images=./ejemplo1.png.
Al cargar la página, noté que el parámetro images era vulnerable, ya que aceptaba rutas relativas para cargar archivos. Esto confirmó la presencia de una vulnerabilidad LFI.
Para explotarla, utilicé el siguiente comando de fuzzing para probar diferentes entradas y buscar archivos sensibles como /etc/passwd:
wfuzz -c --hc=404 --hw=33 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt "http://172.17.0.2/ejemplos.php?FUZZ=/etc/passwd"
🎯 Explotación
Tras confirmar la vulnerabilidad LFI, ingresamos la siguiente URL en el navegador:
http://172.17.0.2/ejemplos.php?images=/etc/passwd
Al cargar la página, observamos el contenido del archivo /etc/passwd, que lista los usuarios del sistema. Entre ellos, encontramos un usuario llamado nico, lo que llamó nuestra atención.


Sabíamos que para conectarnos como el usuario nico era necesaria una clave privada. Siguiendo la lógica, nos dirigimos al directorio de claves SSH del usuario:
http://172.17.0.2/ejemplos.php?images=/home/nico/.ssh/id_rsa
Al acceder a esta URL, obtuvimos el contenido de la clave privada id_rsa del usuario nico. Copiamos la clave y la guardamos en un archivo local para utilizarla más adelante en nuestra conexión SSH.

Después de obtener la clave privada, intentamos conectarnos al sistema como el usuario nico utilizando el siguiente comando:
ssh nico@172.17.0.2 -i id_rsa
Ahora ya que tenemos la clave privada podremos conectarnos

📈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 ENV que podemos ejecutar como administrador.

l consultar la página GTFOBins, encontramos que usando el siguiente comando podemos obtener privilegios de administrador:


