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.
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