Writeup de la Máquina LOAD

Fase de reconocimiento

Para comenzar esta máquina, haremos un primer escaneo con nmap para ver los puertos
abiertos que tiene el equipo. Para ello, ejecutaremos el comando:

sudo nmap -p- –open -sS –min-rate 5000 -vvv -n -Pn 192.168.0.17 El resultado será el siguiente:

Como vemos, en el puerto 80 tenemos un archivo robots.txt que nos muestra una ruta potencial. Vamos a esa ruta para ver qué nos encontramos

 

En esta parte haremos un reconocimiento de posibles directorios dentro de la web. Para ello, utilizaremos la herramienta wfuzz:

wfuzz -c -w /usr/share/wordlists/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt --hc=404 http://192.168.0.17/ritedev/FUZZ

La salida nos muestra lo siguiente:

Muchos de esos directorios son Rabbits Holes. Para dar con algún recurso interesante buscaremos en la raíz del CMS para ver si existe algún fichero PHP.

 

Como vemos, tenemos una página de Log in.

 

 

Probaremos con usuarios y contraseñas comunes, como admin – admin, guest – guest…
Al insertar «admin – admin», podremos ganar acceso al panel de administración del CMS.

 

Fase de explotación

El panel nos muestra lo siguiente:

Si nos dirigimos a «Files Manager» veremos que hay una vía potencial de subir archivos al sistema.
Intentaremos subir una reverse shell en PHP, la cual podemos conseguir desde el repositorio de Pentestmonkey
Podemos descargarla en nuestro sistema utilizando el comando:

wget https://raw.githubusercontent.com/pentestmonkey/php-reverse-shell/master/php-reverse-shell.php

Una vez lo tengamos en el sistema, podremos adentrarnos en el fichero y cambiar los parámetros de configuración para poner nuestra IP y el puerto en el que estaremos en escucha, que en nuestro caso será el puerto 443.

 

Una vez lo tengamos cambiado, intentaremos subirlo al CMS.

Como vemos en la zona superior, éste se encontrará en el directorio «media», el cual encontramos en la fase de reconocimiento con nmap.
Con esto conseguiremos generar una reverse shell en nuestro equipo y tener acceso al sistema.
Nos dirigiremos al directorio media y escribiremos el nombre de nuestro archivo php. También abriremos Netcat para que escuche por el puerto seleccionado, de la siguiente manera:

nc -nvlp 443

Al darle al Enter en la web, nos enviará una reverse shell a nuestro equipo.

 

 

Una vez hecho esto, necesitaremos hacer un tratamiento de la tty. Para ello tendremos que poner el comando:

script /dev/null -c bash

Daremos a Ctrl + Z y en nuestra terminal ejecutaremos:

stty raw -echo; fg

Ejecutaremos un reset y exportaremos como terminal «xterm» y como Shell «bash».

 

 

Utilizaremos sudo -l para ver con qué servicios podemos trabajar, y, como vemos, podemos ejecutar como usuario travis «crash».

 

 

Fase de escalada de privilegios

User Pivoting

Nos dirigiremos a la página de GTFOBins y buscaremos por «crash». Como vemos, podemos ejecutar como sudo el comando «crash -h» y seguidamente hacer un «!sh» para que nos devuelva una shell como el usuario travis.

 

Como travis, podremos visualizar la flag en su directorio personal.

 

 

Una vez hecho esto, buscaremos qué servicios podemos ejecutar usando de nuevo el comando sudo -l.

 

 

Para abusar de este binario, podremos utilizar el parámetro «source» seguido de un ficheroque queramos leer.
Al igual que la máquina Hidden, intentaremos ver el fichero id_rsa de root con el comando:

sudo -u root /usr/bin/xauth source /root/.ssh/id_rsa

Al ejecutarlo, nos encontraremos lo siguiente.

 

Le haremos un tratamiento para que quede el id_rsa completo, consiguiendo:

 

 

Hecho esto, le daremos permisos al fichero id_rsa con:

 

sudo chmod 6000 id_rsa

 

Accederemos vía SSH con el usuario root y añadiendo su id_rsa.

 

 

Aquí ya estaremos dentro de la máquina como el usuario root.

 

Si listamos los ficheros ocultos podremos ver la flag.

 

 

Deja un comentario