Az - Conditional Access Policies / MFA Bypass
基本情報
Azureの条件付きアクセスポリシーは、特定の条件に基づいてAzureサービスやアプリケーションへのアクセス制御を強制するためにMicrosoft Azureに設定されるルールです。これらのポリシーは、適切な状況下で適切なアクセス制御を適用することで、組織がリソースを保護するのに役立ちます。 条件付きアクセスポリシーは基本的に誰がどこから、どのようにアクセスできるかを定義します。
以下にいくつかの例を示します:
サインインリスクポリシー: このポリシーは、サインインリスクが検出された場合に多要素認証(MFA)を要求するように設定できます。たとえば、ユーザーのログイン動作が通常のパターンと異なる場合、異なる国からログインするなど、システムは追加の認証を求めることができます。
デバイスコンプライアンスポリシー: このポリシーは、組織のセキュリティ基準に準拠したデバイスのみがAzureサービスへのアクセスを制限できます。たとえば、最新のウイルス対策ソフトウェアを搭載しているデバイスからのみアクセスを許可したり、特定のオペレーティングシステムバージョンを実行しているデバイスからのみアクセスを許可したりできます。
条件付きアクセスポリシーの回避方法
条件付きアクセスポリシーが容易に改ざん可能な情報をチェックしている可能性があり、そのポリシーをバイパスすることができます。たとえば、ポリシーがMFAを設定していた場合、攻撃者はそれをバイパスできます。
デバイスプラットフォーム - デバイス条件
デバイスプラットフォーム(Android、iOS、Windows、macOS)に基づいた条件を設定することが可能ですが、これはユーザーエージェントに基づいているため、簡単にバイパスできます。すべてのオプションでMFAを強制しても、認識されないユーザーエージェントを使用すればMFAをバイパスできます。
場所: 国、IP範囲 - デバイス条件
もちろん、これが条件付きポリシーに設定されている場合、攻撃者は許可された国でVPNを使用したり、許可されたIPアドレスからアクセスする方法を見つけたりしてこれらの条件をバイパスできます。
Office365クライアントアプリ
クライアントがブラウザからOffice 365アプリにアクセスする場合はMFAが必要とすることができます:
これをバイパスするためには、デスクトップアプリケーション(次の例ではMicrosoft Teamsに)からアプリにログインしたかのように装うことが可能です。
Microsoft Teamsアプリには多くの権限があるため、そのアクセスを利用できます。
Office365の事前定義された権限を持つより多くのパブリックアプリケーションのIDを、roadtoolsのデータベースで見つけることができます:
この攻撃は特に興味深いものであり、デフォルトではパブリックなOffice365アプリケーションはいくつかのデータにアクセスする権限を持っています。
その他のアプリ
デフォルトでは、ユーザーが作成した他のアプリは権限を持たず、プライベートになる可能性があります。 ただし、ユーザーはパブリックなアプリを作成して、それに一部の権限を付与することもできます。
ユーザーがブラウザを使用している場合(おそらくWebアプリケーションであるため、これが唯一の方法であるため)、アプリケーションへのアクセスにMFAが必要とするポリシーが設定されている場合、プロキシアプリケーション - ユーザーの代わりに他のアプリとやり取りすることが許可されたアプリケーション - がある場合、ユーザーはプロキシアプリケーションにログインし、その後このプロキシアプリケーションを介して最初にMFAで保護されたアプリにログインすることができます。
Invoke-MFASweepとdonkeytokenのテクニックをチェックしてください。
その他のAz MFA バイパス
リングトーン
Azure MFAのオプションの1つは、構成された電話番号に着信を受けることで、ユーザーに文字 #
を送信するように求めるものです。
文字は単なる音であるため、攻撃者は電話番号のボイスメールメッセージを侵害し、#
の音をメッセージとして構成し、MFAを要求する際に被害者の電話が使用中であることを確認して(それを呼び出して)Azureの呼び出しがボイスメールに転送されるようにします。
準拠デバイス
ポリシーはしばしば準拠デバイスまたはMFAを要求するため、攻撃者は準拠デバイスを登録し、PRTトークンを取得してこの方法でMFAをバイパスすることができます。
まず、Intuneで準拠デバイスを登録し、次に以下を使用してPRTを取得します:
以下は、ハッキング技術に関する情報が記載されている本の内容です。次の内容は、ファイルpentesting-cloud/azure-security/az-azuread/az-conditional-access-policies-mfa-bypass.mdからのものです。関連する英語のテキストを日本語に翻訳し、翻訳を保持しつつ、同じmarkdownおよびhtml構文を使用して返信してください。コード、ハッキング技術の名前、ハッキング関連の単語、クラウド/SaaSプラットフォームの名前(Workspace、aws、gcpなど)、"leak"、pentesting、およびmarkdownタグなどは翻訳しないでください。また、翻訳とmarkdown構文以外の追加情報は入れないでください。
見つけたい情報は以下のページで詳細を確認してください:
pageAz - Pass the PRTツール
すべてのポリシーを取得
MFASweepは、提供された資格情報を使用してさまざまなMicrosoftサービスにログインしようとし、MFAが有効になっているかどうかを特定しようとします。条件付きアクセスポリシーやその他の多要素認証設定がどのように構成されているかによっては、一部のプロトコルが単一要素のままになることがあります。また、ADFSの構成に対する追加のチェックがあり、検出された場合にオンプレミスADFSサーバーにログインを試みることができます。
Donkey tokenは、条件付きアクセスポリシーを検証する必要があるセキュリティコンサルタント向けの関数セットであり、2要素認証が有効になっているMicrosoftポータルのテストを行います。
各ポータルをテストし、MFAなしでログインできるかどうかを確認します:
Azure ポータル は制約されていないため、前回の実行で検出された任意のサービスにアクセスするためのトークンをポータルエンドポイントから収集することが可能です。この場合、Sharepoint が特定され、それにアクセスするためのトークンが要求されます。
トークンには、SharepointからのSites.Read.All権限があると仮定して、MFAのためにWebからSharepointにアクセスできなくても、生成されたトークンを使用してファイルにアクセスすることが可能です。
参考文献
最終更新