jueves, 25 de mayo de 2017

Walkthrough - Máquina Vulnerable KIOPTRIX lvl 1.2 -


Continuamos las entradas del blog aprovechando algunas de mis prácticas que realicé recientemente para una curse de seguridad y hacking ético.



En este caso concreto se trata de una de las máquina vulnerable Kioptrix, más concretamente al tercer nivel, y antes de nada decir al igual que en las anteriores que no hay un "único camino bueno" y este es solo uno de los muchos que puedes seguir; pero siempre hay mas de un modo de "jugar" con estas máquina y sus vulnerabilidades...

Manos a la obra!! Una vez descargada la máquina virtual desde su propia web y arrancada la misma nos ponemos al lio!

Analizamos en primera instancia con nMap los servicios y versiones que ofrece la máquina, obteniendo como resultado que se trata de OS Linux



Lanzamos un segundo escaneo más completo con nMap para obtener más información sobre las versiones de los servicios que están corriendo en la máquina.




Observamos que además de tratarse de un Linux Ubuntu basado en Debian 8 tiene un servidor web Apache corriendo (http en el puerto 80) y decidimos acceder desde el navegador a la dirección IP de la máquina para ver que nos encontramos allí... parece una especie de blog




En la tercera y ultima pestaña podremos observar que hay un formulario de login para acceder a otra parte de la web; nos “quedamos con la copla” por si los posibles SQLi aunque a priori no parece vulnerable por esa vía.
Nos quedaremos igualmente con la copla del banner inferior que indica que esta gestionado por Lotus CMS… un gestor de contenido del que, después de un “googleo”, parece tener bastante detractores y ser vulnerable en alguna de sus versiones.

 


Utilizo wfuzz para tratar de sacar más directorios accesibles del servicio web. También utilizo NIKTO para detectar posibles vulnerabilidades del servicio Apache que está ejecutándose




Entre los resultados arrojados tanto por wfuzz como por NIKTO llama la atención la existencia del directorio PhpMyAdmin, que comúnmente gestiona las bases de datos de la propia web. Quizás a través de ello podamos conseguir algunas credenciales…



  
Decidimos levantar Metasploit en nuestro KALI y tras algunas búsquedas de PHP, phpmyadmin, etc… se nos ocurre buscar por Lotus CMS y encontramos un exploit con bastante buen rango llamado lcms_php_exec



Decidimos seleccionarlo y proceder a su configurado para probar suerte con ello usando el payload php/meterpreter/reverse_tcp y lanzándolo





FUNCIONA!! Conseguimos una maravillosa sesión de meterpreter en la máquina objetivo!



Recolectamos información básica sobre el equipo y la sesión observando que el usuario con el que hemos obtenido sesión es www-data que interpretamos es usuario por defecto de Apache, los cuales no suelen tener demasiados permisos ni privilegios.




Nos movemos por los directorios hasta llegar a la raíz de home, donde encontramos diferentes carpetas (además de la del usuario de nuestra sesión) homes que entiendo pertenecen a los usuarios “loneferret” y “dreg”.



Entramos en la carpeta de ambos usuarios a “cotillear” un poco pero a simple vista tampoco nos parece ver nada particular allí dentro




La mayoría de archivos parecen ocultos sin mucho interesante salvo un README aparentemente corporativo... decidimos continuar cotilleando y metiéndome donde no nos llaman… y esta vez con un curioso resultado: parece ser un comunicado de una política de empresa que permite usar el comando “sudo ht” para obtener ciertos permisos en un software recientemente instalado.



Decidimos regresar al directorio de partida, donde parecía haber “más chicha” respecto al portal web publicado desde la máquina objetivo.



Recorremos los diferentes directorios tratando de encontrar algo que llame la atención, y después de un bueeeeeeen rato recorriendo la estructura de directorios y archivos, dentro del directorio “gallery” encontramos un archivo php de configuración con información interesante




Probamos esas credenciales en el formulario que identificamos en la página web que está publicando el sitio pero no tenemos éxito, por lo que solo nos queda probar en la Administración propia de PHPMyAdmin.



Aquí sí que funciona! Estamos dentro como usuarios root de la administración php!



Logramos localizar los usuarios de la base de datos MySQL obteniéndolos directamente de su tabla “user



Igualmente localizo los usuarios de la base de datos “Gallery



Y también los de los usuarios del sistema!! Los “compis” Loneferret y Dreg!!! Inlcuiyendo lo shash de sus passwords!!!




Procedo a crackear los hashes de los password por la web crackstation pues parecen estar cifradas y, efectivamente, las interpreta como MD5 y me los da en texto plano



Con los password de los usuarios, teóricamente podríamos iniciar sesión como “loneferret” y el password “starwars” de modo que pruebo el acceso con esas credenciales a través de SSH… con resultado satisfactorio!!!



Vamos "uniendo la línea de puntos"… y haciendo memoria recordamos la política corporativa que descubrimos más arriba y que nos indicaba que podíamos usar el comando “sudo ht” para obtener privilegios en un software recién instalado, así que... lo lanzamos!.



Parece una especie de editor de archivos un tanto "rústico"… pero como en principio tenemos permisos de administrador, intentamos en primera instancia acceder al archivo /etc/shadow  para sacar los hashes de los usuarios y obtener el del usuario root



Pensamos que puede ser más rápido y más efectivo editar el archivo "/etc/SUDOERS" y así hacer al bueno del usuario “loneferret” privilegios y rol de root.



Guardamos el archivo y cerramos el editor, ejecutamos “sudo su” para hacer efectivo el cambio de permisos, me pide la contraseña y después de introducirla tratamos de acceder a la carpeta root. Allí encuentro la ansiada “flag” que me indica que he logrado el objetivo!!!





RETO SUPERADO!!!!!!!!!!!!!!!!!!

0 comentarios:

Publicar un comentario