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