Location Research Breakthrough Possible @S-Logix pro@slogix.in

Orchestrating Multi-Factor Authentication Fatigue Attacks Against Authentik Identity Services Through Authentication-Request Rate Controls and User Verification Policies

Description

Modern identity-management platforms use multi-factor authentication (MFA) to provide an additional verification layer beyond usernames and passwords. authentik provides customizable authentication workflows through Flows, Stages, and Policies, allowing organizations to define how users are identified, authenticated, and granted access to applications.

An MFA fatigue attack attempts to overwhelm a legitimate user with repeated authentication or MFA requests until the user accidentally approves one of the requests or otherwise interacts with an unexpected authentication prompt.

The security risk is particularly relevant when an authentication workflow permits repeated authentication attempts without sufficient request-rate controls, user verification, suspicious-activity detection, or user-awareness mechanisms.

In this use case, a controlled authentik identity service is deployed on Ubuntu Linux inside an isolated VirtualBox laboratory. A protected test application is integrated with authentik as the authentication provider.

The laboratory attack generates repeated authentication requests against a dedicated test account. The requests are intentionally limited to the authorized laboratory environment and are designed to reproduce the behavioral pattern of an MFA fatigue attack without targeting real users or external identity services.

The authentik authentication workflow uses an Identification Stage, authentication stages, an Authenticator Validation Stage, and policies that control when authentication stages are executed. authentik documentation confirms that stages can be bound to flows and that policies can determine whether a stage runs.

The defensive architecture introduces authentication-request rate controls, repeated-request detection, suspicious authentication-event monitoring, user-verification requirements, MFA throttling where applicable, CAPTCHA or reputation-based controls for suspicious requests, and security-event monitoring.

For code-based authentication methods, authentik supports throttling of repeated failed verification attempts for device classes such as TOTP, static OTP, email OTP, and SMS OTP. WebAuthn and Duo devices are documented separately and are not subject to that specific code-based throttling mechanism.

The controlled attack is repeated after the security controls are implemented to verify that excessive authentication requests are detected and restricted, unexpected MFA activity is identified, user-verification requirements remain enforced, legitimate authentication continues to function, and security events are available for investigation.

Complete Identity and Access Management Workflow: Authentik Identity Service → Authentication Flow → User Identification → Primary Authentication → MFA Validation → Repeated Authentication Requests → Request-Rate Detection → Suspicious Activity Detection → Authentication Request Restriction → User Verification → MFA Validation → Security Alert → Security Investigation → Remediation → Post-Remediation Validation

Existing Security Problem

Application: Authentik Identity and Authentication Services

authentik provides the controlled identity-management environment for the laboratory. Its authentication architecture is based on Flows, Stages, and Policies. A flow defines the authentication sequence, stages represent individual verification or logic steps, and policies can determine whether a flow or individual stage is allowed to execute. The Authenticator Validation Stage can validate enrolled authenticators, including TOTP, WebAuthn, Duo, SMS, email, and static authenticators.

Existing Problem:

An authentication workflow may become exposed to MFA fatigue when an attacker repeatedly initiates authentication attempts against a target account and causes the identity service to generate repeated MFA verification events. If repeated authentication requests are not sufficiently detected or restricted, the legitimate user may receive multiple unexpected authentication prompts.

The security problem is therefore:

Attacker → Target Authentik Account → Repeated Authentication Requests → Primary Authentication Attempts → Repeated MFA Validation Requests → Multiple Unexpected MFA Notifications / Prompts → User Fatigue / Confusion → Potential Accidental Approval → Potential Unauthorized Authentication → Application Access

The proposed security architecture introduces request-rate controls, suspicious-request detection, authentication policies, MFA throttling where supported, user-verification requirements, and centralized security monitoring.

Attack

Specific Attack: Multi-Factor Authentication Fatigue Attack

An MFA fatigue attack attempts to generate repeated authentication or MFA requests for a legitimate user. Instead of attempting to bypass MFA cryptographically, the attacker abuses the authentication workflow by repeatedly initiating authentication attempts against the target account. In the controlled laboratory scenario, a dedicated test account is created in authentik. The security-testing system generates repeated authentication requests against the laboratory authentication endpoint. The objective is not to compromise the account. The objective is to reproduce the repeated-request behavior associated with MFA fatigue and determine whether the authentication architecture can identify and restrict the excessive requests. authentik’s flow architecture allows policies to be attached to flows and stage bindings, making it possible to introduce additional controls around authentication-stage execution.

