Hacemos el reconocimiento con nmap:
Vemos que por el puerto 3333 corre un servidor web, por lo que debemos ponerlo en el buscador y accedemos:
Ahora vamos a hacer fuzzing a esta página web en busca de directorios, donde nos encontramos con el directorio internal:
Lo probamos en la web y podemos acceder a una web donde podemos subir algún archivo:
Probamos en crear un archivo .php malicioso para subirlo en la web:
Pero si lo intentamos subir no nos deja:
Por lo que tendremos que recurrir a burpsuite e interceptamos la petición justo en el momento de subir el archivo:
Pero podemos probar en cambiarle el nombre por phtml y veremos que ahora sí nos lo acepta:
Y ahora si navegamos al directorio uploads, nos encontramos con el archivo malicioso que acabamos de subir:
Y tenemos ejecución remota de comandos:
Ahora url-encodeamos el comando para mandarnos una reverse shell y lo pegamos en la url mientras permanecemos en escucha con netcat:
Y ya hemos recibido la shell reversa:
Dentro del directorio de bill obtenemos la flag de user:
Tras hacer una búsqueda de binarios con permisos de root, llama la atención el systemctl:
Nos informamos en gtfobins cómo escalar privilegios con este binario y nos encontramos con esto:
Por tanto vamos a crear un script con este contenido pero modificando la ruta absoluta del binario systemctl y poniendo también el comando para visualizar la flag de root dentro de /tmp/output:
#!/bin/bash TF=$(mktemp).service echo '[Service] Type=oneshot ExecStart=/bin/sh -c "cat /root/root.txt > /tmp/output" [Install] WantedBy=multi-user.target' > $TF /bin/systemctl link $TF /bin/systemctl enable --now $TF
Y lo ejecutamos:
Y ahora tenemos un archivo llamado output con el contenido de la flag de root:
Aunque también podríamos haber ejecutado el siguiente comando:
chmod u+s /bin/bash
Y de esta forma le habremos cambiado los permisos a la bash, para poder ejecutar el comando bash -p y obtener una bash como root:


















