╔═══════════════════════════════════════════════════════════════╗
║ ║
║ CVE-2026-1731 ║
║ BeyondTrust RS/PRA Passive Vulnerability Scanner ║
║ ║
╠═══════════════════════════════════════════════════════════════╣
║ PASSIVE SCANNER — EDUCATIONAL & AUTHORIZED USE ONLY ║
║ ║
║ Performs passive fingerprinting via standard HTTP GET. ║
║ No exploit payloads sent. No WebSocket connections. ║
║ Only use against systems you own or are authorized to test. ║
║ ║
║ Methods: BRDF version extraction, /check_health, ║
║ static asset sizing, /get_mech_list API, ║
║ HTML analysis, copyright year, /nw probe ║
║ ║
║ Author: NetGuard 24/7 LLC ║
║ Web: https://netguard24-7.com ║
╚═══════════════════════════════════════════════════════════════╝
CVE-2026-1731 向けのパッシブ脆弱性スキャナです。これは、BeyondTrust Remote Support (RS) および Privileged Remote Access (PRA) における重大な (CVSS 9.9) 事前認証リモートコード実行の脆弱性です。
このツールは、標準の HTTP GET リクエストのみを使用して、脆弱な BeyondTrust インスタンスを特定します。エクスプロイトペイロードは送信されません。WebSocket 接続は確立されません。認証は試行されません。
更新日: 2026年2月16日
ホットフィックス BT26-02-RS または BT26-02-PRA を適用すると、検出された BeyondTrust インスタンスのうち RS (v21.3 - 25.3.1) または PRA (v22.1 - 24.X) が脆弱として表示されます。これは、ホットフィックスによってバージョンが増加しないためです。したがって、ホットフィックス (BT26-02-RS または BT26-02-PRA) でパッチ適用されたインスタンスは脆弱として表示されます。ベースリリースがアップグレードされると、インスタンスは脆弱ではないと表示されます。ベンダーによると、公式の修正は Remote Support 25.3.2 以降 | Privileged Remote Access 25.1 以降 で対応されています。
作成者: NetGuard 24/7 LLC
このツールは、教育目的および許可された防御目的のみで提供されます。
このツールは、所有しているシステム、または明示的な書面による許可を得てテストするシステムに対してのみ使用できます。所有していないシステムを無断でスキャンすることは、コンピュータ詐欺及び不正使用防止法 (CFAA) やその他の法域の同様の法令を含む、適用される法律に違反する可能性があります。
作成者は、このツールの誤用について一切の責任を負いません。本ソフトウェアを使用することにより、お客様は責任を持って、適用されるすべての法律および規制に準拠して使用することに同意したものとみなされます。
CVE-2026-1731 は、CVE-2024-12356 (中国の APT が米国財務省を侵害するために使用した脆弱性) の変種です。どちらも同じ /nw WebSocket エンドポイントと、その基盤となる thin-scc-wrapper Bash スクリプトを標的にしています。CVE-2024-12356 向けの BT24-10 パッチは数値の健全性チェックを追加しましたが、CVE-2026-1731 が悪用する remoteVersion パラメータの Bash 算術評価を防ぐことはできませんでした。
このスキャナは、実際の BeyondTrust インスタンスに対して検証された8つのパッシブフィンガープリンティング手法を使用して、エクスプロイトトラフィックを送信せずに製品バージョンと脆弱性ステータスを判別します。
手法 1 (BRDF) は、Metasploit および Nessus プラグイン 213456 で使用されているものと同じ手法です。BRDF が正確なバージョンを返す場合、信頼度は EXACT です。一部の 25.x インスタンスは BRDF からバージョンを削除します。そのような場合、手法 2〜6 がスコアリングされ、相互に裏付けられてバージョン範囲が推測されます。
/nw への細工されたペイロードの送信git clone https://github.com/YOUR_USERNAME/cve-2026-1731-scanner.git
cd cve-2026-1731-scanner
chmod +x cve_2026_1731_scanner.py
python3 cve_2026_1731_scanner.py -t support.example.com -v
# ターゲットリストを作成 (1行に1ホスト)
cat > targets.txt << 'EOF'
support.example.com
pra.example.com
192.168.1.50
10.0.0.100:8443
remote-support.beyondtrustcloud.com
EOF
# スキャンを実行
python3 cve_2026_1731_scanner.py -f targets.txt --threads 20 -o results.csv --json results.json -v
usage: cve_2026_1731_scanner.py [-h] (-t TARGET | -f FILE) [-o OUTPUT]
[--json JSON_OUTPUT] [--threads THREADS] [-v]
options:
-t, --target TARGET 単一ターゲットのホスト名または IP
-f, --file FILE ターゲットを含むファイル (1行に1つ)
-o, --output OUTPUT 結果を CSV ファイルにエクスポート
--json JSON_OUTPUT 結果を JSON ファイルにエクスポート
--threads THREADS 同時スレッド数 (デフォルト: 10)
-v, --verbose ターゲットごとの詳細出力
ターゲットファイルは柔軟な入力を受け付けます — 1行に1エントリ:
# コメントがサポートされています (# で始まる行)
192.168.1.1
10.0.0.5
support.example.com
support.example.com:8443
https://support.example.com
http://support.example.com # HTTPS に自動アップグレードされます
support.example.com/login # パスは自動的に削除されます
| レベル | 意味 |
|---|---|
| CRITICAL | BRDF により正確なバージョンが脆弱であると確認された、または複数の高信頼度シグナルが 25.x より前を示している |
| HIGH |
| コード | 意味 |
|---|---|
0 | 重大または高リスクの検出なし |
1 | 高リスクの検出あり |
2 | 重大な検出あり |
# 例: CI/CD パイプライン統合
python3 cve_2026_1731_scanner.py -f targets.txt -o results.csv
if [ $? -eq 2 ]; then
echo "CRITICAL: Vulnerable BeyondTrust instances found!"
# trigger alert / page on-call / open ticket
fi
[*] Scanning https://support.example.com...
Status: VULNERABLE [CRITICAL]
Version: 24.1.4 (via BRDF /get_rdf, confidence: EXACT)
Company: examplecorp
Product: Remote Support
Signals: health=old, login.js=36458B, html=modern, ©2024
/nw: REACHABLE
スキャナが脆弱なインスタンスを特定した場合:
/nw WebSocket エンドポイントへのアクセスを制限$() またはバッククォートを含む異常な remoteVersion 値を持つ /nw への WebSocket 接続がないかログを確認プルリクエストは歓迎します。追加のパッシブフィンガープリンティング手法やバージョン相関シグナルを発見した場合は、issue または PR を開いてください。
MIT ライセンス — 詳細は LICENSE を参照してください。
NetGuard 24/7 LLC https://netguard24-7.com
| フィールド | 詳細 |
|---|
| CVE | CVE-2026-1731 |
| CVSS | 9.9 (Critical) |
| アドバイザリ | BT26-02 |
| タイプ | 事前認証リモートコード実行 |
| ベクター | WebSocket エンドポイント /nw — Bash 算術評価インジェクション |
| 影響を受けるバージョン | RS ≤ 25.3.1、PRA ≤ 24.3.4 |
| 修正バージョン | RS 25.3.2+、PRA 25.1.1+ |
| 悪用状況 | 2026年2月12日時点で実環境で活発に悪用中 |
| # | 手法 | エンドポイント | 抽出内容 | 信頼度 |
|---|
| 1 | BRDF バージョン抽出 | GET /get_rdf?comp=sdcust&locale_code=en-us | バイナリヘッダーからの正確な製品バージョン (例: 24.1.4) | EXACT |
| 2 | /check_health レスポンス | GET /check_health | "Health Check: Succeeded" = 25.x より前 / "Status: Primary" = 25.x+ | HIGH |
| 3 | 静的アセットサイズ | HEAD /js/login.js | ファイルサイズ: ~36K-39K = 25.x より前 / ~12K = 25.x+ | HIGH |
| 4 | /get_mech_list API | GET /get_mech_list?version=3 | 会社名 + thin_rep_enabled フィールド (25.x+ のみ) | HIGH |
| 5 | HTML 構造 | GET /login | XHTML 1.1 + BOMGAR = 25.x より前 / HTML5 = 25.x+ | MEDIUM |
| 6 | 著作権年 | GET /login フッター | 2002-2024 = 25.x より前 / 2002-2025 = 25.x | MEDIUM |
| 7 | ポータル情報 | GET /get_portal_info | X-Ns-Company 値 (攻撃者の偵察指標) | — |
| 8 | WebSocket プローブ | GET /nw (HTTP のみ) | 攻撃対象領域の到達可能性を確認 | — |
| 脆弱である可能性が高いが、裏付けとなるシグナルが少ない。手動による検証を推奨 |
| MEDIUM | 25.x+ と推測される (RS は 25.3.1 まで脆弱な可能性あり)。BT26-02 パッチを確認 |
| LOW/INFO | SaaS インスタンス (自動パッチ適用済み)、パッチ適用済みバージョンが確認された、または安全であることが確認された |
| 信頼度 | ソース | 意味 |
|---|
| EXACT | BRDF /get_rdf | バイナリから抽出された正確なバージョン文字列 (例: 24.1.4) |
| HIGH | マルチシグナル (3+) | 3つ以上の独立したシグナルが矛盾なく一致 |
| MEDIUM | マルチシグナル (2+) | シグナルの過半数が一致するが、いくつかの曖昧さがある |
| LOW | 決定的でない | 矛盾する、または不十分なシグナル |
| フィールド | 説明 |
|---|
target | スキャンされた URL |
is_beyondtrust | BeyondTrust が検出されたかどうか |
product_type | Remote Support または Privileged Remote Access |
product_version | 正確なバージョン (BRDF から抽出された場合) |
version_source | バージョンがどのように決定されたか |
version_confidence | EXACT、HIGH、MEDIUM、または LOW |
company_name | X-Ns-Company 値 (悪用時に使用) |
copyright_year | ログインページのフッターから |
health_check_type | old (25.x より前) または new (25.x+) |
login_js_size | /js/login.js のファイルサイズ |
thin_rep_enabled | 25.x+ のみに存在 |
html_generation | legacy (XHTML) または modern (HTML5) |
is_saas | SaaS (.beyondtrustcloud.com) インスタンス |
ws_endpoint_reachable | /nw が応答するかどうか |
vulnerability_status | 評価結果 |
risk_level | CRITICAL、HIGH、MEDIUM、LOW、または INFO |
details | 人間が読める評価の詳細 |