Attack Behavior:
Kali Linux / Controlled Test Client
→
Identify Laboratory Authentik Account
→
Initiate Authentication Request
→
Complete Controlled Primary Authentication
→
MFA Validation Requested
→
Repeat Authentication Request
→
Repeated MFA Requests Generated
→
Authentication Request Counter Increases
→
Rate-Control Policy Evaluates Activity
→
Repeated / Suspicious Activity Detected
→
Additional Verification / Request Restriction
→
Security Alert Generated
→
Excessive Authentication Activity Blocked or Throttled

Security Concept

Authentication-Request Rate Controls and User Verification Policies:

MFA fatigue protection requires more than simply enabling MFA. The authentication workflow should also identify abnormal authentication-request behavior and apply additional controls when repeated requests occur.

authentik provides a flow-based architecture in which authentication consists of ordered stages and policies can be bound to flows or stage bindings. This allows the laboratory implementation to place security decisions around the authentication process rather than treating every authentication request as equally trusted. authentik also provides a Reputation policy designed to react to repeated failed logins or suspicious sign-in activity. Its hardening documentation recommends using reputation-based controls with CAPTCHA or authentication-flow denial for suspicious activity and configuring notifications for login_failed and suspicious_request events. For code-based authenticators, the Authenticator Validation Stage provides exponential back-off after failed verification attempts, with configurable throttling factors. For stronger user-verification assurance, WebAuthn/FIDO2/passkeys can be configured with user-verification requirements. authentik documents user-verification settings that can require, prefer, or discourage verification by the authenticator.

The secure processing flow is:

Authentication Request
→
Authentik Flow
→
User Identification
→
Primary Authentication
→
Authentication Request Rate Evaluation
→
Suspicious-Request Detection
→
MFA Stage
→
User Verification
→
MFA Verification
→
Authentication Decision
→
Allow / Restrict / Deny
→
Security Event Logging
→
Wazuh Monitoring
→
OpenSearch Investigation
→
Post-Remediation Validation

Defensive Mechanism

Authentication-Request Rate Control

Authentication activity for the laboratory account is monitored over a defined time window.

Purpose

Detect excessive authentication requests before repeated requests can continuously trigger MFA verification.

Repeated Authentication Detection

Authentication events are correlated to identify repeated requests involving the same laboratory account, source, or authentication workflow.

Purpose

Identify behavioral patterns associated with MFA fatigue activity.

Reputation-Based Authentication Control

authentik’s Reputation policy can react to repeated failed logins or suspicious sign-in activity and can be combined with CAPTCHA or flow restrictions.

Purpose

Increase authentication controls when suspicious activity accumulates.

MFA Verification Throttling

For supported code-based authentication methods, authentik provides throttling that increases the delay between successive failed verification attempts.

Purpose

Slow repeated MFA verification attempts and reduce automated authentication pressure.

User Verification Policy

The authentication workflow requires stronger user verification where supported, including WebAuthn user-verification controls.

Purpose

Require the user to perform an explicit verification action rather than relying only on a simple authentication interaction.

CAPTCHA Challenge

A CAPTCHA stage can be introduced into the authentication workflow for suspicious or low-reputation authentication activity. authentik’s hardening guidance recommends CAPTCHA as a brute-force-resistance control.

Purpose

Introduce an additional human-verification barrier when automated authentication activity is detected.

Authentication Flow Restriction

Policies are bound to the authentication flow or relevant stage binding to control whether authentication can continue.

Purpose

Stop suspicious authentication requests before unrestricted MFA processing continues.

MFA Stage Protection

The Authenticator Validation Stage is configured to require the intended enrolled authenticator and appropriate authentication behavior.

Purpose

Ensure that authentication requests cannot bypass the configured MFA validation stage.

Authentication Event Monitoring

Authentication failures, suspicious requests, and MFA-related activity are monitored.

Purpose

Provide visibility into repeated authentication behavior.

Security Alert Generation

Alerts are generated when authentication-request activity exceeds the controlled laboratory threshold.

Purpose

Notify the security-monitoring workflow of potential MFA fatigue behavior.

Security Evidence Correlation

Authentication events are correlated with request-source information, timestamps, user identity, and policy decisions.

Purpose

Establish a complete timeline of the controlled MFA fatigue scenario.

