A rainbow table is a database containing a pre-computed set of hashes and their corresponding plaintext values. In order to crack a password hash, one simply looks up the hash in the rainbow table to find the corresponding plaintext value.
Rainbow tables are often used by attackers in order to crack password hashes. They are also used by defenders in order to quickly check whether a given password hash has been cracked before.
There are a few drawbacks to using rainbow tables. First, they can be large and unwieldy. Second, they only work if the attacker has the same hashing algorithm and parameters as the defender. Third, they only work for a limited set of characters (usually just lowercase letters and numbers).
Despite these drawbacks, rainbow tables remain a popular tool for both attackers and defenders.