Threat Intelligence

🎯 Password Spraying Attacks: How Enterprise Security Teams Detect and Block Them (2026)

Password Spraying Attacks: How Enterprise Security Teams Detect and Block Them (2026): password spraying attack; password spraying detection; enterprise credential security — key points at a glance
Password Spraying Attacks: How Enterprise Security Teams Detect and Block Them (2026): password spraying attack; password spraying detection; enterprise credential security — key points at a glance
By A Yousif Tanoli · 15 September 2026 · 9 min read · 1,580 words

Russian SVR actors used a single technique — trying one common password against thousands of accounts — to breach networks across NATO governments, and most victims had no alert fire for over two weeks. Password spraying attacks succeed precisely because they stay below standard account-lockout thresholds, and most enterprise environments are still not configured to catch them.

BLUF: A password spraying attack is a credential attack where an adversary attempts one or a few commonly used passwords across a large number of accounts, avoiding lockout triggers. Stop it with Microsoft Entra Smart Lockout, MFA on every account, SIEM rules watching for distributed low-frequency failures (Event ID 4625 / Azure Sign-in logs), and anomaly-based detection on off-hours or geo-impossible logins. Remediate in under 48 hours using the response playbook in this guide.
What is a password spraying attack? A password spraying attack is a type of brute-force credential attack in which an attacker tries one or a small set of commonly used passwords — such as Spring2026! or Welcome1 — against many user accounts simultaneously, rather than trying many passwords against a single account. This horizontal approach avoids account lockouts that would trigger on high-volume per-account attempts, making it the preferred initial-access technique of nation-state actors and financially motivated ransomware groups alike.

Why Password Spraying Dominates Enterprise Initial Access

Brute force against a single account is noisy and usually blocked within minutes. Password spraying inverts the math: try one password per account, rotate through thousands of accounts, wait a few minutes, repeat with the next password. A standard five-attempt lockout threshold will never fire.

According to CISA Advisory AA23-025A — a joint advisory from the NSA, FBI, and CISA covering Russian SVR (Cozy Bear) tactics — "password spray [was] the primary initial access method used in the campaign that led to multiple government and private sector compromises." The advisory specifically noted that standard lockout policies provided no protection because the attack volume per account never crossed the threshold.

Microsoft's 2024 Digital Defense Report noted that Entra ID blocks approximately 6,000 password-based attacks per second across the Microsoft ecosystem — the vast majority of which are spray-style distributed campaigns. For organizations not running on Entra ID or not using equivalent cloud-based anomaly detection, that volume lands directly in on-premises Active Directory with no automatic protection.

A 2024 Verizon DBIR finding reinforces the stakes: 77% of web application breaches in the dataset involved credential compromise, and of those, most started with an account that was not protected by multi-factor authentication. Password spraying is the tool attackers use to find those accounts.

Spraying vs. Brute Force vs. Credential Stuffing

These three techniques are often confused but carry different detection profiles:

Technique Approach Volume per Account Lockout Risk Typical Source
Brute Force Many passwords against one account High (hundreds–thousands) Very high Single IP or small range
Password Spraying One password against many accounts Very low (1–3 per cycle) Near zero Distributed IPs or cloud proxies
Credential Stuffing Known username:password pairs from prior breaches Low (1 per pair) Near zero Botnet / residential proxies

Understanding the distinction matters for detection tuning. A brute-force alert rule fires on high volume per account. A spray alert must fire on distributed low volume — many accounts, few attempts each, potentially from multiple source IPs in a short time window.

How to Detect Password Spraying: SIEM Rules and Event IDs

Detection requires correlating across accounts rather than per-account alerting. Here are the primary signals and how to operationalize them.

On-Premises Active Directory: Windows Event IDs

The core events are logged to the Security event log on domain controllers:

Event ID Meaning Spray Relevance
4625 Failed logon Primary spray signal — watch for many unique accounts, few attempts each
4771 Kerberos pre-authentication failed Spray via Kerberos; Sub Status 0x18 = wrong password
4776 NTLM credential validation failed Spray via NTLM (legacy or OWA); Error Code 0xC000006A = wrong password
4648 Logon attempted with explicit credentials Lateral movement after successful spray

The SIEM rule logic for a spray detection alert looks like this in pseudocode:

ALERT "Password Spray Detected"
WHERE EventID = 4625
  AND LogonType IN (3, 10)        -- Network or RemoteInteractive
  AND Status = 0xC000006A         -- Wrong password (not locked out / no account)
GROUP BY SourceIPAddress, TimeWindow(5 minutes)
HAVING COUNT(DISTINCT TargetUserName) > 20
  AND COUNT(*) / COUNT(DISTINCT TargetUserName) < 3   -- Few attempts per account

Tune the thresholds to your environment. A 20-account threshold over 5 minutes is a starting point; high-volume environments may need 50 accounts over 15 minutes to avoid false positives from misconfigured service accounts.

Microsoft Entra ID (Azure AD): Sign-In Logs

For cloud-connected or hybrid environments, Entra ID provides richer telemetry via the SignInLogs table in Log Analytics:

SignInLogs
| where TimeGenerated > ago(15m)
| where ResultType != 0                         // Failures only
| where ResultDescription contains "Invalid password"
| summarize FailedAccounts = dcount(UserPrincipalName),
            TotalAttempts = count()
  by IPAddress, bin(TimeGenerated, 5m)
| where FailedAccounts > 15
| where TotalAttempts / FailedAccounts < 4      // Spray ratio

Entra ID also has native password protection and Smart Lockout, covered in the blocking section below. Microsoft Sentinel ships a built-in analytics rule called "Password spray attack against Azure AD application" — enable it immediately if you use Sentinel.

