Skip to main content
T1621Credential Accessmedium difficulty

Multi-Factor Authentication Request Generation

Multi-Factor Authentication Request Generation (T1621) is what an attacker does with an already-stolen password: instead of breaking MFA, they bombard the real user with push prompts (Duo Push, Okta Verify, Microsoft Authenticator) until fatigue, or a well-timed social-engineering call, gets one approved. Entra ID and Okta sign-in logs carry the tell: a burst of MFA denials from an unfamiliar source, immediately 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.

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 until one was approved, Scattered Spider continuously sending MFA messages until acceptance, and Campaign C0027 generating continuous MFA messages against its targets, so this is not a theoretical technique, it is standard tradecraft across several tracked intrusion sets.

The best-documented public case is Uber's September 2022 breach. According to Uber's own account of the incident, an attacker who had bought a contractor's credentials sent a stream of MFA push notifications and then contacted the contractor on WhatsApp claiming to be Uber IT, saying the only way to stop the notifications was to accept one. Once inside, the attacker found PowerShell scripts with hardcoded admin credentials on an internal network share and used them to reach Uber's DUO, AWS, and Google Workspace administration along with its HackerOne program, turning one approved push into organization-wide access. The pattern generalizes: MFA fatigue rarely stays a one-account incident once the initial session lands somewhere with stored secrets or standing admin rights.

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, since that is exactly how the Uber intrusion escalated from one approved push to 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.
Glossary

What is Brute Force Attack? SOC Glossary

A brute force attack systematically tries large numbers of username and password combinations, or decryption keys, until…

Read more
Glossary

What is MFA? SOC Glossary

Multi-Factor Authentication (MFA) requires a user to prove their identity with two or more independent factors, somethin…

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
Tool

SIEM Training Console: SOCSimulator

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

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
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
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