Skip to main content
T1621Credential Accessmedium difficulty

Multi-Factor Authentication Request Generation

MFA fatigue, also called MFA bombing or push bombing, is the attack MITRE tracks as T1621: someone who already holds a user's password keeps triggering MFA push prompts until the user approves one, worn down or talked into it by a fake IT call. Entra ID and Okta logs show it as denied pushes followed by a success.

Practice detecting Multi-Factor Authentication Request Generation on realistic SIEM alerts in SOCSimulator Operations.

SIEM

What is Multi-Factor Authentication Request Generation?

“Multi-Factor Authentication Request Generation is documented as technique T1621 in MITRE ATT&CK® v19.1 under the Credential Access tactic. Detection requires visibility into SIEM telemetry.”

MFA fatigue works because a plain push prompt asks one question, Approve or Deny, and gives the user nothing to check the request against. Someone woken at 1 a.m. by the twelfth prompt in five minutes may tap Approve just to make the phone stop. CISA's fact sheet on phishing-resistant MFA calls this push bombing ("also known as push fatigue") and rates push without number matching as vulnerable to it. With number matching, the sign-in screen shows a number and the user has to type it into the authenticator app, so a prompt they didn't start can't be approved by reflex, although a caller posing as IT can still ask them to read the number back. Microsoft Learn states that number matching is enabled for all Microsoft Authenticator push notifications. CISA lists FIDO2/WebAuthn security keys and PKI-based methods as the forms where push bombing does not apply at all, because there is no prompt to approve.

The prerequisite is a valid username and password the attacker already has, usually from phishing, an infostealer log, or a credential-stuffing hit. With that pair in hand, the attacker signs in repeatedly, and each attempt triggers the identity provider to push a real MFA prompt to the legitimate user's phone: a Duo Push, an Okta Verify tap-to-approve, or a Microsoft Authenticator notification. No malware runs and no MFA mechanism is broken; the attacker is simply generating the exact request the platform is designed to send.

Two things usually happen next. Either the attacker fires prompts back-to-back for minutes, betting that an annoyed or half-asleep user taps Approve just to make the buzzing stop, or the attacker slows down and adds a human layer: a WhatsApp message, an SMS, or a phone call posing as IT support, telling the target the only way to clear the notifications is to accept one. The second pattern is more deliberate and considerably harder to catch on volume alone, since the push count can be low.

Some identity platforms also expose self-service password reset (SSPR) and MFA re-enrollment flows that an attacker can abuse the same way: trigger the reset, then generate the confirmation prompt or code request until the target (or a help-desk agent acting on their behalf) completes it. Once one prompt is approved, the attacker inherits a fully authenticated session and typically moves straight into T1078 (Valid Accounts) territory: mailbox access, SSO into downstream SaaS, or VPN.

Where Multi-Factor Authentication Request Generation fits in an attack

This technique sits at the credential-access-to-initial-access hinge: it only works after credentials are already stolen, and it ends the moment one push is approved, handing the attacker a live session instead of a password to crack. MITRE's own procedure examples for T1621 list APT29 using repeated MFA requests to gain victim account access, LAPSUS$ spamming target users with prompts in the hope that one gets approved, and Scattered Spider sending repeated MFA requests (including during its C0027 campaign). Microsoft's March 2022 write-up on LAPSUS$, then tracked as DEV-0537, describes the group using stolen passwords to trigger simple-approval prompts in the hope that the user eventually consents. Cisco Talos documented the voice variant against Cisco that year. An employee got repeated calls from people claiming to be from various trusted organizations, pushing them to accept MFA prompts the attacker had started, until one was accepted and the attacker reached the VPN as that user.

