MFAを導入しているから安全、という前提が通用しなくなりつつある。Azure環境を標的にした新たな攻撃手法「ConsentFix v3」がハッカーフォーラムで出回り始めた。従来の手口をさらに洗練させ、自動化と大規模展開を可能にしたこの攻撃は、Azureを利用する日本のIT管理者が今すぐ注目すべき脅威だ。
ConsentFix とは何か:v1からv3への進化
ConsentFixは、Microsoft AzureのOAuth2認証フローを悪用したフィッシング攻撃手法だ。その歴史は比較的新しい。
- v1(2025年12月): セキュリティ企業Push SecurityがClickFix派生の手法として公開。Azure CLIの正規ログインフローに乗じ、被害者にlocalhostのURLをコピー&ペーストさせることでOAuth認証コードを盗む
- v2: セキュリティ研究者のJohn HammondがURLの取得をドラッグ&ドロップに改良。操作の自然さが増し、被害者が疑問を感じにくい設計に
- v3(現在): Pipedreamというサーバーレス統合プラットフォームを核にした自動化インフラを実装。攻撃の大規模展開が可能になった
最大の特徴は、多要素認証(MFA)を回避できる点にある。Microsoftの正規のOAuth認証フローそのものを利用するため、MFAを完了した後でも攻撃が成立する。
v3 の攻撃フロー:自動化が脅威を拡大する
フェーズ1:ターゲット調査
まずAzure環境の存在を確認し、有効なテナントIDを検証する。次にLinkedInや公開情報から従業員の名前・役職・メールアドレスを収集し、精度の高いなりすましを準備する。
フェーズ2:攻撃インフラの構築
Outlook、Tutanota、Cloudflare、DocSend、Hunter.io、Pipedreamなど複数の無料サービスを組み合わせ、フィッシング・ホスティング・データ収集・流出の各機能を担う「分散型インフラ」を構築する。特にPipedreamは以下の三役を担う。
- OAuth認証コードを受け取るWebhookエンドポイント
- コードをMicrosoftのAPIでリフレッシュトークンに即座に交換するオートメーションエンジン
- 奪取したトークンをリアルタイムで収集する中央管理システム
フェーズ3:フィッシング実行
Cloudflare Pages上にMicrosoftのインターフェースを模倣したフィッシングページを展開。被害者をMicrosoftの正規ログインエンドポイントへリダイレクトし、MFAを含む通常の認証を完了させる。その後、localhostのURLに含まれるOAuth認証コードをフィッシングページに貼り付けるよう誘導する。
フィッシングメールはDocSend上のPDFに悪意あるリンクを埋め込む形式で、スパムフィルターをすり抜けるよう設計されている。収集した個人情報を活用したパーソナライズにより、被害者が不審に感じにくい仕上がりになっている点は特筆すべきだ。
フェーズ4:アカウント侵害
取得したトークンはSpecter Portalにインポートされ、メール、ファイル、その他のAzureサービスへのアクセスが可能になる。以降の認証は不要であり、侵害された状態が続く。
なぜMFAが無効化されるのか
この攻撃の核心は、Microsoftのファーストパーティアプリへの暗黙の信頼を悪用する点にある。
AzureのOAuth2では、Azure CLIなどMicrosoft製の正規アプリは事前に信頼・同意が付与されており、ユーザーが追加の許可を与えなくても動作する仕組みになっている。攻撃者はこの「信頼済みアプリ」の仕組みに乗じるため、ユーザーが不審な権限要求に気づく機会がない。
さらに、FOCI(Family of Client IDs)——Microsoftアプリ間でリフレッシュトークンを共有する仕組み——が悪用されると、単一のトークン奪取が複数サービスへのアクセスに繋がるリスクがある。
実務への影響:管理者が今すぐ取るべき対策
ConsentFix v3は「MFAさえあれば安全」という前提を根底から崩す攻撃だ。日本のAzure管理者が取り組むべき対策を整理する。
検出・防御の強化
- トークンバインディングの適用: 信頼済みデバイスへのトークンバインディングにより、奪取したトークンの別端末での利用を防ぐ
- 条件付きアクセスポリシーの多層化: デバイスコンプライアンス、場所、サインインリスクスコアを組み合わせた複合ポリシーを設定する
- Microsoft Sentinelによる異常検出: 「通常と異なる場所からのトークン使用」「短時間での複数サービス横断アクセス」等を検出するカスタムルールを実装する
特権管理の見直し
- JIT(Just-In-Time)アクセスの徹底: 常時アクセス権の付与は最小限に。必要な時だけ権限を付与するJITモデルへ移行することが、侵害時の影響範囲を大幅に縮小する
- PIM(Privileged Identity Management)の活用: Azure AD PIMで特権ロールの利用を時間制限・承認制にする
- リフレッシュトークンの有効期間短縮: 長寿命のトークンは侵害の持続を許すリスクがある。組織のポリシーを見直す
ユーザー教育
- localhostのURLを外部サービスに貼り付けることは、いかなる状況でも正当な操作ではないことを組織全体に周知する
- DocSend経由のPDF内リンクに対する警戒を徹底する
- 「Microsoftから来たっぽいメール」への過信をなくす意識づけが重要だ
筆者の見解
ConsentFix v3を見て改めて感じるのは、「今動いているから大丈夫」という考え方の根強さと、その危うさだ。MFAは確かに多くの攻撃を防いできた実績がある。しかし正規の認証フロー自体を武器に変えるこの手法の前では、MFAは通過点にすぎなくなる。
この攻撃が突いているのは、Microsoftのファーストパーティアプリへの暗黙の信頼という「設計上の構造的課題」だ。これはMicrosoftが長年かけて育ててきたエコシステムの裏返しでもあり、一朝一夕には変えられない部分だと理解している。だからこそ、管理者側でできることを積み重ねる姿勢が問われる。
「常時アクセス権の付与は最大のリスク」という原則はまさにここで生きてくる。JITアクセスとPIMの組み合わせで特権を最小化し、トークンのスコープを絞り込む。侵害が起きた前提で影響範囲を限定する設計——これがゼロトラストの実践だ。VPNやファイアウォールで境界を守るモデルはすでに限界を迎えており、このConsentFix v3はその現実を改めて突きつけている。
認証が突破された前提で、異常を即座に検出し、侵害の影響範囲を限定する。この多層防御の設計こそが、今日の洗練された攻撃に対応できる唯一の現実的なアーキテクチャだと確信している。
出典: この記事は ConsentFix v3 attacks target Azure with automated OAuth abuse の内容をもとに、筆者の見解を加えて独自に執筆したものです。