Devvortex
Last updated
Last updated
Devvortex es una máquina Linux de dificultad fácil que cuenta con un CMS Joomla que es vulnerable a la divulgación de información. Acceder al archivo de configuración del servicio revela credenciales de texto simple que conducen al acceso administrativo a la instancia de Joomla. Con acceso administrativo, la plantilla de Joomla se modifica para incluir código PHP malicioso y obtener un shell. Después de obtener un shell y enumerar el contenido de la base de datos, se obtienen credenciales en formato hash, que se descifran y conducen al acceso SSH a la máquina. La enumeración posterior a la explotación revela que el usuario tiene permiso para ejecutar apport-cli como root, lo que se aprovecha para obtener un shell root.
Iniciamos enumerando los puertos abiertos de la maquina victima
Encontramos que los puertos abiertos 22
y 80
. Luego enumeramos los servicios que se ejecutan en los puertos.
Vemos que en el puerto 22
se encuentra un servicio ssh
y en el puerto 80
http
Revisando el servicio web encontramos el siguiente sitio web.
Enumeré cada uno de los directorios y pestañas, pero no logre encontrar nada interesante. Luego procedí a enumerar subdominios
Encontramos un subdominio que es dev
y la añadimos a nuestro /etc/hosts
Teniendo el subdominio iniciamos a enumerar los directorios
Los directorios que encontramos son muchos y revisando nos lleva a un panel de inicio de sesión de joomla
Enumerando la versión de joomla
en la siguiente ruta podremos ver la versión
Observamos que es la versión 4.2.6
Teniendo la versión procedemos a buscar alguna vulnerabilidad y nos encontramos con una.
El POC que use es:
Para entender mejor dicha vulnerabilidad te recomiendo revisar el POC y entender de donde logra obtener dichas credenciales.
Ejecutando el exploit podemos obtener unas credenciales:
Haciendo uso de estas credenciales logramos iniciar sesion en el panel de joomla
Para obtener una revershell un cms como Joomla podemos ir a system
> site templates
Luego hacemos click en Cassiopela Details and Files
Ahora editamos el archivo error.php
Agregamos system('ls -la')
y guardamos. Luego vamos a generar un error en el sitio web intencionalmente y se observa que podemos ejecutar comandos.
Ahora vamos a obtener una shell haciendo uso una revershell.
Estuve enumerando el sistema como el usuario www-data
pero no encontré nada interesante, por lo que hice uso de las credenciales de la base de datos que anteriormente encontramos
Las credenciales me permitieron ingresar a la base de datos
Encontré la base de datos joomla
con las siguientes tablas:
Enumerando cada una de las tablas, la que contiene credenciales es la tabla sd4fg_users
Las credenciales que encontramos en la base de datos están encriptadas. Haciendo uso de la herramienta de jhon the Ripper
podemos obtener la contraseña en texto plano.
La contraseña en texto plano seria:
Haciendo uso de las credenciales podemos iniciar sesión en el servicio ssh
Enumerando los privilegios que tiene dicho usuario observamos que el usuario actual puede ejecutar apport-cli
de manera privilegiada
Investigando un poco por internet me encontré con el siguiente POC:
En donde la versión vulnerable es 2.20.11
y vemos que es nuestro caso
En el POC explican que debemos de ejecutar los siguiente:
Seleccionamos la opción 1
y luego la 2
Luego elegimos la opción de View Report
presionado la V
Luego obtendremos o veremos el reporte y para obtener una shell debemos de ingresar !/bin/bash
y enter
Luego de esto deberíamos obtener una shell como el usuario root.
Podemos ocasionar un error en el siguiente enlace . Luego de ocasionar el error obtendremos una shell