Veeam

CVE-2024-29855 として追跡されている重要なVeeam Recovery Orchestrator認証バイパス脆弱性に対する概念実証(PoC)エクスプロイトがリリースされ、攻撃で悪用されるリスクが高まりました。

このエクスプロイトは、セキュリティ研究者のSina Kheirkhah氏によって開発されたもので、同氏のサイトでも詳細な投稿が公開されています。この投稿では、この欠陥はベンダーの速報で示唆されているよりも実質的に悪用が容易であることを紹介している。

クリティカルな認証バイパス

CVE-2024-29855はCVSS v3.1で9.0(「クリティカル」)と評価され、Veeam Recovery Orchestrator (VRO)のバージョン7.0.0.337および7.1.0.205以降に影響を与える認証バイパスの脆弱性です。

この欠陥により、認証されていない攻撃者が管理者権限でVeeam Recovery OrchestratorのWeb UIにログインすることができます。

この問題はハードコードされたJSON Web Token(JWT)シークレットを使用することで発生し、攻撃者は管理者を含む任意のユーザに対して有効なJWTトークンを生成することができます。

より具体的には、JWTシークレットは、各インストールにおいてランダム性や一意性を持たずにトークンを作成し検証するため、悪用可能なほど予測可能で静的なものとなっています。

Veeamのセキュリティ情報では、パッチが適用されたバージョン7.1.0.230および7.0.0.379へのアップグレードが推奨されており、この欠陥を悪用するために必要な条件についても説明されています。これらの条件には、有効なユーザー名とロールを知っていること、およびアクティブなセッションを持つユーザーをターゲットにしていることが含まれます。

「攻撃者は、VRO UIのアクセストークンが有効なアカウントの正確なユーザ名とロールを知っていなければ、ハイジャックを行うことはできません

しかし、Kheirkhaが彼の記事で紹介しているように、これらの要件のいくつかは少しの努力で回避することができ、この脆弱性をより手強く、インパクトのあるものにしています。

要件の克服

Kheirkhah氏は、5つのロール(DRSiteAdmin、DRPlanAuthor、DRPlanOperator、SiteSetupOperator)しかないため、ロールを決定することは容易に克服できることを発見した。

この悪用スクリプトは、JWTトークンを生成する際に、一致するロールが見つかるまで、これらのロールの間を繰り返し実行するように設計されています。

Kherikha's exploitation script in action
Kherikhahの悪用スクリプトの動作
ソースはこちら:召喚チーム

攻撃で使用するユーザー名を見つけるために、研究者は、単にターゲットエンドポイントに接続することによって得られるSSL証明書は、通常、トークン散布攻撃で使用するドメインと潜在的なユーザー名を導き出すのに十分な手がかりを含んでいると指摘している。

「ユーザ名を知る」という問題は、次のような解決策で解決できます。administrator@evilcorp.local というユーザが存在すると仮定すると、SSL 証明書の CN フィールドを見ることでドメイン名を見つけることができ、ユーザ名をスプレーすることができます」とSummoning Team の研究者は説明しています。

最後に、”アクティブなセッション “の要件に関して、Kheirkhah氏のPoCスクリプトは、アクティブなセッションにヒットする可能性を高めるために、タイムスタンプの範囲にわたってJWTトークンを生成し、テストします。

より標的を絞ったステルス的なアプローチは、ユーザーの活動時間を調査することでしょう。また、アクティブなセッション・トークンにマッチするまで継続的に試行する「総当たり」アプローチもあります。

CVE-2024-29855のエクスプロイトは現在公開されているため、攻撃者はパッチが適用されていないシステムに対してこのエクスプロイトを利用しようとする可能性が高い。