CAPEC

Common Attack Pattern Enumeration and Classification
Common Attack Pattern Enumeration and Classification

A Community Knowledge Resource for Building Secure Software

Home > CAPEC List > Individual CAPEC Dictionary Definition (Release 1.1)   View the CAPEC List

Individual CAPEC Dictionary Definition (Release 1.1)
Individual CAPEC Dictionary Definition (Release 1.1)

Dictionary-based Password Attack
Attack Pattern ID
Pattern Abstraction: Detailed

16

Typical Severity

High

Description

Summary


        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.  
      

Attack Execution Flow

Explore
  1. Determine application's/system's password policy: Determine the password policies of the target application/system.

    Attack Step Techniques
    DescriptionEnvironments
    Determine minimum and maximum allowed password lengths.env-All
    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).env-All
    Determine account lockout policy (a strict account lockout policy will prevent brute force attacks).env-All
    Indicators of Susceptibility
    IDTypeDescriptionEnvironments
    c49s0i1PositivePasswords are used in the application/systemenv-All
    c49s0i2NegativePasswords are not used in the application/system.env-All
  2. Select dictionaries: Pick the dictionaries to be used in the attack (e.g. different languages, specific terminology, etc.)

    Attack Step Techniques
    DescriptionEnvironments
    Select dictionary based on particular users' preferred languages.env-All
    Select dictionary based on the application/system's supported languages.env-All
  3. Determine username(s) to target: Determine username(s) whose passwords to crack.

    Attack Step Techniques
    DescriptionEnvironments
    Obtain username(s) by sniffing network packets.env-CommProtocol env-Peer2Peer env-ClientServer
    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)env-All
    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)env-Embedded env-Local
    Indicator of Susceptibility
    IDTypeDescriptionEnvironments
    c16s2i1NegativeRemote application or system provides no indication regarding whether a given username is valid or not.env-ClientServer env-Peer2Peer env-Web env-CommProtocol
    Outcomes
    IDTypeDescription
    c16s2o1SuccessAt least one valid username found.
    c16s2o2FailurePresence of any valid usernames could not be established.
    Security Controls
    IDTypeDescription
    c16s2sc1PreventativeDo not reveal information regarding validity of particular usernames to users.
    c16s2sc2CorrectiveLock out accounts whose usernames are suspected to have been compromised.
Exploit
  1. 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.

    Attack Step Techniques
    DescriptionEnvironments
    Try all words in the dictionary, as well as common misspellings of the words as passwords for the chosen username(s).env-All
    Try common combinations of words in the dictionary, as well as common misspellings of the combinations as passwords for the chosen username(s).env-All
    Indicator of Susceptibility
    IDTypeDescriptionEnvironments
    c16s3i1NegativeApplication/system does not use password authentication.env-All
    Outcomes
    IDTypeDescription
    c16s3o1SuccessAttacker determines correct password for a user ID and obtains access to application or system.
    c16s3o2FailureAttacker is unable to determine correct password for a user ID and obtain access to application or system.
    Security Controls
    IDTypeDescription
    c16s3sc1DetectiveLarge number of authentication failures in logs.
    c16s3sc2PreventativeEnforce strict account lockout policies.
    c16s3sc3PreventativeEnforce strong passwords (having sufficient length and containing mix of lower case and upper case letters, numbers, and special characters)
Attack 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.

Typical Likelihood of Exploit

Medium

Methods of Attack
  • Brute Force
Examples-Instances

Description


          A system user selects the word "treacherous" as their passwords believing that it would be very difficult to guess.  The password-based dictionary attack is used to crack this password and gain access to the account.
        

Related Vulnerability

Description


          The Cisco LEAP challenge/response authentication mechanism uses passwords in a way that is susceptible to dictionary attacks, which makes it easier for remote attackers to gain privileges via brute force password guessing attacks.
          
          Cisco LEAP is a mutual authentication algorithm that supports dynamic derivation of session keys. With Cisco LEAP, mutual authentication relies on a shared secret, the user's logon password—which is known by the client and the network, and is used to respond to challenges between the user and the Remote Authentication Dial-In User Service (RADIUS) server.
          
          Methods exist for someone to write a tool to launch an offline dictionary attack on password-based authentications that leverage Microsoft MS-CHAP, such as Cisco LEAP.  The tool leverages large password lists
          to efficiently launch offline dictionary attacks against LEAP user accounts, collected through passive sniffing or active techniques.
        

Related Vulnerability

CVE-2003-1096

Attacker Skill or Knowledge Required

Low: 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.

Indicators-Warnings of Attack

Many invalid login attempts are coming from the same machine (same IP address) or for the same log in name. The login attempts use passwords that are dictionary words.

Obfuscation Techniques

Employ IP spoofing to make it seem like login attempts are coming from different machines.

Solutions and 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-02.

Attack Motivation-Consequences
  • Privilege Escalation
Related Weaknesses
CWE-IDWeakness NameWeakness Relationship Type
521Weak Password RequirementsTargeted
262Not Using Password AgingTargeted
263Password Aging with Long ExpirationTargeted
Related Attack Patterns
IDNameRelationship TypeRelationship Description
49Password Brute ForcingMore Abstract
70Try Common(default) Usernames and PasswordsMore Detailed
55Rainbow Table Password CrackingOccasionally Follows
Purpose

Penetration

CIA Impact
Confidentiality ImpactIntegrity ImpactAvailability Impact
HighMediumLow
Technical Context
Architectural ParadigmFrameworkPlatformLanguage
AllAllAllAll
Source
Submission(s)
SubmitterOrganizationDateComment
Eugene LebanidzeCigital, Inc2007-02-26
Modification(s)
ModifierOrganizationDateComment
Sean BarnumCigital, Inc2007-03-01Review and revision of content
Richard StruseVOXEM, Inc2007-03-26Review and feedback leading to changes in Solutions
Sean BarnumCigital, Inc2007-04-13Modified pattern content according to review and feedback
Amit SethiCigital, Inc.2007-10-29Added extended Attack Execution Flow
 
Page Last Updated: April 18, 2008