Repeated failed MFA challenges for one user from one IP (AADSTS50074 / AADSTS500121)
Description
Identifies users with several AADSTS50074 (strong authentication required, the user did not pass the MFA challenge) or AADSTS500121 (authentication failed during the MFA challenge) sign-in results from the same IP address within one hour. One such row is often normal, for example a user who ignores a prompt once. A burst from an IP or country the user does not use can indicate MFA fatigue (an attacker with the password generating prompts), and a later successful sign-in from the same IP suggests the user approved a prompt they did not start. The threshold of 3 is a starting point, not a Microsoft number. Tune it against your own baseline. Each run looks at the last hour only, matching the hourly schedule, so one burst raises one alert and not one per run. Reference: https://learn.microsoft.com/en-us/entra/identity/monitoring-health/concept-interactive-sign-ins
Query · kql
SigninLogs
| where TimeGenerated > ago(1h)
| where ResultType in ("50074", "500121")
| summarize Prompts = count(),
ResultTypes = make_set(ResultType),
FirstSeen = min(CreatedDateTime),
LastSeen = max(CreatedDateTime),
Apps = make_set(AppDisplayName, 5)
by UserPrincipalName, IPAddress
| where Prompts >= 3
| sort by Prompts desc