The best-known public case is Uber's September 2022 breach. Uber's own security update says the attacker probably bought a contractor's corporate password on the dark web after malware infected the contractor's personal device, then tried to log in again and again; each attempt sent an approval request that blocked access until the contractor eventually accepted one. From there, Uber says, the attacker reached other employee accounts and elevated permissions in tools including G-Suite and Slack, and Uber said it believed the attacker was affiliated with Lapsus$. The more detailed version comes from the attacker. InfoQ, citing BleepingComputer's reporting on researcher Corben Leo's conversation with the hacker, relays that the contractor was contacted on WhatsApp by someone claiming to be Uber IT, and that a PowerShell script with admin credentials for Uber's secrets-management platform then opened DUO, AWS, Gsuite and the HackerOne bug bounty program. Even taking only what Uber confirmed, one approved push became access to several employee accounts and admin-level tooling.

Detection Strategies

The following detection strategies help SOC analysts identify Multi-Factor Authentication Request Generation activity. These methods apply across SIEM environments and can be implemented as detection rules, correlation queries, or behavioral analytics in your security platform.

SIEM detection

KQL
let threshold = 2;
SigninLogs
| project TimeGenerated, AuthenticationRequirement, AuthenticationDetails, UserPrincipalName, CorrelationId
| where AuthenticationRequirement == "multiFactorAuthentication"
| mv-expand todynamic(AuthenticationDetails)
| extend AuthResult = tostring(parse_json(AuthenticationDetails).authenticationStepResultDetail)
| where AuthResult in ("MFA completed in Azure AD", "MFA denied; user declined the authentication",
    "MFA denied; user did not respond to mobile app notification", "MFA successfully completed")
| summarize ['Result Types'] = make_list(AuthResult) by CorrelationId, UserPrincipalName
| where ['Result Types'] has_any ("MFA completed in Azure AD", "MFA successfully completed")
    and ['Result Types'] has_any ("MFA denied; user declined the authentication",
        "MFA denied; user did not respond to mobile app notification")
| mv-expand ['Result Types'] to typeof(string)
| where ['Result Types'] has_any ("MFA denied; user declined the authentication",
    "MFA denied; user did not respond to mobile app notification")
| summarize ['Denied MFA Count'] = count() by ['Result Types'], CorrelationId, UserPrincipalName
| where ['Denied MFA Count'] >= threshold

Groups Entra ID sign-ins by CorrelationId to find sessions with two or more MFA denials followed by a completion. Adapted from reprise99's public Sentinel-Queries repository, the community KQL most cited for Azure AD MFA-spam detection.

KQL
let PushThreshold = 10;
OktaSSO
| where (eventType_s == "user.authentication.auth_via_mfa"
    and column_ifexists('debugContext_debugData_factor_s', '') == "OKTA_VERIFY_PUSH")
  or eventType_s == "system.push.send_factor_verify_push"
  or eventType_s == "user.mfa.okta_verify.deny_push"
| summarize successes = countif(eventType_s == "user.authentication.auth_via_mfa"),
    denies = countif(eventType_s == "user.mfa.okta_verify.deny_push"),
    pushes = countif(eventType_s == "system.push.send_factor_verify_push")
    by authenticationContext_externalSessionId_s, actor_alternateId_s
| where pushes > PushThreshold
| extend finding = case(
    denies == pushes and pushes > 1, "Multiple pushes denied, no successful authentication",
    successes > 0 and pushes > 3, "Multiple pushes sent, eventual successful authentication",
    "Normal authentication pattern")

Microsoft's own Sentinel content for Okta: flags sessions with more than 10 push notifications and labels the ones that end in a success after denials. This is the official Azure-Sentinel analytic rule, tagged relevantTechniques: T1621 in its own metadata.

Simulated example generated by SOCSimulator Research
TimeGenerated: 2026-07-16 02:47:11
UserPrincipalName: m.chen@corp.local
CorrelationId: 4b8e19a0-7f2b-4e1a-9c3d-118acbf2e701
AuthenticationRequirement: multiFactorAuthentication
AuthenticationStepResultDetail: MFA denied; user did not respond to mobile app notification
IPAddress: 203.0.113.44

