CAPEC Definitions

    CAPEC Definitions / CAPEC-565

    CAPEC-565: Password Spraying

    In a Password Spraying attack, an adversary tries a small list (e.g. 3-5) of common or expected passwords, often matching the target's complexity policy, against a known list of user accounts to gain valid credentials. The adversary tries a particular password for each user account, before moving onto the next password in the list. This approach assists the adversary in remaining undetected by avoiding rapid or frequent account lockouts. The adversary may then reattempt the process with additional passwords, once enough time has passed to prevent inducing a lockout.

    Severity:High
    Possibility:High

    Extended Description

    Password Spraying attacks often target management services over commonly used ports such as SSH, FTP, Telnet, LDAP, Kerberos, MySQL, and more. Additional targets include Single Sign-On (SSO) or cloud-based applications/services that utilize federated authentication protocols, and externally facing applications. Successful execution of Password Spraying attacks usually lead to lateral movement within the target, which allows the adversary to impersonate the victim or execute any action that the victim is authorized to perform. If the password chosen by the user is commonly used or easily guessed, this attack will be successful (in the absence of other mitigations). This is a specific instance of the password brute forcing attack pattern. Password Spraying Attacks are similar to Dictionary-based Password Attacks (CAPEC-16) in that they both leverage precompiled lists (i.e. dictionaries) of username/password combinations to try against a system/application. The primary difference is that Password Spraying Attacks leverage a known list of user accounts and only try one password for each account before moving onto the next password. In contrast, Dictionary-based Password Attacks leverage unknown username/password combinations and are often executed offline against files containing hashed credentials, where inducing an account lockout is not a concern. Password Spraying Attacks are also similar to Credential Stuffing attacks (CAPEC-600), since both utilize known user accounts and often attack the same targets. Credential Stuffing attacks, however, leverage known username/password combinations, whereas Password Spraying attacks have no insight into known username/password pairs. If a Password Spraying attack succeeds, it may additionally lead to Credential Stuffing attacks on different targets.

    Mitigations

    Create a strong password policy and ensure that your system enforces this policy.

    Implement an intelligent password throttling mechanism. Care must be taken to assure that these mechanisms do not excessively enable account lockout attacks such as CAPEC-2.

    Leverage multi-factor authentication for all authentication services and prior to granting an entity access to the domain network.

    Relationships with other CAPECs

    CAPEC-49: Password Brute Forcing

    CAPEC-600: Credential Stuffing

    CAPEC-151: Identity Spoofing

    CAPEC-560: Use of Known Domain Credentials

    CAPEC-561: Windows Admin Shares with Stolen Credentials

    CAPEC-653: Use of Known Operating System Credentials

    Prerequisites

    The system/application uses one factor password based authentication.

    The system/application does not have a sound password policy that is being enforced.

    The system/application does not implement an effective password throttling mechanism.

    The adversary possesses a list of known user accounts on the target system/application.

    Related Weaknesses

    CWE-521: Weak Password Requirements

    CWE-262: Not Using Password Aging

    CWE-263: Password Aging with Long Expiration

    CWE-654: Reliance on a Single Factor in a Security Decision

    CWE-307: Improper Restriction of Excessive Authentication Attempts

    CWE-308: Use of Single-factor Authentication

    CWE-309: Use of Password System for Primary Authentication