CAPEC Definitions

    CAPEC Definitions / CAPEC-49

    CAPEC-49: Password Brute Forcing

    An adversary tries every possible value for a password until they succeed. A brute force attack, if feasible computationally, will always be successful because it will essentially go through all possible passwords given the alphabet used (lower case letters, upper case letters, numbers, symbols, etc.) and the maximum length of the password.

    Severity:High
    Possibility:Medium

    Extended Description

    A system will be particularly vulnerable to this type of an attack if it does not have a proper enforcement mechanism in place to ensure that passwords selected by users are strong passwords that comply with an adequate password policy. In practice a pure brute force attack on passwords is rarely used, unless the password is suspected to be weak. Other password cracking methods exist that are far more effective (e.g. dictionary attacks, rainbow tables, etc.). Knowing the password policy on the system can make a brute force attack more efficient. For instance, if the policy states that all passwords must be of a certain level, there is no need to check smaller candidates.

    Mitigations

    Implement a password throttling mechanism. This mechanism should take into account both the IP address and the log in name of the user.

    Put together a strong password policy and make sure that all user created passwords comply with it. Alternatively automatically generate strong passwords for users.

    Passwords need to be recycled to prevent aging, that is every once in a while a new password must be chosen.

    Relationships with other CAPECs

    CAPEC-112: Brute Force

    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

    An adversary needs to know a username to target.

    The system uses password based authentication as the one factor authentication mechanism.

    An application does not have a password throttling mechanism in place. A good password throttling mechanism will make it almost impossible computationally to brute force a password as it may either lock out the user after a certain number of incorrect attempts or introduce time out periods. Both of these would make a brute force attack impractical.

    Related Weaknesses

    CWE-521: Weak Password Requirements

    CWE-262: Not Using Password Aging

    CWE-263: Password Aging with Long Expiration

    CWE-257: Storing Passwords in a Recoverable Format

    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