Pluck VulnHub Boot2Root

28 March 2017

Pluck Boot2Root Vulnhub

URL de la máquina: https://www.vulnhub.com/entry/pluck-1,178/
Descripción: “Enjoy” — @ryanoberto

Solución

Lo primero que hacemos siempre, es realizar un escaneo de puertos de la máquina para ver que servicios están corriendo.

_config.yml

Vemos que tiene abiertos los puertos 80, 22, 3306 y el 5355.

Empezamos por mirar el puerto 80 accediendo a la IP de la máquina a través del navegador.

Hacemos una vuelta de reconocimiento por la página para ver que funcionalidades presenta, buscamos el fichero robots.txt, etc. Vemos que el fichero robots.txt no existe.Pasamos a analizar las funcionalidades de la página y comprobamos que existe un apartado para dejar comentarios y un login.Lo primero que probamos es meter la típica comilla y vemos que nos arroja un error de SQL. _config.yml

Parece que hay un SQLinjection, por lo que probamos a intentar explotarlo pero sin éxito. Más tarde volveremos a este punto. También vemos que en la página de index.php hay un parámetro page donde se referencian archivos. Es la tipología clásica del local file inclusión, por lo que probamos a ver si podemos ver el fichero /etc/passwd y efectivamente existe la vulnerabilidad. _config.yml

Al final del fichero de /etc/passwd , se puede observar como se crea un backup de la máquina mediante un script en bash. Accedemos también a él para comprobar que es lo que hace el script. _config.yml

Nos indica que se realiza un backup y la ruta donde se almacena por lo que vamos a bajarnos el backup a ver que encontramos en él. _config.yml

Una vez descargado el backup, para poder descomprimirlo hay que eliminar la parte de HTML que hay tanto por el principio como por el final, porque sino no seremos capaces de descomprimirlo,ya que nos dará errores.

Dentro de la carpeta de home se puede observar que hay 3 usuarios, y en uno de ellos hay una carpeta keys con varias claves.

_config.yml

Anteriormente, mediante el escaneo de puertos hemos visto que se encontraba el puerto del ssh abierto, por lo que intentamos loguearnos con la claves en ese servicio viendo que tenemos suerte con la clave id_key4

ssh -i id_key4 paul@192.168.1.115

Una vez conectados por ssh a la máquina nos aparece una especie de menu, con el que podemos interactuar con la máquina.

_config.yml

Trás estar probando las diferentes opciones, vemos que en varias funciones se realizan ejecución de comando en la máquina ya sea un cd para cambiar de directorio, un ls para listarlo o el uso del editor vim para editar un fichero. Vamos a comprobar el contenido del fichero login.php para comprobar que tipo de petición se realiza y comprobar porque no hemos podido explotar el sqlinjection antior.

_config.yml

No lo habíamos podido explotar ya que se trataba de un fake, por lo que nos dedicamos a jugar un poco con el menu que nos proporciona la sesión ssh. Trás un rato jugando con las opciones que proporciona el menu de la sesión ssh, intentamos ejecutar comandos en la consola concatenandolos con el uso de ;. Vemos que en la opción de editar fichero, podemos ejecutar comandos por lo que ejecutamos un shell para salir del menu y poder trabajar más comodamente.

_config.yml

Una vez que tenemos la shell, buscamos para ver si hay algún fichero con el bit suid activo que nos pudiera ser útil.

_config.yml

No encontramos nada fuera de lo normal, por lo que vamos a ver si hubiera algua vulnerabilidad pública para el kernel de la máquina

_config.yml

Tenemos suerte y la versión del kernel de la máquina es vulnerable a DirtyCow, por lo que descargamos el exploit en la máquina, lo compilamos tal y como indican y lo ejecutamos. _config.yml

Dado que hemos comprobado que efectivamente somos root ya solo queda mostrar el contenido del fichero flag.txt.

_config.yml


← 64Base VulnHub Boot2Root Kioptrix Level 1 VulnHub Boot2Root »