新たなOAuthベースの攻撃により、ハッカーがMicrosoft Entraの認証を回避してキーを窃取可能に

「ConsentFix」(AuthCodeFixとも呼ばれる)と名付けられた高度な攻撃が、Microsoft Entra ID環境に対する重大な脅威として浮上しています。正当なOAuth 2.0の認可コードフローを悪用し、認証資格情報やアクセストークンを盗み出します。

この攻撃は、以前のClickFixキャンペーンから発展したもので、当初はPushSecurityによって検知され、その後、手動のユーザー操作を必要としない改良された配信メカニズムによって洗練されてきました。

ConsentFixは、Azure CLIやAzure PowerShellのようなネイティブアプリケーションで使用されるOAuth 2.0の認可コードフローを標的にします。

攻撃者は、「Microsoft Azure CLI」クライアントと「Azure Resource Manager」リソースを指す悪意のあるMicrosoft EntraログインURIを作成します。

被害者が攻撃者のWebサイトにアクセスすると、このURIが開かれ、正規のものに見える認証プロンプトが表示されます。

仕組みは驚くほど単純です。アプリケーションは、応答URIとしてランダムな高番ポートを使い、localhost上にリスナーを作成します。

認証が成功すると、ユーザーはこのlocalhostアドレスへリダイレクトされます。通常であれば、Azure CLIがこのリダイレクトから認可コードを取得します。

しかし攻撃シナリオでは、正当なアプリケーションが待ち受けていないため、ブラウザはエラーを表示しますが、機微な認可コードはURL内に見えたまま残ります。

その後、攻撃者はドラッグ&ドロップやコピー&ペーストを用いて、認可コードを含むURIを被害者に共有させるよう巧妙に誘導します。

入手後、攻撃者は認可コードをベアラートークンに交換し、約10分の有効期間内にAzure Resource Managerやその他の企業リソースへアクセスできるようになります。

サインインログの分析により、2つの異なるイベントが明らかになります。被害者による対話型サインインと、その後に攻撃者のインフラから行われる非対話型サインインです。

これらのイベントは共通のSessionId、ApplicationId、UserIdによって関連付けられる一方で、防御側は正当な活動と悪意あるパターンをフィルタリングして見分けるうえで大きな課題に直面します。

認可コードのUTIはベアラートークンのUTIと異なるため、従来のリンク手法が複雑になります。

時間的な猶予が重要で、攻撃者はおよそ10分以内にコードを交換しなければなりません。

この時間制約に加え、被害者と攻撃者のIPアドレスの不一致は、有用な検知指標となります。

ただし、GitHub Codespacesのようなクラウド開発環境では数秒で自動認証が行われるため、無害な誤検知が発生します。

事前同意済みの権限を持つ複数のMicrosoftファーストパーティアプリケーションが脆弱であり、Microsoft Azure CLI、Azure PowerShell、Visual Studio、Visual Studio Code、Teams PowerShell Cmdletsが含まれます。

これらのアプリケーションは、企業テナント全体にわたる高権限の事前同意とlocalhostリダイレクトURIを備えているため、永続的なアクセスを確立しようとする攻撃者にとって魅力的な標的となります。

組織は、主に4つのアプローチで多層防御を実装できます。ユーザー割り当て要件によって攻撃対象領域を制限すること、特権のないユーザーによるCLIツールへのアクセスをブロックする条件付きアクセス(Conditional Access)ポリシーを展開すること、WindowsデバイスでWeb Account Managerを用いたトークン保護(Token Protection)を強制すること、Global Secure Accessによる準拠ネットワークチェックを実装することです。

トークン保護は、サポート対象リソースに対して最も強力な緩和策を提供します。ブローカー管理のProof-of-Possessionを要求し、ブラウザ起点の認可コードフローを効果的にブロックします。

検知には複数のログシグナルの相関が必要であり、正当な活動と悪意ある挙動を区別するために慎重なチューニングが求められます。

組織は、トークンが交換され不正アクセスに悪用される前に、トークン保護の実装を最優先し、認可コードフローの強化監視を展開して、これらの高度な攻撃を検知・封じ込める必要があります。

翻訳元: https://cyberpress.org/new-oauth-based-attack/

ソース: cyberpress.org