Roskyfrosky


Pluck VulnHub Boot2Root

28 Mar 2017 » vulnhub

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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

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.

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