Security Tools

Identity and Access Management Platform: authentik

authentik provides the controlled identity-management and authentication environment. Its authentication architecture uses Flows, Stages, and Policies, allowing authentication workflows to be customized and security decisions to be attached to specific authentication stages.

Purpose
  • Provide the identity service.
  • Authenticate laboratory users.
  • Execute authentication flows.
  • Validate MFA authenticators.
  • Generate authentication events.

Authentication Workflow Engine: Authentik Flows

authentik Flows define the ordered authentication stages used during the laboratory login process.

Purpose
  • Define authentication sequences.
  • Connect identification and authentication stages.
  • Integrate MFA validation.
  • Apply authentication policies.
  • Control authentication workflow behavior.

Authentication Verification Component: Authenticator Validation Stage

The Authenticator Validation Stage validates enrolled authentication devices such as TOTP, WebAuthn, Duo, SMS, email, and static authenticators.

Purpose
  • Validate the configured MFA method.
  • Enforce MFA during authentication.
  • Apply authenticator-specific controls.
  • Support controlled MFA testing.
  • Generate authentication results.

Authentication Policy Engine: authentik Policies

authentik Policies provide reusable checks that can be bound to flows, stage bindings, applications, or sources.

Purpose
  • Apply authentication security rules.
  • Restrict suspicious authentication requests.
  • Control stage execution.
  • Apply reputation-based decisions.
  • Enforce access conditions.

Custom Authentication Policy Mechanism: Expression Policies

Expression Policies allow custom Python-based logic and can inspect request metadata, flow context, and authentication-related information.

Purpose
  • Implement laboratory-specific request-rate decisions.
  • Evaluate authentication context.
  • Apply custom access logic.
  • Support controlled security-policy enforcement.
  • Record policy decisions.

MFA Method: TOTP Authenticator

The TOTP Authenticator Setup Stage allows a user to enroll a time-based one-time-password authenticator, which can subsequently be validated through the Authenticator Validation Stage.

Purpose
  • Provide a controlled MFA method.
  • Generate laboratory OTP codes.
  • Validate legitimate MFA authentication.
  • Test MFA throttling behavior.
  • Compare normal and excessive verification activity.

Security Monitoring Tool: Wazuh

Wazuh monitors the Ubuntu and authentik environment and collects relevant authentication and security events.

Purpose
  • Monitor authentication activity.
  • Detect repeated authentication behavior.
  • Generate security alerts.
  • Monitor system events.
  • Support incident investigation.

Security Analytics Tool: OpenSearch

OpenSearch provides centralized investigation and correlation of authentication-security events.

Purpose
  • Search MFA-related events.
  • Correlate repeated authentication requests.
  • Review timestamps and source information.
  • Investigate policy decisions.
  • Support security-event analysis.

Security Testing Platform: Kali Linux

Kali Linux provides the controlled testing environment used to generate repeated authentication requests against the laboratory authentik service.

Purpose
  • Generate authorized authentication requests.
  • Reproduce MFA fatigue behavior.
  • Validate request-rate controls.
  • Validate authentication restrictions.
  • Perform post-remediation testing.

Operating System: Ubuntu Linux

Ubuntu hosts the laboratory authentik identity service and supporting security-monitoring components.

Purpose
  • Host authentik.
  • Provide the authentication environment.
  • Store laboratory configuration.
  • Generate authentication telemetry.
  • Support security-control validation.

Virtualization Platform: VirtualBox

VirtualBox provides the isolated laboratory infrastructure.

Purpose
  • Host Ubuntu and Kali Linux.
  • Isolate authentication testing.
  • Provide controlled networking.
  • Support repeatable MFA-security experiments.
  • Prevent testing activity from affecting external identity services.

Process

STEP 01

Step 1: Prepare the Isolated Identity-Security Laboratory

  • Create the Ubuntu Linux virtual machine for the authentik identity service.
  • Prepare the Kali Linux security-testing virtual machine.
  • Configure isolated laboratory networking.
  • Assign controlled laboratory IP addresses.
  • Confirm that all MFA-fatigue testing is restricted to the authorized laboratory.
Tools: VirtualBox + Ubuntu + Kali Linux
STEP 02

Step 2: Deploy Authentik

  • Install the supported authentik deployment on the Ubuntu laboratory system.
  • Start the required authentik services.
  • Verify that the authentik administrative interface is accessible.
  • Record the deployed authentik version.
  • Confirm that the identity service operates normally.
