Outbound HackTheBox (Easy)

Escaneo de puertos

nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn <IP>
nmap -sCV -p<PORTS> <IP>

Info:

Starting Nmap 7.95 ( https://nmap.org ) at 2025-09-24 06:33 EDT
Nmap scan report for 10.10.11.77
Host is up (0.031s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 9.6p1 Ubuntu 3ubuntu13.12 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   256 0c:4b:d2:76:ab:10:06:92:05:dc:f7:55:94:7f:18:df (ECDSA)
|_  256 2d:6d:4a:4c:ee:2e:11:b6:c8:90:e6:83:e9:df:38:b0 (ED25519)
80/tcp open  http    nginx 1.24.0 (Ubuntu)
|_http-server-header: nginx/1.24.0 (Ubuntu)
|_http-title: Did not follow redirect to http://mail.outbound.htb/
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 7.94 seconds

Veremos varios puertos interesantes, entre ellos vemos el puerto 80 que suele alojar una pagina web, pero vemos que nos redirije a un subdominio directamente llamado mail.outbound.htb por lo que vamos añadirlo a nuestro archivo hosts de esta forma:

Lo guardamos y entramos a dicho subdominio para ver que vemos:

Info:

Veremos un login, si leemos la informacion de la maquina de HTB nos deja unas credenciales para el pentesting:

Por lo que vamos a probarlas en dicho login:

Si las probamos veremos que funcionan y estaremos dentro:

Vamos a comprobar si esta version de software es vulnerable, abajo a la izquierda veremos un boton llamado About, si le damos veremos esto:

Vemos que es de la version 1.6.10, ahora si buscamos alguna vulnerabilidad veremos que si existe una con un CVE asociado llamado CVE-2025-49113, en la siguiente pagina de exploit veremos que nos da un PoC el cual utilizaremos de esta forma:

URL = RoundCube Exploit CVE-2025-49113

Antes de darle a ejecutar vamos abrir un servidor de python3 para que nos llegue dicha informacion del comando en Base64.

Ahora si ejecutamos el comando de antes y volvemos a donde tenemos el servidor de python3 veremos lo siguiente:

INFO COMANDO CVE

INFO SERVIDOR PYTHON3

Veremos que nos llego bien este Base64, si lo decodificamos veremos lo siguiente:

Info:

Vemos que esta funcionando, por lo que vamos a realizar una reverse shell de esta forma, pero antes nos pondremos a la escucha:

Ahora vamos a ejecutar esto:

Info:

Si volvemos a donde tenemos la escucha veremos lo siguiente:

Vemos que ha funcionado, por lo que vamos a sanitizar la shell.

Sanitización de shell (TTY)

Escalate user jacob

Si vamos a este directorio:

Veremos varios archivos interesantes, entre ellos uno llamado config.inc.php, que si lo leemos veremos esta linea interesante:

Vemos unas credenciales de mysql, si los probamos con los usuarios a nivel de sistema por SSH no vamos a tener suerte, si nos conectamos por mysql veremos que si nos dejara:

Con esto estaremos dentro de la DDBB, si investigamos un poco encontraremos esta tabla de usuarios con contraseñas de dichos usuarios:

Info:

Ahora listamos las tablas:

Info:

Ahora si listamos la tabla users.

Info:

Si los probamos por SSH a nivel de sistema con todos los usuarios y con todas las contraseñas, veremos que no funciona, por lo que no nos sirve de nada.

Siguiendo investigando en las tablas veremos otra interesante llamada session, si listamos para ver el contenido de dicha tabla veremos esto:

Info:

Vemos que los datos de la sesion esta serializados en Base64, si lo decodificamos de esta forma, veremos esto:

Info:

Vemos que tenemos unas credenciales con una contraseña codificada.

Vemos que esto tiene toda la pinta de una encriptacion DES-ECB, si nosotros investigamos el archivo de antes llamado config.inc.php, veremos esta linea tambien:

De ahi deducimos el tipo de encriptacion, ya que tenemos la clave de desencriptado podremos utilizar CiferChef para poder decodificar todo esto:

Veremos que ha funcionado, con esto obtendremos una clave que sera 595mO8DmwGeD, si la probamos con el usuario jacob a nivel local...

Info:

Veremos que ha funcionado.

Escalate user jacob (SSH)

Si leemos el INBOX del email del propio usuario jacob en esta ruta:

Del archivo llamado jacob, veremos lo siguiente:

Vemos que tenemos una contraseña gY4Wr3a1evp4 la cual podriamos probar por SSH a ver si funcionara de esta forma:

Metemos como contraseña gY4Wr3a1evp4...

Con esto veremos que estaremos dentro, por lo que leeremos la flag del usuario.

user.txt

Escalate Privileges

Si hacemos sudo -l veremos lo siguiente:

Vemos que podemos ejecutar el binario below junto con mas parametros como el usuario root, por lo que vamos a investigar que hacer este binario.

Si buscamos informacion sobre el binario veremos que hay una vulnerabilidad registrada como el CVE-2025-27591, si buscamos el PoC veremos el siguiente repositorio en el que lo ofrece:

URL = Exploit PoC CVE-2025-27591

Esta vulnerabilidad es una escalación de privilegios local en el servicio Below: el servicio crea/usa un directorio de logs con permisos demasiado abiertos (world-writable), permitiendo a un usuario local usar symlinks para forzar escrituras en archivos sensibles. Con esto podremos sobreescribir el archivo /etc/passwd para añadir un usuario con todos los privilegios y asi ser directamente root y despues lo elimina los archivos.

Vamos a ejecutar la herramienta de esta forma:

Info:

Con esto veremos que ya seremos root, por lo que leeremos la flag de root.

root.txt

Last updated