🔴InsanityHosting
Write-up de la máquina InsanityHosting de Proving Grounds #writeup #walkthrough
Last updated
Write-up de la máquina InsanityHosting de Proving Grounds #writeup #walkthrough
Last updated
Comenzamos la resolución de esta nueva máquina enumerando que servicios tiene abiertos el objetivo. Primero realizamos el escaneo rápido de servicios.
Tres puertos abiertos: 21, 22 y 80. Seguimos con la enumeración profunda de estos servicios.
Destacable, podemos iniciar sesión de manera anónima en el servidor FTP.
Servicios abiertos
Puerto 21 -> FTP -> vsftpd 3.0.2
Puerto 22 -> SSH -> OpenSSH 7.4
Puerto 80 -> HTTP -> Apache httpd 2.4.6
El sistema víctima está ejecutando un servidor FTP, en el cual podemos iniciar sesión de manera anónima. Veamos si contiene información interesante.
Encontramos un directorio "pub", en el cual no hay nada interesante.
En la máquina objetivo se está ejecutando un servidor Web en el puerto 80. Vamos a ver que contiene y a enumerar sus directorios y archivos.
Vamos a enumerar directorios y archivos interesantes que nos permitan avanzar en la resolución de la máquina.
Hay múltiples directorios que pueden ser interesantes.
En el directorio /news, encontramos un posible nombre de usuario de sistema.
Encontramos también un Panel de phpmyadmin para el cual no tenemos credenciales.
Y un login de inicio de sesión.
Y otro login de sesión, en este caso parece que para un servidor Mail.
Tenemos un nombre de usuario, y un par de paneles de login. Vamos a realizar un pequeño ataque de fuerza bruta con Burp Intruder sobre estos logins.
Aunque todas las configuraciones de usuario y contraseña devuelven resultado 302, si analizamos las respuestas a las peticiones, vemos que la contraseña 123456 nos redirige a "index.php" mientras que las demás se quedan en "login.php".
Tenemos unas credenciales, otis:123456. Volvemos al login e intentamos iniciar sesión.
Accedemos a un Panel de Control con las credenciales obtenidas.
Vamos a tratar de iniciar sesión también en el otro login de inicio de sesión en el servidor Mail con las mismas credenciales anteriores.
Credenciales válidas.
Vamos a crear un servidor con una IP erronea y vemos la respuesta, que se envía al servidor Mail.
Viendo la respuesta obtenida, parece que la información se extrae de la base de datos del sistema. ¿Podría existir una vulnerabilidad de SQLi? Vamos a comprobarlo.
Existe una vulnerabildad de SQLi. Vamos a obtener el nombre de la base de datos y el nombre de usuario.
Obtenemos la lista de bases de datos.
Veamos el contenido dentro de la base de datos "monitoring"
Veamos que información contiene la tabla "users"
Obtenemos varios nombres de usuarios con hashes aparentemente de contraseñas.
Vamos a repetir el mismo proceso anterior también para la base de datos "mysql".
Y volvemos a encontrar más usuarios con sus respectivos hashes de contraseñas. Vamos a tratar de descifrar todos los hashes para obtener credenciales que podamos utilizar.
De los hashes obtenenidos de la base de datos "mysql" encontramos una coincidencia para el usuario "elliot".
Vamos con los otros hashes. Pero no obtenemos resultados positivos para ningún hash.
Anteriormente, encontramos unas credenciales para el usuario "elliot" y la máquina objetivo ejecuta un servicio SSH en el puerto 22. Vamos a probar si las credenciales elliot:elliot123 son válidas.
PD: Cambiamos de IP por reinicio de la máquina.
Buscamos la flag local.txt
Una vez tomamos acceso al sistema como usuario "elliot", el siguiente paso será intentar obtener privilegios máximos dentro del sistema. Mientras enumerabamos anteriormente para buscar la flag local.txt, en el directorio del usuario "elliot" encontramos una carpeta .mozilla que no es común. Veamos su contenido.
Dentro de firefox encontramos un directorio que contiene diferentes archivos .db, cache... relacionados con el navegador Web.
Copiamos esta carpeta a nuestra máquina de ataque.
Existe un tool que podemos descargar aquí, que sirve para descifrar estos archivos descargados y extraer entre otras cosas credenciales almacenadas en el navegador.
Obtenemos las credenciales root:S8Y389KJqWpJuSwFqFZHwfZ3GnegUa. ¿Serán las credenciales del usuario "root"? Vamos a comprobarlo.
Obtenemos acceso al sistema con privilegios máximos. Solo queará buscar la flag proof.txt para terminar la resolución de este CTF.