Schooled
Última actualización
¿Te fue útil?
Última actualización
¿Te fue útil?
Nombre de la máquina:
IP de la máquina:
10.10.10.234
Sistema simulado:
Free BSD
Servicio vulnerado:
Moodle 3.9
CVEs:
Comenzamos el ejercicio realizando un scan sobre la IP de la máquina schooled, detectando algunos servicios corriendo en los puertos 22, 80 y 33060.
Navegamos por el puerto 80 y nos encontramos el portal web de un colegio.
Tras una comprobación rápida no encontramos nada interesante a primera vista. Es por eso que vamos a aplicar fuzzing de cara a buscar subdominios que nos puedan dar algo de información.
Descubrimos que tiene un servicio Moodle montado en Moodle.schooled.htb.
Creamos un usuario en la plataforma y nos enrolamos en alguno de sus cursos. En nuestro caso, iremos al curso de matemáticas y seguiremos buscando información. Vamos a los participantes del curso y filtramos por los dos roles que parecen interesantes “course creator” y “teacher”. Encontrando el perfil de Manuel Philips.
Buscamos la versión de Moodle activa mediante el archivo ubicado en /Moodle/lib/upgrade.txt dando con la versión 3.9, la cual tiene la vulnerabilidad CVE 2020-25627 relacionada con inyección XSS.
Mediante ese CVE podremos aprovecharnos de la vulnerabilidad en el apartado “MoodleNet Profile” de nuestro perfil de usuario, por lo que inyectamos código y levantamos un netcat para conseguir la cookie de Manuel Philips.
Inyectamos la cookie de Manuel Philips y conseguimos iniciar sesión con su usuario
Ahora nos aprovecharemos de la vulnerabilidad CVE2020-14321 para conseguir el rol de manager. Para ello utilizaremos Burpsuite para modificar el parámetro de ID y asignarnos el rol necesario.
En ese momento pasaremos a tener el rol de manager:
En este momento buscaremos el usuario de “Lianna Carter” e iniciaremos sesión en él como administrador pulsando en la parte inferior del panel.
Después tendremos que subir RCE preparado para Moodle a la plataforma el cual activaremos iniciando el módulo de plugin en el que se monta el archivo.
Una vez realizado esto podremos realizar consultas al archivo que hemos subido como plugin consiguiendo ejecutar código remoto.
Ejecutamos código remoto codificando la generación de una revershell desde el navegador.
Esto hará que consigamos acceso en el servicio NetCat que hemos levantado.
Una vez realicemos este paso, accedemos al archivo config.php de Moodle y encontramos una pass para acceder a la base de datos.
Accedemos a la base de datos MySQL con la contraseña y buscando los usuarios y contraseñas de la tabla mdl_user.
Una vez tenemos el hash del usuario administrador solo tenemos que utilizar JohnTheRiper para, mediante el diccionario rockyou.txt, localizar la clave de administrador del usuario “admin”.
Pasados unos minutos el software nos devolverá la contraseña correcta. Una vez realizado esto iniciaremos sesión con el usuario “jamie” y accederemos al sistema FreeBSD.
En este punto debemos de comenzar con el proceso de escalada de privilegios. Realizando una investigación nos damos cuenta de que nosotros podemos crear un paquete malicioso para, mediante los permisos de pkg que tenemos proporcionados, instalar una revershell con privilegios de root.
Es necesario asegurarse de dar permisos de escritura al script. Este script nos permitirá generar una revershell y estando en escucha en nuestro NetCat iniciar sesión como root, obteniendo acceso como administrador al sistema.
y
Si te he ayudado sígueme y apóyame en