Image
Resolviendo Kioptrix 1 de VulnHub

Resolviendo Kioptrix 1 de VulnHub

¡Hola a todos!

En el artículo de hoy os vamos a contar los pasos a seguir para encontrar el root y el mensaje de la maquina Kioptrix de la plataforma vulhub. 

VulHub es una página donde pueden encontrarse diversas prácticas y recursos para aprender acerca de seguridad, administración y redes, en su mayoría en forma de reto. 

Estos retos tienen como finalidad el enseñar materia de seguridad consiguiendo un objetivo, que suele ser el ganar el acceso a root o administrador. 

En este caso haremos un reto cuyo objetivo es conseguir el root y una flag o mensaje. Normalmente dentro de un fichero, dentro de la propia maquina (más o menos escondido), que podemos conseguir cumpliendo una serie de objetivos y consiguiendo acceso a parte del sistema. La flag o mensaje es la prueba de que hemos conseguido cumplir con el objetivo y por decirlo de alguna forma hemos superado el reto o prueba.

Sin más que decir vamos a la presentación de la maquina

Como vemos necesitamos credenciales para poder acceder y no disponemos de alguna ip para poder jugar. 

Metodo 1

 Utilice netdiscover para encontrar la IP de la maquina vulnerable, utilizamos la siguiente sintaxis:

netdiscover -i eth0

Como observamos la ip asignada a la maquina vulnerable kioptrix es 172.16.46.138, una buena práctica seria el comenzar con nmap para verificar los puertos abiertos y los servicios en ejecución. Estos nos podrán dar más información sobre la máquina. 

Usando el comando:

nmap -sS -sC -sV -O

Dentro de los resultados podemos observar que está habilitado el puerto 80 con http, esto nos intuye a visitar 172.16.46.138 para ver con que nos podemos encontrar, al entrar vemos:

Al navegar un poco a través de la web vemos que no tenemos mucho camino, por ende, procedemos a utilizar gobuster para buscar (directorios y archivos) que puedan estar alojados en el sitio web.

Una vez finalizado, el resultado de gobuster nos permite observar 2 ficheros más:

http://172.16.46.138/index.html

http://172.16.46.138/test.php

Entramos dentro de ellos, pero no encontramos más información que pudiera ser relevante. 

Seguimos analizando los resultados del nmap vemos que en el puerto 80 y 443 tenemos Apache mod_ssl 2.8.X OpenSSL. Pasamos a buscar con searchsploit si la versión tiene algún exploit. 

searchsploit Apache mod_ssl 2.8 OpenSSL

O un poco de Osint colocando la sintaxis Apache httpd 1.3.20 mod_ssl 2.8.4 con google

Utilizamos el exploit ubicado en la ruta:

/usr/share/exploitdb/exploits/unix/remote/47080.c copiamos el exploit y lo movemos a otra ruta lo compilamos gcc -o OpenFuck OpenFuck.c -lcrypto al ejecutarlo indica que necesita un requerimiento, instalamos el requerimiento: apt-get install libssl-dev

Ahora pasamos a utilizarlo contra la maquina vulnerable:

./OpenFuck 0x6b 172.16.46.138 443 -c 40

Como vemos una vez ejecutado el exploit con el comando id visualizamos que somo root. Luego de estar revisando un poco las rutas de los directorios dentro de /var/mail/ encontré un archivo llamado root que nos da el mensaje.

Nos indica:

Si estás leyendo esto, tienes root. Felicitaciones.

El nivel 2 no será tan fácil. 

Metodo 2 

Si bien vemos en el escaneo con nmap está habilitado el puerto 139 con el servicio de samba, pero no indica la versión. Tomando en cuenta de que existe exploits para samba podemos seguir divirtiéndonos y enumerar los servicios de los mismos. 

Concretamente para esta máquina y para enumerar los servicios smb utilice Kali-Linux-2017.1 esto para evitar problemas con versiones nuevas como por ejemplo de dependencias, entre otros. 

Existen diferentes caminos para la enumeración smb en esta oportunidad usamos smbclient, enum4linux, y el módulo de escáner de metasploit (auxiliary/scanner/smb/smb_version)

Como vemos al utilizar diferentes herramientas queda claro que la versión de Samba es 2.2.1, pasamos a utilizar nuevamente searchsploit

O nuevamente con nuestro fiel amigo google, al igual que en la búsqueda con searchspoit me di cuenta que tenía más de una opción así que vamos a verlas:

Descargamos el exploit con wget [https://www.exploit-db.com/exploits/10/](https://www.exploit-db.com/exploits/10/) (Samba < 2.2.8 (Linux/BSD) - Remote Code Execution)

Una vez listo lo compilamos con gcc y ejecutamos el exploit

Nuevamente logramos obtener el root y el mensaje. Utilizaremos otro exploit para comprobar si nos funciona, esta vez para hacerlo diferente lo hacemos con metasploit

Si observamos bien da varios errores con OpenSSL indagando un poco sobre el tema logre solucionarlo cambiando la carga útil (payload) linux/x86/shell_reverse_tcp

Colocamos LHOST nuestra [IP] y exploit

Nuevamente tenemos acceso.

Y así finaliza nuestro post para Security Garage. Espero que os haya resultado interesante, y que hayáis aprendido algo nuevo. Y buscar siempre más de un camino ¡Hasta pronto!


Andrés González

Andrés González