Tools: authentik + Ubuntu
STEP 03

Step 3: Create the Laboratory Identity Environment

  • Create a dedicated laboratory user account.
  • Create a separate security-testing account where required.
  • Create a controlled test application protected by authentik.
  • Assign the laboratory user access to the test application.
  • Verify normal authentication before enabling MFA-fatigue testing.
Tools: authentik + Ubuntu
STEP 04

Step 4: Configure the Authentication Flow

  • Create or configure the laboratory authentication flow.
  • Configure the Identification Stage.
  • Configure the primary authentication stage.
  • Add the Authenticator Validation Stage.
  • Bind the required stages in the intended order.
  • Verify that the normal authentication flow completes successfully.
Tools: authentik Flows + Stages
STEP 05

Step 5: Configure the Laboratory MFA Method

  • Enroll a controlled MFA authenticator for the laboratory user.
  • Configure TOTP or another supported laboratory authenticator.
  • Associate the authenticator with the test account.
  • Verify successful MFA validation.
  • Record the normal MFA authentication behavior.
Tools: authentik Authenticator Validation + TOTP
STEP 06

Step 6: Establish the Normal Authentication Baseline

  • Perform a normal authentication from the controlled client.
  • Record the authentication request sequence.
  • Record the primary authentication event.
  • Record the MFA validation event.
  • Record the successful login event.
  • Preserve the normal authentication timeline.
Tools: authentik + Kali Linux + Wazuh
STEP 07

Step 7: Configure Authentication-Request Monitoring

  • Identify the authentik authentication endpoints used by the laboratory flow.
  • Monitor authentication requests associated with the laboratory account.
  • Record request timestamps.
  • Record the source information available to the monitoring workflow.
  • Establish a normal authentication-request baseline.
Tools: authentik + Wazuh + OpenSearch
STEP 08

Step 8: Configure Repeated-Request Detection

  • Define a controlled request-rate threshold for the laboratory test.
  • Track repeated authentication attempts for the test account.
  • Track repeated requests from the controlled testing source.
  • Generate a suspicious-activity condition when the threshold is exceeded.
  • Verify that normal authentication remains below the controlled threshold.
Tools: Python + authentik Policies + Wazuh
STEP 09

Step 9: Configure the Authentication Security Policy

  • Create the laboratory authentication-security policy.
  • Bind the policy to the authentication flow or relevant stage binding.
  • Configure the policy to evaluate repeated authentication behavior.
  • Configure the policy decision for excessive requests.
  • Verify that the policy is evaluated during the authentication flow.
Tools: authentik Policies + Expression Policy
STEP 10

Step 10: Configure MFA Verification Controls

  • Configure the Authenticator Validation Stage for the selected MFA method.
  • Configure the appropriate authenticator device class.
  • Configure the required authentication behavior.
  • Enable supported throttling controls for code-based authenticators.
  • Verify that legitimate MFA validation remains functional.
Tools: authentik Authenticator Validation + TOTP + WebAuthn
STEP 11

Step 11: Configure Suspicious-Authentication Response

  • Configure the Reputation policy for repeated authentication failures where applicable.
  • Configure CAPTCHA for suspicious authentication behavior where required.
  • Configure authentication-flow restrictions for excessive activity.
  • Configure notifications for relevant authentication events.
  • Verify that the suspicious-request response is triggered by controlled test conditions.
Tools: authentik Reputation Policy + CAPTCHA + Notifications
STEP 12

Step 12: Configure Security Monitoring

  • Configure Wazuh monitoring for the Ubuntu authentik environment.
  • Collect relevant authentication events.
  • Collect failed-login events.
  • Collect suspicious-request events where available.
  • Verify that authentication activity is visible to the monitoring system.
Tools: Wazuh + authentik + Ubuntu
STEP 13

Step 13: Configure Centralized Security Investigation

  • Forward relevant Wazuh security events to OpenSearch.
  • Create searches for repeated authentication activity.
  • Create searches for MFA-related events.
  • Create searches for suspicious authentication activity.
  • Verify that the laboratory authentication timeline can be reconstructed.
Tools: OpenSearch + Wazuh
STEP 14

