Современные системы аутентификации стремятся обеспечить высокий уровень безопасности, и многофакторная аутентификация (MFA) играет в этом ключевую роль. Но часто возникают ситуации, когда MFA настроена недостаточно эффективно, что может привести к уязвимостям в защите учетных записей. В статье рассмотрим MFASweep — скрипт PowerShell, который позволяет найти уязвимые точки многофакторной аутентификации сервисов Microsoft.
Еще по теме: Обход защиты от брута используя GitHub Actions
Возможности MFASweep
MFASweep — это PowerShell-скрипт, который предназначен для брута (попытки входа) сервисoв Microsoft с использованием предоставленных учетных данных и определения, включена ли многофакторная аутентификация (MFA).
Скрипт также проверяет конфигурации ADFS и может попытаться выполнить вход на локальный сервер ADFS, если он обнаружен.
Материал представлен исключительно в образовательных целях. Автор и администрация сайта spy-soft.net не несут ответственности за любое незаконное использование данной информации.
На данный момент MFASweep поддерживает сервисы:
- Microsoft Graph API
- Azure Service Management API
- Microsoft 365 Exchange Web Services
- Веб-портал Microsoft 365 с 6 типами устройств (Windows, Linux, MacOS, Android Phone, iPhone, Windows Phone)
- Microsoft 365 Active Sync
- ADFS
Этот скрипт попытается выполнить вход в указанный аккаунт 10 раз (или 11, если включить ADFS). Если введен неверный пароль, это может заблокировать аккаунт.
Использование MFASweep
Следующая команда использует указанные учетные данные и пытается выполнить аутентификацию в Microsoft Graph API, Azure Service Management API, Microsoft 365 Exchange Web Services, веб-портале Microsoft 365 с браузера на ПК и мобильных устройств, а также Microsoft 365 Active Sync:
1 |
Invoke-MFASweep -Username targetuser@targetdomain.com -Password Winter2020 |
Команда выполняется с использованием методов аутентификации по умолчанию и проверяет ADFS:
1 |
Invoke-MFASweep -Username targetuser@targetdomain.com -Password Winter2020 -Recon -IncludeADFS |
Модули MFASweep
Каждый модуль можно запускать отдельно.
Microsoft Graph API:
1 |
Invoke-GraphAPIAuth -Username targetuser@targetdomain.com -Password Winter2020 |
Azure Service Management API:
1 |
Invoke-AzureManagementAPIAuth -Username targetuser@targetdomain.com -Password Winter2020 |
Microsoft 365 Exchange Web Services:
1 |
Invoke-EWSAuth -Username targetuser@targetdomain.com -Password Winter2020 |
Веб-портал Microsoft 365:
1 |
Invoke-O365WebPortalAuth -Username targetuser@targetdomain.com -Password Winter2020 |
Веб-портал Microsoft 365 с мобильным User Agent:
1 |
Invoke-O365WebPortalAuthMobile -Username targetuser@targetdomain.com -Password Winter2020 |
Microsoft 365 Active Sync:
1 |
Invoke-O365ActiveSyncAuth -Username targetuser@targetdomain.com -Password Winter2020 |
ADFS:
1 |
Invoke-ADFSAuth -Username targetuser@targetdomain.com -Password Winter2020 |
Брут Client ID при ROPC
Функция Invoke-BruteClientIDs проходит через различные типы ресурсов и Client ID во время ROPC аутентификации, чтобы найти однофакторный доступ для различных комбинаций Client ID и ресурсов:
1 |
Invoke-BruteClientIDs -Username targetuser@targetdomain.com -Password Winter2024 |
В целом интересный скрипт для проверки MFA и поиска уязвимостей, связанных с аутентификацией в сервисах Microsoft.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Взлом веб-приложения с помощью брута Burp Suite
- Брутфорс сайта с помощью Burp Suite на примере bWAPP