Devvortex

Publicado: 24 de Mayo de 2025 Autor: Josรฉ Miguel Romero aKa x3m1Sec Dificultad: โญ Easy
๐ Descripciรณn
Devvortex es una mรกquina Linux de dificultad Easy de HackTheBox que presenta un escenario realista de penetration testing enfocado en la explotaciรณn de un CMS Joomla vulnerable y tรฉcnicas de escalada de privilegios.
La explotaciรณn comienza con el descubrimiento de virtual hosting mediante fuzzing de subdominios, revelando un subdominio de desarrollo (dev.devvortex.htb) que ejecuta una versiรณn vulnerable de Joomla 4.2.6. Esta versiรณn es susceptible a CVE-2023-23752, una vulnerabilidad de divulgaciรณn de informaciรณn no autenticada que permite obtener credenciales de base de datos y usuarios del sistema.
Una vez obtenidas las credenciales, se logra acceso al panel de administraciรณn de Joomla, desde donde se puede explotar un Remote Code Execution (RCE) mediante la modificaciรณn de plantillas PHP para ejecutar cรณdigo malicioso y obtener una reverse shell.
Para la escalada de privilegios horizontal, se utiliza el acceso a la base de datos MySQL para extraer hashes de contraseรฑas de usuarios, los cuales se crackan exitosamente para obtener acceso como el usuario logan.
Finalmente, la escalada vertical a root se logra explotando CVE-2023-1326, una vulnerabilidad en apport-cli que permite escape de privilegios a travรฉs de la funcionalidad de visualizaciรณn de reportes, ejecutando comandos como root desde el contexto del paginador.
Esta mรกquina es ideal para practicar:
Enumeraciรณn de subdominios y virtual hosting
Explotaciรณn de CMS (Joomla)
Vulnerabilidades de divulgaciรณn de informaciรณn
Tรฉcnicas de RCE mediante modificaciรณn de archivos
Cracking de hashes
Escalada de privilegios mediante herramientas del sistema
๐ญ Reconocimiento
Ping para verificaciรณn en base a TTL
๐ก Nota: El TTL cercano a 64 sugiere que probablemente sea una mรกquina Linux.
Escaneo de puertos
Enumeraciรณn de servicios
โ ๏ธ Importante: Detectamos durante la fase de enumeraciรณn con nmap que se estรก realizando virtual hosting. Debemos aรฑadir el siguiente vhost a nuestro fichero /etc/hosts
๐ Enumeraciรณn Web
80 / TCP - devvortex.htb

Tras enumerar el sitio web no encontramos gran cosa ni nada que aparentemente nos puede dar un vector de ataque.
๐ท๏ธFuzzing de vhosts
Relizando fuzzing de vhosts encontramos un subdominio llamado dev que inmediatamente aรฑadimos a nuestro fichero /etc/hosts

80 / TCP - dev.devvortex.htb

๐ท๏ธFuzzing de directorios

Enumeramos tambiรฉn el fichero robots.txt por si hubiese algรบn recurso adicional que no estuviese en el diccionario empleado durante el proceso de fuzzing:

Hay un fichero README.txt mediante el cual podemos intuir que la versiรณn de joomla empleada es la 4.2:
http://dev.devvortex.htb/README.txt

Encontramos algunos recursos interesantes, como por ejemplo un panel de administraciรณn que ademรกs nos permite enumerar que se estรก usando el CMS Joomla

Dado que hemos confirmado de varias maneras que se estรก usando el CMS joomla, usamos la herramienta joomscan para ver si logramos enumerar algo mรกs de informaciรณn:

๐ป Explotaciรณn
La herramienta nos confirma que la versiรณn de joomla que se estรก usando es la 4.2.6. Una pequeรฑa bรบsqueda nos permite saber que versiones anteriores a la 4.2.8 incluida, presentan una vulnerabilidad de tipo Unauthenticated information disclosure
https://github.com/Acceis/exploit-CVE-2023-23752
Revisamos el contenido de uno de los exploits para enteder lo que hace y vemos que hay una ruta en la que se publican los usuarios que no deberรญa ser accesible:

Verificamos esto en nuestro host objetivo y logramos enumerar dos usuarios:
http://dev.devvortex.htb/api/index.php/v1/users?public=true

Lanzamos el exploit para ver quรฉ es capaz de recuperar, pero antes debemos instalar algunas dependencias:
Ejecutamos el exploit

Obtenemos dos usuarios, (levis y logan) y la contraseรฑa del usuario lewis para una base de datos mysql.
La credencial no funciona con el servicio ssh para ninguno de los dos usuarios pero sรญ podemos autenticarnos en el panel de administraciรณn de Joomla con el usuario lewis

Podemos intentar explotar un RCE usando alguna de las plantillas instaladas y usando la pรกgina error.php de la plantilla para inyectar una php webshell:

Verificamos que la webshell que hemos subido funciona correctamente:

Iniciamos un listener:
Reemplazamos ahora el cรณdigo de error.php de la template por una php reverse shell de pentestmonkey

Relizamos la peticiรณn a error.php y ganamos acceso a la mรกquina:

Vamos al usuario de logan e intentamos capturar la flag pero no tenemos permisos:
Initial foothold
Buscamos la forma de escalar a usuario logan. Comprobamos que hay una base de datos mysql ejecutรกndose de forma local y tenemos las credenciales de lewis


Nos quedamos con el hash de logan:
Verificamos quรฉ tipo de hash es usando la herramienta Name that hash:

Usamos hascat y rockyou para intentar crackearlo:

Nos autenticamos como logan y obtenemos la primera flag:
๐ Escalada de privilegios
Ahora buscamos escalar privilegios a root:
Tenemos permisos de ejecuciรณn y lectura sobre este archivo:

Se trata de un script en python:
Buscamos informaciรณn de esta herramienta despuรฉs de enumerar la versiรณn y encontramos un exploit:

https://github.com/diego-tella/CVE-2023-1326-PoC
El proceso es sencillo, ejecutamos la herramienta con la opciรณn -c para indicar un archivo de bloqueo, despuรฉs pulsamos V para visualizar el report y dentro de ese contexto ejecutamos una /bin/bash



Last updated