Resolución del CTF TORTILLA PAPAS
Enumeración
Escaneo de puertos
Realizamos un escaneo de todos los puertos para saber cuáles están activos.

Los parámetros utilizados son:
- -p- : Escaneo de todos los puertos. (65535)
- -sS : Realiza un TCP SYN Scan para escanear de manera rápida que puertos están abiertos.
- -sC : Realiz una escaneo con los scripts basicos de reconocimiento
- -sV : Realiza un escaneo en buqueda de los servicios
- –min-rate 5000: Especificamos que el escaneo de puertos no vaya más lento que 5000 paquetes por segundo, el parámetro anterior y este hacen que el escaneo se demore menos.
- -n: No realiza resolución de DNS, evitamos que el escaneo dure más tiempo del necesario.
- -Pn: Deshabilitamos el descubrimiento de host mediante ping.
Nos encontramos ante una web

Vamos a fuzzear un poco en busca de archivos «php, txt, html y sh»

Nos encontramos con un archivo «agua.php«, lo cual me da por pensar en un LFI:
Intentamos fuzzear para encontrar con suerte un LFI, pero necesitamos el parámetro que nos de el archivo.

Vamos a lanza el diccionario de reconocimiento de LFI para detectar posibles vectores de ataque y vemos que podemos acceder a recursos internos mediante LFI.

Podemos ver el archivo «/etc/passwd» y enumerar usuarios.

Además podemos acceder al archivo access.log para hace un log poisoning, os dejo mas sobre este ataque en mi blog

Aunque si navegamos entre directorio encontramos una clave id_rsa.

Copiamos la clave en un archivo y sacamos el hash para romperlo con John The Ripper puesto que la clave esta protegida con contraseña.

Le damos permisos de ejecución y entramos con el usuario «sincebolla«

Vemos que el usuario «sincebolla» puede ejecutar sin contraseña el binario «/usr/sbin/smokeping» como concebolla;

Si investigamos un poco vemos que con este binario podemos aprovechar el manual para ejecutar una bash.

Dentro del manual ejecutamos una bash.

Y somos el usuario «concebolla«

EL usuario «concebolla» pertenece al grupo «lxd«, en esta pagina nos explica como podemos escalar privilegios mediante lxd;

Entonces, descargamos la construcción alpina y nos lo traemos a la maquina victima

Vamos a mover el archivo al directorio «/tmp» para después construir la imagen y agregar una imagen «LXD«, utilizamos el comando «list» para listar las imágenes y podemos ejecutar una bash como root.
