Varonis Threat Labsの研究者は、TrustSinkと名付けた攻撃を明らかにした。この攻撃は、Microsoft Entraにおける外部多要素認証プロバイダーの仕組みを悪用し、通常に見えるログイン試行中にユーザーのパスワードを窃取する。攻撃は、Entra環境内で高権限アカウントをあらかじめ保有する攻撃者に依存しており、権限なしで開始される初期侵害ではない。
攻撃の仕組み
Microsoft Entraでは、組織が外部認証サービスを使用してログインの第2要素を完了できる。ユーザーがパスワードなどの第1要素を入力すると、Entraはブラウザーを外部MFAプロバイダーへリダイレクトする。プロバイダーが第2要素の完了を示す署名付きトークンを返すと、Entraは認証が完了したと判断する。
研究者は、正規のプロバイダーとしてサービスに表示される悪意のあるExternal Authentication Methodを登録することで、この信頼関係を悪用した。ユーザーがMFAの段階に到達すると、プロバイダーは想定される第2要素の要求ではなく、Microsoftのパスワード入力を求める偽造ページを表示する。ユーザーが入力したパスワードは攻撃者のサーバーに送信され、その後プロバイダーはEntraに署名付きトークンを返すため、エラーメッセージなしでログインが完了する。
偽のプロンプトは、Microsoftのドメイン上で本物のパスワードを入力した直後に直接表示され、元のログインページのフォント、レイアウト、ボタンデザインも模倣しているため、欺瞞性が高まる。被害者から見ると、目的のアプリケーションへのログインは通常どおり続行される。
実際に何が変わるのか
悪意のあるプロバイダーは、その後のログイン処理を通じて、標的ユーザーの認証経路に残り続ける可能性がある。Varonisによると、パスワードを変更するだけでは不十分である。プロバイダーの登録状態が維持されたため、次回のログイン時に新しいパスワードを取得できた。
攻撃を仕掛けるには、認証方法ポリシーの変更、アプリケーションとサービスプリンシパルの作成、同意付与が必要となる。これらの操作にはGlobal AdministratorまたはAuthentication Policy Administratorのアカウントが必要であるため、この手法は侵害後の段階に分類される。TrustSinkは、x33fcon 2025でDirk-Jan Mollemaが発表した、悪意を持って登録された外部MFAプロバイダーが署名付きJWTトークンによって認証要件を完了できる能力に関する先行研究を基盤としているが、そこに認証情報の窃取を加えたものである。
管理者が確認すべきこと
Varonisは、影響を受けたユーザーのパスワードをリセットする前に、疑わしい外部MFAプロバイダーに加え、それらに関連するアプリケーション、キー、リダイレクトアドレスを削除するよう推奨している。また、Authentication Methods Policyの変更を監視し、Global AdministratorおよびAuthentication Policy Administratorアカウントの恒常的な権限を縮小し、FIDO2やWindows Hello for Businessなどのフィッシング耐性を備えた方式を使用すべきである。
最も重要な点は、MFAを導入しても、それを実装するコンポーネントの信頼チェーンに伴うリスクがなくなるわけではないということである。攻撃者が適切な管理者アカウントを制御できた場合、信頼された外部プロバイダーが、ユーザーのログイン体験を通常のまま維持しながらパスワードを取得する地点に変わる可能性がある。