← Volver a Tutoriales

📡 RootMe - WriteUp

// Escaneo de puertos

Iniciamos con un escaneo de puertos abiertos:

Primer escaneo

// Escaneo de servicios

hacemos un escaneo de servicios a los puertos abiertos:

Segundo escaneo

// Página principal

Observamos que el puerto 80 nos ofrece un servicio http y nos dirigimos a él:

Página principal

// Gobuster

Lanzamos gobuster en busca de directorios ocultos:

Escaneo Gobuster

// Directorios sensibles

Entre otros conseguimos el directorio PANEL y UPLOADS:

Panel y Uploads

// Reverse Shell PHP

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:

Reverse Shell PHP

// Preparando el archivo

Después de descargarlo, renombramos a un nombre más corto:

Renombrar archivo

Editamos para colocar nuestra IP Tun0 y el puerto seleccionado para recibir la reverse shell:

Editar IP

// PHP no permitido

Intentamos subirlo sin éxito ya que no nos permite subir archivos con extensión PHP:

PHP no permitido

Podemos utilizar el archivo con alguna extensión que nos permita y se pueda ejecutar en la web:

Cambio de extensión

// Subiendo archivo

Renombramos el archivo con extensión .PHP5:

Seleccionar archivo

Ahora si pudimos subirlo con éxito:

Subido con éxito

// Obteniendo Shell

Localizamos donde se aloja el archivo en la carpeta UPLOADS. Nos aseguramos de estar en escucha por el puerto seleccionado con NETCAT:

Netcat en escucha

Ejecutamos el archivo y conseguimos la reverse shell:

Reverse shell

// Tratamiento de TTY

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
        

// User flag

Con la shell interactiva buscamos nuestro user.txt e intentaremos escalar privilegios:

User flag

// Escalada de privilegios

Buscamos binarios con permisos SUID para ver si alguno nos permite escalar privilegios:

Binarios SUID
Python SUID

El binario PYTHON es uno de los sospechosos, así que intentamos:

Escalar con Python

// Root

Nos movemos al directorio donde se encuentra el binario y ejecutamos. Conseguimos root:

Root

Ya siendo usuario ROOT nos dirigimos al directorio de este usuario para terminar el desafío.

#writeup #rootme #ctf #reverse-shell #privilege-escalation