CAPEC-16

Dictionary-based Password Attack
MEDIUM
HIGH
Draft
2014-06-23 00:00 +00:00
2020-12-17 00:00 +00:00

Alerte pour un CAPEC

Stay informed of any changes for a specific CAPEC.
Alert management

Description

An attacker tries each of the words in a dictionary as passwords to gain access to the system via some user's account. If the password chosen by the user was a word within the dictionary, this attack will be successful (in the absence of other mitigations). This is a specific instance of the password brute forcing attack pattern.

Dictionary Attacks differ from similar attacks such as Password Spraying (CAPEC-565) and Credential Stuffing (CAPEC-600), since they leverage unknown username/password combinations and don't care about inducing account lockouts.

Informations

Execution Flow

1) Explore

[Determine application's/system's password policy] Determine the password policies of the target application/system.

Technique
  • Determine minimum and maximum allowed password lengths.
  • Determine format of allowed passwords (whether they are required or allowed to contain numbers, special characters, etc., or whether they are allowed to contain words from the dictionary).
  • Determine account lockout policy (a strict account lockout policy will prevent brute force attacks).

2) Explore

[Select dictionaries] Pick the dictionaries to be used in the attack (e.g. different languages, specific terminology, etc.)

Technique
  • Select dictionary based on particular users' preferred languages.
  • Select dictionary based on the application/system's supported languages.

3) Explore

[Determine username(s) to target] Determine username(s) whose passwords to crack.

Technique
  • Obtain username(s) by sniffing network packets.
  • Obtain username(s) by querying application/system (e.g. if upon a failed login attempt, the system indicates whether the entered username was valid or not)
  • Obtain usernames from filesystem (e.g. list of directories in C:\Documents and Settings\ in Windows, and list in /etc/passwd in UNIX-like systems)

4) Exploit

[Use dictionary to crack passwords.] Use a password cracking tool that will leverage the dictionary to feed passwords to the system and see if they work.

Technique
  • Try all words in the dictionary, as well as common misspellings of the words as passwords for the chosen username(s).
  • Try common combinations of words in the dictionary, as well as common misspellings of the combinations as passwords for the chosen username(s).

Prerequisites

The system uses one factor password based authentication.
The system does not have a sound password policy that is being enforced.
The system does not implement an effective password throttling mechanism.

Skills Required

A variety of password cracking tools and dictionaries are available to launch this type of an attack.

Resources Required

A machine with sufficient resources for the job (e.g. CPU, RAM, HD). Applicable dictionaries are required. Also a password cracking tool or a custom script that leverages the dictionary database to launch the attack.

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.

Related Weaknesses

CWE-ID Weakness Name
CWE-521 Weak Password Requirements
The product does not require that users should have strong passwords, which makes it easier for attackers to compromise user accounts.
CWE-262 Not Using Password Aging
The product does not have a mechanism in place for managing password aging.
CWE-263 Password Aging with Long Expiration
The product supports password aging, but the expiration period is too long.
CWE-654 Reliance on a Single Factor in a Security Decision
A protection mechanism relies exclusively, or to a large extent, on the evaluation of a single condition or the integrity of a single object or entity in order to make a decision about granting access to restricted resources or functionality.
CWE-307 Improper Restriction of Excessive Authentication Attempts
The product does not implement sufficient measures to prevent multiple failed authentication attempts within a short time frame, making it more susceptible to brute force attacks.
CWE-308 Use of Single-factor Authentication
The use of single-factor authentication can lead to unnecessary risk of compromise when compared with the benefits of a dual-factor authentication scheme.
CWE-309 Use of Password System for Primary Authentication
The use of password systems as the primary means of authentication may be subject to several flaws or shortcomings, each reducing the effectiveness of the mechanism.

Submission

Name Organization Date Date Release
CAPEC Content Team The MITRE Corporation 2014-06-23 +00:00

Modifications

Name Organization Date Comment
CAPEC Content Team The MITRE Corporation 2020-07-30 +00:00 Updated Consequences, Description, Mitigations, Related_Attack_Patterns, Related_Weaknesses
CAPEC Content Team The MITRE Corporation 2020-12-17 +00:00 Updated Related_Attack_Patterns
Click on the button to the left (OFF), to authorize the inscription of cookie improving the functionalities of the site. Click on the button to the left (Accept all), to unauthorize the inscription of cookie improving the functionalities of the site.