CAPEC-55: Rainbow Table Password Cracking

Detailed Draft 严重程度: Medium 攻击可能性: Medium

CAPEC版本: 3.9

更新日期: 2023-01-24

攻击模式描述

An attacker gets access to the database table where hashes of passwords are stored. They then use a rainbow table of pre-computed hash chains to attempt to look up the original password. Once the original password corresponding to the hash is obtained, the attacker uses the original password to gain access to the system.

执行流程

步骤 1 Explore

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

技术:
  • Determine minimum and maximum allowed password lengths.
  • Determine format of allowed passwords (whether they are required or allowed to contain numbers, special characters, etc.).
  • Determine account lockout policy (a strict account lockout policy will prevent brute force attacks).
步骤 2 Explore

[Obtain password hashes] An attacker gets access to the database table storing hashes of passwords or potentially just discovers a hash of an individual password.

技术:
  • Obtain copy of database table or flat file containing password hashes (by breaking access controls, using SQL Injection, etc.)
  • Obtain password hashes from platform-specific storage locations (e.g. Windows registry)
  • Sniff network packets containing password hashes.
步骤 3 Exploit

[Run rainbow table-based password cracking tool] An attacker finds or writes a password cracking tool that uses a previously computed rainbow table for the right hashing algorithm. It helps if the attacker knows what hashing algorithm was used by the password system.

技术:
  • Run rainbow table-based password cracking tool such as Ophcrack or RainbowCrack. Reduction function must depend on application's/system's password policy.

前提条件

  • 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.

所需技能

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.

所需资源

  • 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.

后果影响

影响范围: Confidentiality Access Control Authorization

技术影响: Gain Privileges

缓解措施

Use salt when computing password hashes. That is, concatenate the salt (random bits) with the original password prior to hashing it.

示例实例

BusyBox 1.1.1 does not use a salt when generating passwords, which makes it easier for local users to guess passwords from a stolen password file using techniques such as rainbow tables. See also: CVE-2006-1058

分类映射

分类名称 条目ID 条目名称
ATTACK 1110.002 Brute Force:Password Cracking
关键信息

CAPEC ID: CAPEC-55

抽象级别: Detailed

状态: Draft

典型严重程度: Medium

攻击可能性: Medium

相关攻击模式