TimeGenerated: 2026-07-16 02:47:44
UserPrincipalName: m.chen@corp.local
CorrelationId: 4b8e19a0-7f2b-4e1a-9c3d-118acbf2e701
AuthenticationStepResultDetail: MFA denied; user declined the authentication
IPAddress: 203.0.113.44

TimeGenerated: 2026-07-16 02:49:58
UserPrincipalName: m.chen@corp.local
CorrelationId: 4b8e19a0-7f2b-4e1a-9c3d-118acbf2e701
AuthenticationStepResultDetail: MFA completed in Azure AD
IPAddress: 10.20.4.112

Tuning and false positives

Not every denied-then-approved MFA sequence is an attack. Users on unreliable mobile data or Wi-Fi legitimately miss or fail to load a push and retry, and switching from a personal phone to a new enrolled device produces a burst of failed attempts before the working method succeeds. Help-desk-initiated password resets or MFA re-enrollments can also generate several prompts in a short window as part of a sanctioned account-recovery flow, and VPN clients that silently retry authentication on flaky connections can trigger repeated MFA challenges that look identical to a fatigue attempt in raw counts.

The signal that separates the two is provenance and volume, not the mere presence of a denial. A legitimate retry pattern comes from the user's own device and IP, stays low (two or three attempts), and resolves quickly. A fatigue attack shows denials originating from an IP or ASN the account has never used, arriving faster than a human plausibly triggers them, and often followed by a change in successful-login geography once the push is finally approved. Tune the rule to require both a denial-then-success sequence and a source-IP or geography mismatch between the denials and the eventual success, and exclude accounts currently flagged in a known help-desk reset ticket.

Example Alerts

These realistic alert examples show what Multi-Factor Authentication Request Generation looks like in your security tools. Use them to tune detection rules and train analysts to recognize true positives versus false positives in live environments.

HighSIEM

Repeated Okta Push Denials Followed by Successful MFA

Okta System Log recorded 14 system.push.send_factor_verify_push events and 11 user.mfa.okta_verify.deny_push events for j.alvarez@corp.local inside externalSessionId 7f3a9c21, all within 6 minutes, then a single user.authentication.auth_via_mfa success. The push volume and denial ratio match the published Okta MFA fatigue pattern, not a normal re-authentication retry.

HighSIEM

Entra ID Sign-In: MFA Denied Three Times Then Approved

SigninLogs for m.chen@corp.local show authenticationStepResultDetail 'MFA denied; user did not respond to mobile app notification' twice and 'MFA denied; user declined the authentication' once, all under CorrelationId 4b8e19a0, followed two minutes later by 'MFA completed in Azure AD' from the same CorrelationId. The denied attempts geolocate to a hosting-provider IP outside the user's normal country; the approval comes from the user's usual device.

MediumSIEM

MFA Denial Spike Without Approval, Watchlist Trigger

r.osei@corp.local generated 5 Okta Verify denial events in a 40-minute window with no subsequent success. No account compromise confirmed yet, but a sustained denial rate with zero approvals indicates an attacker who holds valid credentials and is still probing for one accepted push.

Responding to Multi-Factor Authentication Request Generation

When this fires, first pull the IP addresses and device identifiers on every denied attempt and compare them to the account's normal sign-in baseline. If the denials come from the user's own device and a familiar network, this is very likely a connectivity retry, not an attack, close it with a note. If the denials come from an unfamiliar source and the eventual approval comes from the user's usual device, ask the user directly whether they received an unusual volume of prompts and whether anyone contacted them (call, text, WhatsApp) claiming to be IT during that window: that answer confirms or rules out the social-engineering variant.

If the sequence is confirmed hostile, treat it as an active account compromise, not a policy violation. Revoke the account's active sessions and refresh tokens immediately so the approved push cannot be reused, force a password reset, and re-enroll the user's MFA method from a clean device rather than trusting the existing enrollment. Pull the account's activity since the approval timestamp for signs the attacker already reached mailbox rules, OAuth app consents, or SSO into downstream SaaS, and check whether any secrets the account could read (shared drives, internal wikis, credential stores) were touched. In the Uber attacker's own account of the 2022 breach, a script with stored admin credentials is what turned one approved push into broad internal access.

