Kioptrix Level 3 (1.2) VulnHub Boot2Root

20 April 2017

Kioptrix Level 3 Boot2Root Vulnhub

URL de la máquina: https://www.vulnhub.com/entry/kioptrix-level-12-3,24/
Descripción: It’s been a while since the last Kioptrix VM challenge. Life keeps getting the way of these things you know.

After the seeing the number of downloads for the last two, and the numerous videos showing ways to beat these challenges. I felt that 1.2 (or just level 3) needed to come out. Thank you to all that downloaded and played the first two. And thank you to the ones that took the time to produce video solutions of them. Greatly appreciated.

As with the other two, this challenge is geared towards the beginner. It is however different. Added a few more steps and a new skill set is required. Still being the realm of the beginner I must add. The same as the others, there’s more then one way to “pwn” this one. There’s easy and not so easy. Remember… the sense of “easy” or “difficult” is always relative to ones own skill level. I never said these things were exceptionally hard or difficult, but we all need to start somewhere. And let me tell you, making these vulnerable VMs is not as easy as it looks…

Important thing with this challenge. Once you find the IP (DHCP Client) edit your hosts file and point it to kioptrix3.com

Solución

En primer lugar, y como en todas las máquinas que estamos realizando, lo primero en realizar siempre es un escaneo de puertos de la máquina para comprobar que servicios están corriendo en ella.

_config.yml

Vemos que hay un apache corriendo en el puerto 80 y el servicio ssh en el puerto 22. Vamos a empezar mirando por el apache.
Introduccimos la dirección IP en el navegador y lo primero que nos encontramos es con una especia de blog.Trás un rato dando vueltas por la página, vemos una frase que nos llama la atención indicandonos que se trata de un CMS.

_config.yml

Buscamos un poco por internet y parece ser que hay un exploit para el cms, que permite la ejecución de comandos. https://github.com/Hood3dRob1n/LotusCMS-Exploit

Descargamos el exploit del github de arriba y lo ejecutamos con el siguiente comando (recordar que hemos apuntado la IP de la máquina a un dominio tal y como indican en la descripción, en este caso, kioptrix3.com)

bash lotusRCE.sh kioptrix3.com /

Ponemos a escuchar un netcat en nuestra máquina local en el puerto 4444 y rellenamos los datos de la máquina a la que se tiene que conectar y el puerto

_config.yml

Una vez que podemos ejecutar comando,vemos que hay una carpeta gallery, por lo que entramos en ella mediante la web y trás consultar unos cuantos ficheros a través del navegador nos topamos con mensaje de error de sql.

_config.yml

Ponemos el parámetro que le falta a la url y se ve correctamente como se muestra en la siguiente imagen:

_config.yml

Dado que parece haber un sqlinjection, utilizamos la herramienta sqlmap para que la explotación sea rápida y obtenemos las siguientes bases de datos y las tablas de la que realmente nos interesa, en este caso gallery:

_config.yml

En las tablas de gallery,vemos que hay dos tablas que pueden ser interesantes,dev_accounts y gallerific_users por lo que procedemos a dumpearlas con el siguiente comando:

python sqlmap.py –url http://kioptrix3.com/gallery/gallery.php\?id=1 –dump –dbs gallery

La tabla de gallerific_users contiene un usuario para loguearnos en la aplicación web, y la tabla dev_accounts contiene dos usuarios como muestra la siguiente imagen:

_config.yml

Vamos a https://hashkiller.co.uk/ para comprobar si alguno de los hashes md5 que nos arroja la tabla está crakeado y tenemos suerte:

dreg 0d3eccfb887aabd50f243b3f155c0f85 : Mast3r
loneferret 5badcaf789d3d1d09794d8f021f40f0e : starwars

Probamos a conectarnos con estos dos usuarios y vemos que tenemos suerte con el usuario loneferret y la contraseña starwars.

Una vez dentro de la máquina lo primero que hacemos es listar los ficheros del directorio, donde vemos que hay un readme.

_config.yml

Mostramos el fichero del readme

_config.yml

y este nos indica que utilicemos el comando “sudo ht” que es un editor de ficheros. Comprobamos que permisos tiene ese fichero y vemos que tiene el bit suid activado, por lo que al ejecutarse será como root.

_config.yml

Por lo que vamos a modificar el fichero sudoers para asignar permisos de root al usuario loneferret. Para ello lo que hacemos es añadir el binario /bin/bash para que cuando se ejecute sea con permisos de root.

_config.yml

Trás guardar los cambios, comprobamos que comandos de superusuario podemos ejecutar con el usuario loneferret y comprobamos que se ha añadido correctamente /bin/bash, por lo que ejecutamos el comando y comprobamos que efectivamente ahora somos el usuario root.

_config.yml


← Kioptrix Level 2 VulnHub Boot2Root Securi-Tay 2017 PentesLimited Boot2Root »