Behavioral Indicators Beyond Failed Logins

Spraying campaigns often show secondary signals before authentication failures become obvious:

How to Block Password Spraying: Controls That Actually Work

1. Multi-Factor Authentication — The Only Guaranteed Block

MFA is the single control that renders a successful password spray consequence-free. Even if an attacker discovers valid credentials, they cannot complete authentication without the second factor. NCSC guidance states: "Enabling MFA makes it significantly harder for an attacker to take over accounts, even if they have the password."

Priority order for MFA enrollment:

  1. All privileged accounts (Domain Admins, Global Admins, Security roles) — enforce via Conditional Access with no exceptions
  2. All external-facing services (VPN, OWA, remote desktop gateways, cloud portals)
  3. All standard user accounts — target 100% coverage within a defined rollout window

Block legacy authentication protocols (SMTP AUTH, IMAP, POP3, Basic Auth) that cannot enforce MFA. Entra ID Conditional Access can block legacy auth in a single policy. On-premises Exchange requires disabling these protocols per-mailbox and at the connector level.

2. Microsoft Entra Smart Lockout

Unlike traditional AD lockout which locks after N failures from any source, Smart Lockout uses cloud-based signals to distinguish genuine users from attackers even when both fail authentication. It tracks familiar and unfamiliar locations separately, meaning a user who always logs in from London will not be locked out by an attacker spraying from Eastern Europe.

Default Smart Lockout settings: 10 failures in 60 seconds triggers a 60-second lockout that doubles with each subsequent failure. Tune these in Entra ID under Security → Authentication Methods → Password Protection:

3. Account Lockout for On-Premises AD (with Smart Thresholds)

Traditional AD lockout is a blunt instrument — spray campaigns deliberately stay under the threshold. The CISA-recommended approach combines a low lockout threshold (5–10 attempts) with Fine-Grained Password Policies that apply stricter thresholds to privileged accounts, plus monitoring-first to baseline normal failure rates before enforcing lockout.

The critical configuration for spray resistance is the Observation Window. Setting Lockout Observation Window to 30 minutes means the attempt counter resets every 30 minutes — which actually helps attackers who space their spray cycles. Set the observation window to match your longest expected spray cycle, or disable reset entirely (set to 0, which means it never resets without admin unlock for privileged accounts).

4. Block or Monitor Legacy Authentication Endpoints

Password spray campaigns disproportionately target legacy authentication endpoints because they bypass Conditional Access policies. The most commonly abused endpoints:

Run this Exchange Online PowerShell command to identify accounts still using legacy auth:

Get-ConnectionInformation | Where-Object {$_.AuthenticationMethod -eq "Basic"} | Select-Object UserPrincipalName, ClientType, Protocol

Incident Response: The 48-Hour Spray Playbook

When a spray detection alert fires — or when a forensic investigation uncovers signs of historical spraying — act on this sequence:

  1. Hour 0–2: Scope. Query SIEM for the full list of accounts targeted in the spray window, successful logins from the same source IPs, and any accounts that have authenticated from that IP since the attack began. Export to a spreadsheet.
  2. Hour 2–6: Contain. Force password reset and session revocation on any accounts that authenticated successfully from attacker-controlled IPs. In Entra ID: Revoke All Refresh Tokens via PowerShell (Revoke-AzureADUserAllRefreshToken). On-premises AD: reset the password and verify no active Kerberos tickets remain by checking the krbtgt last-changed date.
  3. Hour 6–12: Harden. Block the source IP ranges at perimeter firewall and Entra ID Named Locations. Enable MFA for any enrolled user who did not already have it. If legacy auth endpoints were used, disable them for the affected protocol.
  4. Hour 12–24: Hunt. Assume at least one account was compromised before detection. Review authentication logs for lateral movement: new service principal creation, Conditional Access bypass via device registration, inbox rules forwarding email, or privilege escalation events.
  5. Hour 24–48: Report and Improve. Document the timeline, indicators of compromise (IOCs), and detection gap that allowed the attack to proceed. If the spray ran for more than 24 hours before detection, the detection rules need tuning. File a change request to lower alert thresholds or increase log retention.

Password Manager Adoption: Closing the Spray-Enabling Gap

Password spraying succeeds because employees use predictable passwords that appear on every season-password list: Summer2026!, Company1!, Welcome123. Enterprise password managers eliminate the pattern by generating and storing random, unique passwords per account — so there is no common password to spray against.

Pairing your spray-blocking controls with an enterprise password manager like NordPass closes the human-behavior gap that technical controls alone cannot address. NordPass for Business includes a password health dashboard that flags reused and weak passwords across the organization — the same passwords that spray campaigns exploit.

Spray Defense Checklist

Bottom Line

Password spraying is not a sophisticated attack. It is a deliberate, patient exploitation of the gap between how enterprise lockout policies are configured and how credential attacks are actually conducted. Nation-state actors and ransomware affiliates use it because it works — and because most organizations only detect it days or weeks after the fact, if at all.

Closing that gap requires three things together: MFA coverage that removes the value of a compromised password, detection rules tuned to horizontal spray patterns rather than per-account brute force, and a response playbook tested before the alert fires. None of these is complex to implement, but all three must be in place simultaneously. A well-configured Entra ID tenant with Smart Lockout, legacy auth blocked, and Sentinel rules active will stop virtually every commodity spray campaign at the perimeter. On-premises environments need the same principles applied through AD lockout policy, SIEM correlation, and network-layer controls on legacy endpoints.

Generate a Strong Password →
We use cookies to improve your experience. Learn more

Manage credentials securely with NordPass.