Need help with MFASweep?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

dafthack
409 Stars 61 Forks MIT License 12 Commits 5 Opened issues

Description

A tool for checking if MFA is enabled on multiple Microsoft Services

Services available

!
?

Need anything else?

Contributors list

# 163,710
PHP
securit...
blackha...
C
12 commits

MFASweep

MFASweep is a PowerShell script that attempts to log in to various Microsoft services using a provided set of credentials and will attempt to identify if MFA is enabled. Depending on how conditional access policies and other multi-factor authentication settings are configured some protocols may end up being left single factor. It also has an additional check for ADFS configurations and can attempt to log in to the on-prem ADFS server if detected.

Currently MFASweep has the ability to login to the following services:

  • Microsoft Graph API
  • Azure Service Management API
  • Microsoft 365 Exchange Web Services
  • Microsoft 365 Web Portal
  • Microsoft 365 Web Portal Using a Mobile User Agent
  • Microsoft 365 Active Sync
  • ADFS

WARNING: This script attempts to login to the provided account SIX (6) different times (7 if you include ADFS). If you entered an incorrect password this may lock the account out.

For more information check out the blog post here: Exploiting MFA Inconsistencies on Microsoft Services

MFASweep Example

Usage

This command will use the provided credentials and attempt to authenticate to the Microsoft Graph API, Azure Service Management API, Microsoft 365 Exchange Web Services, Microsoft 365 Web Portal with both a desktop browser and mobile, and Microsoft 365 Active Sync.

Invoke-MFASweep -Username [email protected] -Password Winter2020 

This command runs with the default auth methods and checks for ADFS as well.

Invoke-MFASweep -Username [email protected] -Password Winter2020 -Recon -IncludeADFS

Individual Modules

Each individual module can be run separately if needed as well.

Microsoft Graph API

PowerShell
Invoke-GraphAPIAuth -Username [email protected] -Password Winter2020 

Azure Service Management API

PowerShell
Invoke-AzureManagementAPIAuth -Username [email protected] -Password Winter2020 

Microsoft 365 Exchange Web Services

PowerShell
Invoke-EWSAuth -Username [email protected] -Password Winter2020 

Microsoft 365 Web Portal

PowerShell
Invoke-O365WebPortalAuth -Username [email protected] -Password Winter2020 

Microsoft 365 Web Portal w/ Mobile User Agent

PowerShell
Invoke-O365WebPortalAuthMobile -Username [email protected] -Password Winter2020 

Microsoft 365 Active Sync

PowerShell
Invoke-O365ActiveSyncAuth -Username [email protected] -Password Winter2020 

ADFS

PowerShell
Invoke-ADFSAuth -Username [email protected] -Password Winter2020 

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.