Frequently Asked Questions

How do SOC analysts detect Multi-Factor Authentication Request Generation?
Detection centers on SIEM telemetry for the credential access phase of the attack. In Entra ID sign-in logs, expand the authenticationDetails array on any sign-in where AuthenticationRequirement equals multiFactorAuthentication and look for authenticationStepResultDetail values that mix 'MFA denied; user declined the authentication' or 'MFA denied; user did not respond to mobile app notification' with an eventual 'MFA completed in Azure AD' inside the same CorrelationId. That sequence, not a single denial, is the fatigue pattern. In the Okta System Log, watch for a burst of system.push.send_factor_verify_push events followed by one or more user.mfa.okta_verify.deny_push events and then a single user.authentication.auth_via_mfa success inside the same authenticationContext.externalSessionId. Ten or more pushes in a short window is the threshold most published Okta fatigue rules use.
What does a Multi-Factor Authentication Request Generation alert look like?
A representative SIEM detection is "Repeated Okta Push Denials Followed by Successful MFA" (high severity): Okta System Log recorded 14 system.push.send_factor_verify_push events and 11 user.mfa.okta_verify.deny_push events for j.alvarez@corp.local inside externalSessionId 7f3a9c21, all within 6 minutes, then a single user.authentication.auth_via_mfa success. The push volume and denial ratio match the published Okta MFA fatigue pattern, not a normal re-authentication retry.
Which tools detect Multi-Factor Authentication Request Generation, and how can I practice?
Multi-Factor Authentication Request Generation (T1621) is best surfaced with SIEM telemetry, which exposes the credential access signals described above. Practice detecting it on those exact consoles in SOCSimulator Operations, free.
Playbook

MFA Fatigue / Push Bombing Investigation: Investigation Playbook

When authentication logs show repeated MFA push notifications sent to a user in rapid succession, especially outside bus…

Read more
Tool

SIEM Training Console: SOCSimulator

The SIEM console in SOCSimulator replicates the workflow of enterprise platforms like Splunk Enterprise Security, Micros…

Read more
Glossary

What is Brute Force Attack? SOC Glossary

A brute force attack is password guessing at scale: a tool submits candidate passwords, or encryption keys, until one wo…

Read more
Glossary

What is MFA? SOC Glossary

MFA (multi-factor authentication) is a sign-in check that asks for two or more different kinds of proof before granting …

Read more
Glossary

What is Lateral Movement? SOC Glossary

Lateral movement is the attack phase where adversaries expand access from an initial foothold to additional systems, usi…

Read more
Glossary

What is SIEM? SOC Glossary

Security Information and Event Management (SIEM) is a platform that aggregates, normalizes, and correlates log data from…

Read more
Career Path

SOC Analyst (Tier 1) Career Guide: Salary & Skills

Tier 1 SOC Analysts are the front line. You monitor alert queues, triage incoming detections, classify them as true or f…

Read more
Career Path

Incident Responder Career Guide: Salary & Skills

Incident Responders lead the technical response when confirmed breaches happen. You coordinate containment, run forensic…

Read more
Comparison

SOCSimulator Vs. Letsdefend: Platform Comparison

SOCSimulator wins on operational realism. You get multi-tool shift simulation with SLA pressure, noise injection, and al…

Read more
Glossary

SOC Glossary: Security Operations Terminology

Complete glossary of Security Operations Center terminology for aspiring SOC analysts.

Read more
Feature

Shift Mode: Real-Time SOC Simulation

Practice alert triage under realistic time pressure with SLA timers and noise injection.

Read more
Feature

Operations: Guided Training Operations

Structured CTF-style investigation operations covering real-world attack scenarios.

Read more