Step 14: Generate the Controlled MFA-Fatigue Traffic

  • Use the Kali Linux test client to initiate repeated authentication attempts against the laboratory authentik service.
  • Use only the dedicated synthetic laboratory account.
  • Maintain a controlled request rate and test duration.
  • Allow the authentication workflow to reach the MFA stage where appropriate.
  • Record the resulting authentication and MFA events.
Tools: Kali Linux + Python + authentik
STEP 15

Step 15: Detect Excessive Authentication Requests

  • Monitor the repeated authentication activity.
  • Count authentication requests associated with the controlled test account.
  • Compare the observed request rate with the configured laboratory threshold.
  • Identify the transition from normal to excessive authentication behavior.
  • Generate the controlled suspicious-authentication event.
Tools: Python + authentik Policies + Wazuh
STEP 16

Step 16: Apply Authentication Request Restriction

  • Apply the configured request-rate security decision.
  • Prevent excessive authentication requests from continuing through unrestricted MFA processing.
  • Apply additional verification or CAPTCHA where configured.
  • Apply MFA throttling for supported code-based verification attempts.
  • Record the resulting authentication-policy decision.
Tools: authentik Policies + Authenticator Validation + CAPTCHA
STEP 17

Step 17: Investigate the MFA-Fatigue Detection

  • Review the authentication events generated during the controlled attack.
  • Correlate repeated requests with the laboratory account.
  • Review the timestamps of the authentication attempts.
  • Review MFA validation events and policy decisions.
  • Confirm that the observed activity matches the controlled MFA-fatigue pattern.
Tools: Wazuh + OpenSearch + authentik
STEP 18

Step 18: Remove the Controlled Attack Condition and Validate Recovery

  • Stop the repeated authentication requests.
  • Wait for the configured authentication controls to return to the normal state.
  • Perform a legitimate authentication using the laboratory account.
  • Complete the configured MFA verification.
  • Verify successful access to the protected test application.
  • Confirm that legitimate authentication remains functional.
Tools: authentik + TOTP + WebAuthn + Wazuh
STEP 19

Step 19: Perform Final MFA-Fatigue Detection and Prevention Validation

  • Repeat the normal authentication baseline.
  • Repeat the controlled MFA-fatigue request pattern.
  • Verify repeated authentication-request detection.
  • Verify request-rate control enforcement.
  • Verify suspicious-authentication policy execution.
  • Verify MFA throttling for supported code-based authenticators.
  • Verify CAPTCHA or additional verification where configured.
  • Verify user-verification enforcement where configured.
  • Verify Wazuh security-event generation.
  • Verify OpenSearch event correlation.
  • Verify that excessive authentication activity is restricted.
  • Verify that legitimate MFA authentication remains operational.
  • Preserve the final authentication-security validation evidence.
Tools: authentik + Authenticator Validation + Expression Policies + Wazuh + OpenSearch + Python + Ubuntu + Kali Linux

Outcome

  1. A controlled authentik identity-management environment is successfully deployed on Ubuntu Linux with a protected laboratory application.
  2. A customized authentication flow is established using authentik Flows, Stages, and Policies, providing a controlled environment for MFA-fatigue security testing.
  3. A controlled MFA fatigue attack pattern is reproduced by generating repeated authentication requests against a dedicated synthetic laboratory account without targeting real users or external identity services.
  4. Authentication-request monitoring identifies repeated authentication behavior and distinguishes the controlled excessive-request pattern from the normal authentication baseline.
  5. Authentication-request rate controls restrict excessive authentication activity before repeated requests can continue indefinitely through the authentication workflow.
  6. authentik policies, including custom Expression Policies and reputation-based controls where applicable, provide additional decision points for suspicious authentication behavior.
  7. MFA verification controls provide additional protection, including throttling for supported code-based authenticators and configurable user-verification requirements for WebAuthn authentication.
  8. Wazuh provides monitoring and alerting for authentication and suspicious-activity events, while OpenSearch provides centralized investigation and correlation of the MFA-fatigue security evidence.
  9. Post-remediation testing confirms that excessive authentication activity is restricted while legitimate laboratory users can continue to authenticate through the configured MFA workflow.
  10. The complete authentik MFA-fatigue detection and prevention workflow is demonstrated, covering identity-service deployment, authentication-flow configuration, MFA enrollment, authentication-request monitoring, repeated-request detection, rate-control enforcement, suspicious-activity policies, MFA throttling, user verification, security monitoring, centralized investigation, recovery, and final validation.