Response playbooks, investigation guides, and Atomic Red Team tests are Pro-only. Upgrade to unlock the full detection package for THREAT-Recon-CredentialStuffingValidationSweep.

Upgrade to Pro
THREAT-Recon-CredentialStuffingValidationSweep Google Chronicle · YARA-L

Detect Credential Stuffing Validation Sweep (Pre-Attack Breach List Testing) in Google Chronicle

Before committing to an intrusion, many adversaries first validate which entries in a purchased or scraped breach-credential list (combo list) are still live against the target's own authentication endpoints. This reconnaissance activity is distinct from brute force or password spraying: the attacker tries exactly one attacker-supplied username/password pair per account — never guessing or repeating passwords across identities — and deliberately throttles request volume to stay under per-account lockout and rate-limiting thresholds. The result is a low-and-slow sweep touching a very large number of distinct, often unrelated identities (many of which do not even exist in the target directory) from a small pool of shared infrastructure (bulletproof VPS, residential proxy pools, or credential-checker tooling such as OpenBullet/SentryMBA configs) using automation-flavoured or generic user agents. Initial access brokers and groups like Scattered Spider/Muddled Libra routinely run this validation step across many organisations' SSO and webmail portals to build a list of confirmed-working credentials before selling or acting on access. Because no individual account sees more than one or two failures, this activity is invisible to lockout policies and easily missed by detections tuned for classic brute force or spray, making the attempts-per-user ratio and aggregate breadth across a single source the key signals.

MITRE ATT&CK

Tactic
Reconnaissance

YARA-L Detection Query

Google Chronicle (YARA-L)
yaral
rule credential_validation_sweep_t1589_001 {
  meta:
    author = "df00tech"
    description = "Detects pre-attack breach-credential list validation: one attempt per account across many distinct identities from a single source"
    severity = "HIGH"
    priority = "MEDIUM"
    reference = "CISA AA23-320A"
    mitre_attack_tactic = "Reconnaissance"
    mitre_attack_technique = "T1589.001"
    version = "1.0"

  events:
    $e.metadata.event_type = "USER_LOGIN"
    $e.security_result.action = "FAIL"
    $e.metadata.product_name = "Azure AD"
    $e.principal.ip = $src_ip
    $e.target.user.userid = $user

  match:
    $src_ip over 6h

  outcome:
    $total_attempts = count($e.metadata.id)
    $unique_users = count_distinct($user)
    $attempts_per_user = $total_attempts / $unique_users

  condition:
    $unique_users >= 50 and $attempts_per_user <= 1.3
}
high severity medium confidence

YARA-L 2.0 rule for Google Chronicle SIEM detecting credential-list validation sweeps: aggregates failed logins per source IP over a 6-hour window and triggers when 50+ distinct accounts are touched at an attempts-per-user ratio at or below 1.3.

Data Sources

Google Chronicle Azure AD ingestion

Required Tables

USER_LOGIN UDM events

False Positives & Tuning

  • Bulk onboarding automation touching many accounts once each
  • Identity federation health-check jobs
  • Internal credential-hygiene audits

Other platforms for THREAT-Recon-CredentialStuffingValidationSweep


Testing Methodology

Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Low-and-Slow Credential Sweep Simulation via Python Requests

    Expected signal: Authentication logs record one failure per distinct username from the test source IP, spread across the run duration, with no repeated attempts against the same account.

  2. Test 2Credential Checker Tool Simulation (OpenBullet-style Config Replay)

    Expected signal: Web/IdP access logs show sequential single-attempt authentication requests from one source IP with a non-browser user agent string, one distinct username per request.

  3. Test 3Validated Credential Success Injection

    Expected signal: A successful authentication event is recorded from the same source IP that generated the preceding sweep failures.

Unlock playbooks & atomic tests with Pro

Get the full detection package for THREAT-Recon-CredentialStuffingValidationSweep — response playbook and atomic red team tests, plus investigation guidance and hunting queries.

df00tech Pro — £29/user/month

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections