Devvortex

20240719232212.png

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.

Enumeración

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

Puerto 80

Revisando el servicio web encontramos el siguiente sitio web.

20240719233332.png

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

Subdominio - dev.devvortex

20240719234002.png

Teniendo el subdominio iniciamos a enumerar los directorios

20240720000545.png

Los directorios que encontramos son muchos y revisando nos lleva a un panel de inicio de sesión de joomla

20240720000635.png

Enumerando la versión de joomla en la siguiente ruta podremos ver la versión

20240720002146.png

Observamos que es la versión 4.2.6

Explotación

Teniendo la versión procedemos a buscar alguna vulnerabilidad y nos encontramos con una.

20240720014345.png

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:

20240720002821.png

Haciendo uso de estas credenciales logramos iniciar sesion en el panel de joomla

20240720003015.png

Para obtener una revershell un cms como Joomla podemos ir a system > site templates

20240720004252.png

Luego hacemos click en Cassiopela Details and Files

20240720004311.png

Ahora editamos el archivo error.php

20240720005524.png

Agregamos system('ls -la') y guardamos. Luego vamos a generar un error en el sitio web intencionalmente y se observa que podemos ejecutar comandos.

20240720005614.png

Ahora vamos a obtener una shell haciendo uso una revershell.

20240720005738.png

Podemos ocasionar un error en el siguiente enlace http://dev.devvortex.htb/dasdadarrow-up-right. Luego de ocasionar el error obtendremos una shell

Escalada de privilegios

Usuario : www-data

20240720005800.png

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

20240720010940.png

Encontré la base de datos joomla con las siguientes tablas:

20240720011007.png

Enumerando cada una de las tablas, la que contiene credenciales es la tabla sd4fg_users

20240720011039.png

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:

Usuario : logan

Haciendo uso de las credenciales podemos iniciar sesión en el servicio ssh

20240720011128.png

Enumerando los privilegios que tiene dicho usuario observamos que el usuario actual puede ejecutar apport-cli de manera privilegiada

20240720011239.png

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

20240720011849.png

En el POC explican que debemos de ejecutar los siguiente:

Seleccionamos la opción 1 y luego la 2

20240720012746.png

Luego elegimos la opción de View Report presionado la V

20240720012838.png

Luego obtendremos o veremos el reporte y para obtener una shell debemos de ingresar !/bin/bash y enter

20240720012905.png

Luego de esto deberíamos obtener una shell como el usuario root.

Usuario : root

20240720012930.png

Last updated