CAPEC-55: Rainbow Table Password Cracking
Description
Extended Description
A password rainbow table stores hash chains for various passwords. A password chain is computed, starting from the original password, P, via a reduce(compression) function R and a hash function H. A recurrence relation exists where Xi+1 = R(H(Xi)), X0 = P. Then the hash chain of length n for the original password P can be formed: X1, X2, X3, ... , Xn-2, Xn-1, Xn, H(Xn). P and H(Xn) are then stored together in the rainbow table. Constructing the rainbow tables takes a very long time and is computationally expensive. A separate table needs to be constructed for the various hash algorithms (e.g. SHA1, MD5, etc.). However, once a rainbow table is computed, it can be very effective in cracking the passwords that have been hashed without the use of salt.
Severity :
Medium
Possibility :
Medium
Type :
Detailed
Relationships with other CAPECs
This table shows the other attack patterns and high level categories that are related to this attack pattern.
Prerequisites
This table shows the other attack patterns and high level categories that are related to this attack pattern.
- Hash of the original password is available to the attacker. For a better chance of success, an attacker should have more than one hash of the original password, and ideally the whole table.
- Salt was not used to create the hash of the original password. Otherwise the rainbow tables have to be re-computed, which is very expensive and will make the attack effectively infeasible (especially if salt was added in iterations).
- The system uses one factor password based authentication.
Skills required
This table shows the other attack patterns and high level categories that are related to this attack pattern.
- Low A variety of password cracking tools are available that can leverage a rainbow table. The more difficult part is to obtain the password hash(es) in the first place.
Taxonomy mappings
Mappings to ATT&CK, OWASP and other frameworks.
Resources required
Rainbow table of password hash chains with the right algorithm used. A password cracking tool that leverages this rainbow table will also be required. Hash(es) of the password is required.
Related CWE
A Related Weakness relationship associates a weakness with this attack pattern. Each association implies a weakness that must exist for a given attack to be successful.
CWE-261: Weak Encoding for Password
CWE-262: Not Using Password Aging
CWE-263: Password Aging with Long Expiration
CWE-308: Use of Single-factor Authentication
CWE-309: Use of Password System for Primary Authentication
CWE-521: Weak Password Requirements
CWE-654: Reliance on a Single Factor in a Security Decision
CWE-916: Use of Password Hash With Insufficient Computational Effort
Visit http://capec.mitre.org/ for more details.