Iniciamos con un escaneo de puertos abiertos:
hacemos un escaneo de servicios a los puertos abiertos:
Observamos que el puerto 80 nos ofrece un servicio http y nos dirigimos a él:
Lanzamos gobuster en busca de directorios ocultos:
Entre otros conseguimos el directorio PANEL y UPLOADS:
El directorio UPLOADS nos permite subir archivos, lo que hace sensible a la página a inserción de archivos maliciosos. Como la página del index es PHP, probamos con un archivo malicioso PHP con una Reverse Shell para conseguir acceso. Buscamos código en Internet:
Después de descargarlo, renombramos a un nombre más corto:
Editamos para colocar nuestra IP Tun0 y el puerto seleccionado para recibir la reverse shell:
Intentamos subirlo sin éxito ya que no nos permite subir archivos con extensión PHP:
Podemos utilizar el archivo con alguna extensión que nos permita y se pueda ejecutar en la web:
Renombramos el archivo con extensión .PHP5:
Ahora si pudimos subirlo con éxito:
Localizamos donde se aloja el archivo en la carpeta UPLOADS. Nos aseguramos de estar en escucha por el puerto seleccionado con NETCAT:
Ejecutamos el archivo y conseguimos la reverse shell:
Funcionó. Hacemos el tratamiento de TTY para obtener una shell totalmente interactiva:
script /dev/null -c bash
Ctrl Z
stty raw -echo; fg
reset xterm
export TERM=xterm
export SHELL=bash
Con la shell interactiva buscamos nuestro user.txt e intentaremos escalar privilegios:
Buscamos binarios con permisos SUID para ver si alguno nos permite escalar privilegios:
El binario PYTHON es uno de los sospechosos, así que intentamos:
Nos movemos al directorio donde se encuentra el binario y ejecutamos. Conseguimos root:
Ya siendo usuario ROOT nos dirigimos al directorio de este usuario para terminar el desafío.