
複数のMicrosoftサービスでMFAが有効かどうかを確認するためのツール
MFASweepは、提供された資格情報を使用してさまざまなMicrosoftサービスにログインし、MFAが有効かどうかを識別しようとするPowerShellスクリプトです。条件付きアクセスポリシーやその他の多要素認証設定の構成によっては、一部のプロトコルがシングルファクターのままになる可能性があります。また、ADFS構成の追加チェックも行い、検出された場合はオンプレミスのADFSサーバーへのログインを試みることができます。
現在、MFASweepは以下のサービスにログインできます。
警告: このスクリプトは、提供されたアカウントに対してELEVEN (11) 回のログインを試みます(ADFSを含める場合は12回)。誤ったパスワードを入力した場合、アカウントがロックされる可能性があります。
詳細については、こちらのブログ記事を参照してください: MicrosoftサービスにおけるMFAの不整合の悪用


このコマンドは、提供された資格情報を使用して、Microsoft Graph API、Azure Resource Manager API、Microsoft 365 Exchange Web Services、7つの異なるユーザーエージェントを使用したMicrosoft 365 Web Portal、およびMicrosoft 365 Active Syncへの認証を試みます。いずれかの認証方法が成功した場合、トークンやクッキーが AccessTokens.json に書き込まれます。(現在、EWS、ActiveSync、ADFSのクッキーやトークンは記録されません。)
Invoke-MFASweep -Username [email protected] -Password Winter2026 -WriteTokens
このコマンドはデフォルトの認証メソッドで実行され、ADFSのチェックも行います。
Invoke-MFASweep -Username [email protected] -Password Winter2026 -Recon -IncludeADFS
Invoke-MFASweepWebRequest ラッパーを使用しているため、Windows PowerShell 5.1 と PowerShell 7+ の両方で正常に実行できます。AADSTS53003応答を明示的に検出し、条件付きアクセスのブロックを一般的な認証エラーとは別に報告します。Invoke-M365WebPortalAuth -UAtype NintendoSwitch を通じてNintendo Switchのユーザーエージェント文字列を使用します。各モジュールは個別に実行することもできます。
Microsoft Graph API
Invoke-GraphAPIAuth -Username [email protected] -Password Winter2026
Azure Resource Manager API
Invoke-AzureManagementAPIAuth -Username [email protected] -Password Winter2026
Microsoft 365 Exchange Web Services
Invoke-EWSAuth -Username [email protected] -Password Winter2026
Microsoft 365 Web Portal (Windowsユーザーエージェント)
Invoke-M365WebPortalAuth -Username [email protected] -Password Winter2026 -UAtype Windows
Microsoft 365 Web Portal (iPhoneユーザーエージェント)
Invoke-M365WebPortalAuth -Username [email protected] -Password Winter2026 -UAtype iPhone
Microsoft 365 Web Portal (Unknown Platform / Nintendo Switchユーザーエージェント)
Invoke-M365WebPortalAuth -Username [email protected] -Password Winter2026 -UAtype NintendoSwitch
Microsoft 365 Active Sync
Invoke-O365ActiveSyncAuth -Username [email protected] -Password Winter2026
ADFS
Invoke-ADFSAuth -Username [email protected] -Password Winter2026
Unknown Platform (CAポリシーバイパス)
このモジュールは、不明なデバイスプラットフォームに対してMFAを強制しない、誤って構成された条件付きアクセスポリシーをテストします。Nintendo Switchのユーザーエージェント文字列を使用して、Entra IDがデバイスプラットフォームとブラウザを「Unknown」として報告するようにします。
Invoke-UnknownPlatformAuth -Username [email protected] -Password Winter2026
Invoke-BruteClientIDs関数は、ROPC認証中にさまざまなリソースタイプとクライアントIDをループし、クライアントIDとリソースのさまざまな組み合わせでシングルファクターアクセスを見つけます。いずれかの認証方法が成功した場合、トークンやクッキーがAccessTokens.jsonに書き込まれます。(現在、EWS、ActiveSync、ADFSのクッキーやトークンは記録されません)
Invoke-BruteClientIDs -Username [email protected] -Password Winter2026 -VerboseOut
デフォルトでは、Invoke-BruteClientIDsモジュールは、最も一般的なリソースの上位10件とクライアントIDの上位50件のリストを使用します。-FullResourceListおよび-FullClientIdListフラグを使用して、514個のクライアントIDと54個のリソースの組み込みのより大きなリストを使用できます。
Invoke-BruteClientIDs -Username [email protected] -Password Winter2026 -FullResourceList -FullClientIdList -VerboseOut