
Инструмент для проверки, включена ли MFA в нескольких сервисах Microsoft
MFASweep — это скрипт PowerShell, который пытается выполнить вход в различные службы Microsoft с использованием предоставленных учётных данных и определяет, включена ли многофакторная аутентификация (MFA). В зависимости от настроек политик условного доступа и других параметров многофакторной аутентификации некоторые протоколы могут остаться однофакторными. Также включает дополнительную проверку конфигураций ADFS и может попытаться выполнить вход в локальный сервер ADFS, если он обнаружен.
В настоящее время MFASweep поддерживает вход в следующие службы:
ПРЕДУПРЕЖДЕНИЕ: Этот скрипт пытается выполнить вход в указанную учётную запись ОДИННАДЦАТЬ (11) раз (12, если учитывать ADFS). Если вы ввели неверный пароль, это может привести к блокировке учётной записи.
Для получения дополнительной информации ознакомьтесь с записью в блоге: Эксплуатация несоответствий MFA в службах Microsoft


Эта команда использует предоставленные учётные данные и пытается аутентифицироваться через Microsoft Graph API, Azure Resource Manager API, Microsoft 365 Exchange Web Services, веб-портал Microsoft 365 с 7 различными user-agent и 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.Каждый отдельный модуль также можно запускать независимо.
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 (user-agent Windows)
Invoke-M365WebPortalAuth -Username [email protected] -Password Winter2026 -UAtype Windows
Веб-портал Microsoft 365 (user-agent iPhone)
Invoke-M365WebPortalAuth -Username [email protected] -Password Winter2026 -UAtype iPhone
Веб-портал Microsoft 365 (неизвестная платформа / user-agent 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
Неизвестная платформа (обход политик условного доступа)
Этот модуль проверяет неправильно настроенные политики условного доступа, которые не требуют MFA для неизвестных платформ устройств. Он использует строку user-agent Nintendo Switch, чтобы Entra ID сообщал о платформе устройства и браузере как «Неизвестно».
Invoke-UnknownPlatformAuth -Username [email protected] -Password Winter2026
Функция Invoke-BruteClientIDs перебирает различные типы ресурсов и идентификаторы клиентов при аутентификации ROPC, чтобы найти однофакторный доступ для различных комбинаций идентификаторов клиентов и ресурсов. Если какой-либо метод аутентификации окажется успешным, токены и/или куки будут записаны в AccessTokens.json. (В настоящее время не записывает куки или токены для EWS, ActiveSync и ADFS.)
Invoke-BruteClientIDs -Username [email protected] -Password Winter2026 -VerboseOut
По умолчанию модуль Invoke-BruteClientIDs использует список из 10 наиболее распространённых ресурсов и 50 идентификаторов клиентов. Вы можете использовать флаги -FullResourceList и -FullClientIdList, чтобы применить встроенные расширенные списки из 514 идентификаторов клиентов и 54 ресурсов.
Invoke-BruteClientIDs -Username [email protected] -Password Winter2026 -FullResourceList -FullClientIdList -VerboseOut