CVE-2021-21972 — VMware vCenter Server CVE-2021-21972 に関する隔離ラボ研究レポート。認証なしの任意ファイルアップロードから RCE に至る攻撃、Nmap ベースの検出、エクスプロイトチェーン、および緩和策を網羅しています。 | Kitploit
hurrrraaaa/cve-2021-21972CVE-2021-21972
VMware vCenter Server CVE-2021-21972 に関する隔離ラボ研究レポート。認証なしの任意ファイルアップロードから RCE に至る攻撃、Nmap ベースの検出、エクスプロイトチェーン、および緩和策を網羅しています。
11ヶ月前
コミュニティで最も使われているツールを見つけましょう。
VMware vCenter Server RCE — CVE-2021-21972 研究ラボ
著者: Niranjan Pokhrel
公開されている重大なVMware vCenter Serverの脆弱性を、隔離された自宅ラボで再現・文書化する独立した研究プロジェクト。脆弱性クラス、攻撃経路、防御策を理解することを目的とする。
概要
| CVE | CVE-2021-21972 |
| CVSSv3基本値 | 9.8(緊急) |
| ベンダー勧告 | VMSA-2021-0002 |
| 影響を受ける製品 | VMware vCenter Server 6.5 / 6.7 / 7.0 |
| 脆弱性クラス | 認証不要の任意ファイルアップロード → リモートコード実行 |
| ステータス | VMwareによりパッチ適用済み(2020年11月~2021年2月)。ラボでは研究目的のみで、意図的に古く隔離されたバージョンを使用。 |
このプロジェクトの目的
vCenter ServerはVMware仮想化インフラの中央管理プレーンであり、これを侵害されると仮想データセンター全体が侵害される可能性がある。この脆弱性は、単一のプラグインエンドポイントにおける認証チェックの欠如が、ホスト全体の乗っ取りにまで発展する典型的な例である。私はこのラボを構築し、CVE勧告を読むだけから、攻撃面、攻撃チェーン、そして同様に重要なこととして、どのように防ぐべきだったのか、防御的にどのように検出するのかを実際に理解することを目指した。
脆弱性の概要
この脆弱性はvSphere Client(HTML5)に存在し、具体的には認証を必要とせずにファイルアップロードエンドポイント(/ui/vropspluginui/rest/services/uploadova)を公開するvCenter Serverプラグインに起因する。ポート443へのネットワークアクセスを持つ攻撃者は、このエンドポイントに細工したPOSTリクエストを送信し、基盤となるOS上のWebアクセス可能なディレクトリに任意のファイル(Webシェルを含む)をアップロードできる。これにより、攻撃者はvCenterサービスの権限でコードを実行でき、実質的にアプライアンスを完全に制御できる。
- 発見 — インターネットまたはネットワークに公開されたvCenter Serverをポート443で特定する。
- 検証 — 脆弱で認証不要のアップロードエンドポイントが期待どおりに応答することを確認する(有効なセッションは不要)。
- 悪用 — Webシェルを含む悪意のあるアーカイブをWebアクセス可能なパスにアップロードし、HTTP経由で呼び出してホストOS上でコマンドを実行する。
- 影響 — vCenterサービスアカウントとして任意のコマンド実行が可能になり、管理対象の仮想インフラ全体への横展開が可能になる。
ラボ環境
本番データのない、完全に隔離された非インターネット接続の仮想ネットワークで構築:
- ハイパーバイザーホスト: VMware ESXi(ネスト型仮想化)
- ターゲット: vCenter Server Appliance(研究目的のみで、パッチ適用前の脆弱なバージョンを意図的にデプロイ)
- 攻撃者マシン: Kali Linux
- 検出ツール: コミュニティ保守のNSE脆弱性検出スクリプトを備えたNmap
- ネットワーク: 完全に隔離されたラボ用サブネット。インターネット公開なし。テスト後に破棄。
(元の構築時の具体的なIPアドレス、認証情報、インフラ詳細は、この公開レポートから意図的に省略している。)
検出
脆弱性の存在は、ターゲットのアップロードエンドポイントがパッチ未適用の脆弱性と一致する応答をするかどうかを確認することで、防御側(つまりブルーチームや監査担当者)が確認できる。これは、脆弱性スキャナや内部セキュリティチームが、攻撃者に先んじてネットワーク上の公開されたパッチ未適用のvCenterインスタンスを特定するために実行するのと同じ種類のチェックである。
このCVEの公開Nmap NSE検出スクリプトは、複数のオープンソースセキュリティリポジトリで入手可能である。このREADMEは、すぐに使えるスキャン/エクスプロイトツールの配布ではなく文書化に焦点を当てているため、ここでは再掲しない。ラボでは、スキャン出力で脆弱なターゲットがVULNERABLE(悪用可能)とフラグ付けされ、これが即時パッチ適用を優先するトリガーとなる。
悪用(高レベルのみ)
このCVEの実用的な概念実証エクスプロイトは、Positive TechnologiesのMikhail Klyuchnikovによる発見後、2021年から公開されている。このプロフィールからすぐに実行可能なRCEペイロードを配布しないという趣旨から、ここではエクスプロイトコードを再掲しない。このレポートの焦点はツールではなく理解にある。要約すると、公開エクスプロイトは上記の手順2〜3を自動化する。JSP Webシェルを期待されるアップロード形式にパッケージ化し、脆弱なエンドポイントにPOSTし、Webアクセス可能なパスに配置されたことを確認し、それを使用して攻撃者へのリバースシェルをトリガーする。
緩和策と防御上の教訓
- 直ちにパッチを適用する。 VMwareは影響を受けるすべてのバージョン(7.0 U1c+、6.7 U3l+、6.5 U3n+)の修正ビルドをリリースしており、パッチ適用が引き続き主要な修正策である。
- 管理インターフェースの公開を制限する。 このCVEに関するオーストラリアサイバーセキュリティセンターの勧告では、vCenter管理インターフェースへのアクセスを内部・外部の両方から制限することを推奨している。仮想化インフラの管理プレーンは広く到達可能であってはならない。
- ネットワークセグメンテーションとACL により、vCenterの管理ポートへのインバウンドアクセスを制限することで、パッチ適用前でも攻撃面を減らすことができる。
- 脆弱なプラグインを無効化する ことを、パッチを直ちに適用できない場合の暫定的な回避策とする(VMwareはvROpsプラグインの文書化された回避策を公開している)。
- vCenterアプライアンス上の異常なファイルアップロード / Webアクセス可能なディレクトリ内の新しいファイルを監視する ことを検出制御として実施する。
実証されたスキル
- ゼロからネスト型ESXi + vCenter Server仮想ラボを構築・構成
- ベンダーセキュリティ勧告(VMSA)およびCVE/CVSSスコアリングの解釈
- Nmap NSEスクリプトを使用した脆弱性スキャンと検出
- SSRFおよび認証不要のファイルアップロード脆弱性クラスの理解
- 技術的な脆弱性を、ベンダーおよび国家サイバーセキュリティセンター(ACSC)の推奨事項に沿った具体的な緩和ガイダンスに変換する能力
参考資料
- VMware, VMSA-2021-0002: VMware vCenter Server updates address remote code execution vulnerability in the vSphere Client (CVE-2021-21972), vmware.com
- FIRST, CVSS v3.1 Calculator, first.org
- CVE Details, CVE-2021-21972, cvedetails.com
- VMware Knowledge Base, kb.vmware.com/s/article/82374
- Australian Cyber Security Centre, VMware vCenter Server Plugin Remote Code Execution Vulnerability (CVE-2021-21972), cyber.gov.au
このプロジェクトは、教育および専門能力開発を目的として、完全に隔離された非本番ラボ環境で実施された。許可のないシステムにはアクセスしていない。