XUT_ / MACHINES / HTB

0098

Layover

HTBMACHINERETIREDMEDIUMSEASON 12
LinuxWebRDPSSHWiresharkHTTPNetworkCredential CaptureCVECUPSDatabaseCryptographyPivotingPrivilege EscalationSudoPHPWirelessWi-FiCVE-2026-31857CVE-2026-34990

Introduction

layover

Como es habitual en las pruebas de penetración del mundo real, comenzarás con la máquina Layover utilizando las credenciales de la siguiente cuenta: contractor:Contractor2026.

Getting the Flags

Reconocimiento Inicial

Comenzamos realizando un escaneo de puertos abiertos.

layover

Ahora vamos a analizar dichos puertos más en profundidad.


Profundización

Con la cuenta provista vamos a intentar iniciar sesión primero por SSH.

layover

Parece ser que no se puede. El puerto 3389 es el de RDP, así que vamos a entrar por RDP con:

bash
xfreerdp3 /v:layover.htb /u:'contractor' /p:'Contractor2026!' /dynamic-resolution +clipboard

layover

Podemos ver que estamos en el grupo sudo.

layover

Investigando vemos que hay una página web cargada.

layover

Podemos ir a la página de login.

layover

Y dos interfaces de red Wi-Fi con una única sola posible conexión que parece ser una red abierta.

layover

Obtención de Credenciales - Wireshark en red abierta HTTP

Nos conectamos a la wlan2 por ejemplo. Ahora vamos a analizar los paquetes de red. Para poder ver todos los que hay necesitamos primero poner la otra interfaz en modo monitor y después poner ambas en el mismo canal.

  1. Buscamos el canal de la interfaz de red que estamos usando. layover
  2. Matamos cualquier proceso que pueda interferir y ponemos la wlan3 en modo monitor. layover
  3. Cambiamos el canal. layover

Ahora que ya tenemos el entorno de interfaces configurado, vamos a abrir wireshark. Seleccionamos wlan3mon y filtramos por http.request.method == POST.

layover

Obtenemos así credenciales para un usuario. Una vez hecho esto vamos a revertir los cambios que hicimos.

layover layover

Ahora vamos a iniciar sesión con estas credenciales.

layover

No parece haber nada, vamos a buscar la interfaz de administrador.

layover

Iniciamos sesión con las credenciales obtenidas.


Explotación

CVE-2026-31857

Tenemos software y versión. Vamos a ver si es vulnerable.

layover

Parece que sí, vamos a ver si hay algún PoC. Encontramos el PoC de 0Asylum.

layover

Lo descargamos lo servimos y lo llevamos hasta la máquina víctima. y lo ejecutamos.

layover

Pivotaje hacia aporter : Clave + Proceso Criptográfico Conocidos

Vamos a investigar el sistema ahora.

layover

Podemos ver un archivo .env. Vamos a ver lo que hay dentro.

layover

Una clave y un usuario con contraseña. Vamos a ver lo que hay en la base de datos. Intentamos conectarnos en modo interactivo pero la shell del PoC no lo permite, por lo que vamos a usar comandos para leerlo todo en tiempo real.

layover

La tabla htbairways_settings es la que más interesante parece a simple vista. Vamos a leer lo que hay dentro de ella.

layover

No es ni siquiera un hash, es un blob, pero tenemos la KEY para decodearla. Hay que encontrar cómo se ha cifrado.

layover

Parece que los controladores están en /console.

layover

Parece que está recuperando la clave y usándola para cifrar la contraseña junto a base64. Vamos a pedirle a la IA que nos de un comando para desencriptar la contraseña.

bash
php -r "require 'vendor/autoload.php'; require 'vendor/yiisoft/yii2/Yii.php'; echo (new yii\base\Security())->decryptByKey(base64_decode('BLOB_AQUÍ'), 'KEY_AQUÍ') . PHP_EOL;"

Nos da esto, vamos a usarlo.

layover

Con la contraseña y el usuario vamos a ver primero si está abierto el puerto 22.

layover

Sí que lo está, así que vamos a conectarnos por SSH.

layover


Escalada de Privilegios

CVE-2026-34990

Ahora toca escalar privilegios. Después de un rato intentando varias cosas (técnicas convencionales, linpeas.sh...) y que nada funcionara se me ocurrió listar servicios ejecutándose como root.

layover

Investigando cada uno vemos que el puerto de CUPS por defecto es el 631, y al hacer curl hacia él nos encontramos lo siguiente:

layover

Si buscamos vulnerabilidades para esta versión, vemos lo siguiente:

layover

Buscando PoCs encontramos el de preddy.

layover

Lo descargamos y lo servimos desde nuestra máquina a layover.htb y de ella a la que tenemos el SSH.

layover

Ahora lo ejecutamos.

layover


Conclusión

Máquina relativamente sencilla pero en la que hemos utilizado técnicas reales de hacking en la vida cotidiana:

  • Captura de credenciales en red abierta sin cifrar (HTTP).
  • Búsqueda de CVE's y PoC's tanto para el CMS como para el servicio CUPS.
  • Enumeración de servicios vulnerables.
  • Búsqueda en DB's y en Controllers para desencriptar un blob.

En general buena máquina, divertida.