
Una herramienta para verificar si MFA está habilitado en múltiples servicios de Microsoft.
MFASweep es un script de PowerShell que intenta iniciar sesión en varios servicios de Microsoft utilizando un conjunto de credenciales proporcionado e intentará identificar si MFA está habilitado. Dependiendo de cómo estén configuradas las políticas de acceso condicional y otras configuraciones de autenticación multifactor, algunos protocolos pueden quedar como factor único. También tiene una comprobación adicional para configuraciones ADFS y puede intentar iniciar sesión en el servidor ADFS local si se detecta.
Actualmente MFASweep tiene la capacidad de iniciar sesión en los siguientes servicios:
ADVERTENCIA: Este script intenta iniciar sesión en la cuenta proporcionada ONCE (11) veces diferentes (12 si incluye ADFS). Si ingresó una contraseña incorrecta, esto puede bloquear la cuenta.
Para más información, consulte la publicación del blog aquí: Exploiting MFA Inconsistencies on Microsoft Services


Este comando utilizará las credenciales proporcionadas e intentará autenticarse en Microsoft Graph API, Azure Resource Manager API, Microsoft 365 Exchange Web Services, Microsoft 365 Web Portal con 7 agentes de usuario diferentes y Microsoft 365 Active Sync. Si algún método de autenticación resulta exitoso, los tokens y/o cookies se escribirán en AccessTokens.json. (Actualmente no registra cookies ni tokens para EWS, ActiveSync y ADFS).
Invoke-MFASweep -Username [email protected] -Password Winter2026 -WriteTokens
Este comando se ejecuta con los métodos de autenticación predeterminados y también verifica ADFS.
Invoke-MFASweep -Username [email protected] -Password Winter2026 -Recon -IncludeADFS
Invoke-MFASweepWebRequest para que pueda ejecutarse limpiamente tanto en Windows PowerShell 5.1 como en PowerShell 7+.AADSTS53003 y reportan los bloqueos de Acceso Condicional por separado de los fallos de autenticación genéricos.Invoke-M365WebPortalAuth -UAtype NintendoSwitch.Cada módulo individual también se puede ejecutar por separado.
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 (agente de usuario de Windows)
Invoke-M365WebPortalAuth -Username [email protected] -Password Winter2026 -UAtype Windows
Microsoft 365 Web Portal (agente de usuario de iPhone)
Invoke-M365WebPortalAuth -Username [email protected] -Password Winter2026 -UAtype iPhone
Microsoft 365 Web Portal (Unknown Platform / agente de usuario de 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 (omisión de política de acceso condicional)
Este módulo prueba políticas de acceso condicional mal configuradas que no exigen MFA para plataformas de dispositivos desconocidas. Utiliza una cadena de agente de usuario de Nintendo Switch para que Entra ID reporte la plataforma del dispositivo y el navegador como 'Unknown'.
Invoke-UnknownPlatformAuth -Username [email protected] -Password Winter2026
La función Invoke-BruteClientIDs recorrerá varios tipos de recursos y client IDs durante la autenticación ROPC para encontrar acceso de factor único para varias combinaciones de client IDs y recursos. Si algún método de autenticación resulta exitoso, los tokens y/o cookies se escribirán en AccessTokens.json. (Actualmente no registra cookies ni tokens para EWS, ActiveSync y ADFS)
Invoke-BruteClientIDs -Username [email protected] -Password Winter2026 -VerboseOut
Por defecto, el módulo Invoke-BruteClientIDs utiliza una lista de los 10 recursos más comunes y los 50 client IDs principales. Puede usar las banderas -FullResourceList y -FullClientIdList para usar listas integradas más grandes de 514 client IDs y 54 recursos.
Invoke-BruteClientIDs -Username [email protected] -Password Winter2026 -FullResourceList -FullClientIdList -VerboseOut