🟢Devvortex
En esta ocasión vamos a hacer el writeup de la máquina Devvortex de Hack the Box, una máquina Linux de dificultad easy.
Última actualización
En esta ocasión vamos a hacer el writeup de la máquina Devvortex de Hack the Box, una máquina Linux de dificultad easy.
Última actualización
Accedemos a la IP 10.10.11.242
a través del navegador. Añadimos devvortex.htb
a nuestro archivo etc/hosts
y ya nos aparece:
A priori parece una web de una compañía de desarrollo web.
Solo tiene abiertos los 2 puertos típicos, ssh y http, en principio nada interesante.
Al fuzzear con dirsearch nos encontramos varios directorios, pero que al acceder nos dan un forbidden:
Bueno, parece un callejón sin salida. En esta etapa, podrían venir a la mente tres posibilidades:
No hay nada explotable en el sitio web principal
No hay directorios ni archivos ocultos interesantes
Estamos en un punto muerto
Utilizando Gobuster, tenemos la opción de encontrar vhosts o pantallas de desarrollo o en pre-producción, por lo que vamos a utilizar el siguiente comando:
Encontramos el subdominio dev.devvortex.htb
, lo que aumenta nuestra superficie de ataque.
Ejecutando dirsearch de nuevo contra este subdominio nos encontramos cosas interesantes:
Encontramos pantallas de administrador y logs, lo que nos puede ayudar a encontrar usuarios y/o credenciales, y archivos de configuración del sitio web.
Al acceder a /administrator
nos salta un login de Joomla:
Si ejecutamos Joomscan nos encontramos con que usa la versión 4.2.6, por lo que buscaremos un exploit para esta versión:
Buscando un exploit para esta versión de Joomla nos encontramos con este exploit en Github, con el CVE-2023-23752 asociado:
Seguimos las instrucciones de instalación del repo y lo ejecutamos de la siguiente manera:
El exploit funciona y descubrimos dos usuarios, uno de ellos administrador, y el acceso a una base de datos MySql con usuario y contraseña:
A la base de datos solo nos podemos conectar por localhost, por lo que necesitamos estar dentro para acceder. Al intentar conectarnos por SSH con las credenciales no funcionan, así que vamos a loguearnos en el panel de Joomla con la cuenta de administrador:
Nuestro objetivo aquí es encontrar una página para añadir código y establecer una reverse shell con la máquina, por lo que vamos a ir a System > Administrator templates
Como podemos ver, hay varios códigos PHP ejecutándose dentro de nuestra plantilla. Abrimos login.php e inyectamos nuestro código para ejecutar un comando bash y luego guardemos los cambios.
Abrimos un netcat listener y accedemos a http://dev.devvortex.htb/administrator/templates/atum/login.php
y obtenemos la reverse shell:
Accedemos a /etc/passwd y vemos que logan puede ejecutar comandos desde /home/logan
Vamos a importar pty con python y a acceder a la base de datos MySql con las credenciales que descubrimos anteriormente:
Mirando las tablas de la base de datos nos encontramos con la tabla sd4fg_users
que es la que contiene información de los usuarios y su contraseña en formato de hash.
Al acceder a esa tabla efectivamente encontramos los 2 hashes de los usuarios lewis y logan.
Ahora vamos a crackearlos. Nos interesa sobre todo crackear el hash de Logan, ya que es el usuario que tiene permisos para ejecutar comandos.
Ya tenemos usuario y contraseña para acceder por SSH:
Accedemos correctamente y obtenemos el user.txt
🏆
Con sudo -l
vemos los permisos que tiene Logan en el sistema:
Vamos a ejecutar el siguiente comando y le decimos 'V' cuando nos de la opción de elegir:
En este punto solo tenemos que ejecutar el siguiente comando para volvernos root:
Y ya somos root!