
여러 Microsoft 서비스에서 MFA가 활성화되어 있는지 확인하는 도구
MFASweep는 제공된 자격 증명을 사용하여 다양한 Microsoft 서비스에 로그인을 시도하고 MFA가 활성화되어 있는지 식별하는 PowerShell 스크립트입니다. 조건부 액세스 정책 및 기타 다단계 인증 설정이 어떻게 구성되어 있는지에 따라 일부 프로토콜은 단일 요소로 남을 수 있습니다. 또한 ADFS 구성에 대한 추가 검사를 수행하며, 감지된 경우 온-프레미스 ADFS 서버에 로그인을 시도할 수 있습니다.
현재 MFASweep은 다음 서비스에 로그인할 수 있습니다:
경고: 이 스크립트는 제공된 계정에 ELEVEN(11)번(ADFS 포함 시 12번) 로그인을 시도합니다. 잘못된 암호를 입력한 경우 계정이 잠길 수 있습니다.
자세한 내용은 블로그 게시글을 확인하세요: Exploiting MFA Inconsistencies on Microsoft Services


이 명령은 제공된 자격 증명을 사용하여 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