Back to Education Hub

How Password Attacks Work

Understanding attack methods helps you create passwords that can resist them. Learn how attackers try to crack passwords.

Know Your Enemy

The best defense is understanding the attack. Modern password cracking tools can test billions of combinations per second using GPUs. Your password needs to resist multiple attack strategies.

1. Brute Force Attacks

Try every possible combination until the password is found

A brute force attack systematically tries every possible combination of characters. Starting with "a", then "b", then "c", continuing through "aa", "ab", "ac", and so on until the correct password is found.

Why it works: Given enough time, brute force will eventually find any password. The question is whether it takes seconds, years, or centuries.

Example: Cracking "abc"

Try: a
Try: b
Try: c
... continues through single characters ...
Try: aa
Try: ab
Try: abc — MATCH FOUND!

For a 3-character lowercase password, there are 263 = 17,576 possible combinations. A modern GPU can test this in milliseconds.

Time Complexity

4-char lowercase:Instant
8-char lowercase:~3 hours (GPU)
8-char mixed case + numbers:~2 months (GPU)
12-char all character types:Thousands of years (GPU)

Defense Strategy

Use long passwords! Each additional character increases brute force time exponentially. A 12-character password with mixed character types is effectively immune to brute force.

2. Dictionary Attacks

Try common passwords and dictionary words first

Instead of trying every combination, dictionary attacks use lists of common passwords, dictionary words, names, and phrases. Attackers know most people choose passwords from a predictable set of words.

Why it works: Studies show that 90% of passwords are vulnerable to dictionary attacks because people choose memorable words instead of random characters.

Top 20 Most Common Passwords (All Crackable Instantly)

1. 123456Instant
2. passwordInstant
3. 12345678Instant
4. qwertyInstant
5. 123456789Instant
6. 12345Instant
7. 1234Instant
8. 111111Instant
9. 1234567Instant
10. dragonInstant

Dictionary attacks test these common passwords first. If your password is in the dictionary, it will be found in seconds regardless of length.

Defense Strategy

Never use dictionary words or common passwords. Even adding a number to the end ("password1") won't help—attackers know this trick. Use random combinations or passphrases made of multiple random words.

3. Hybrid Attacks

Combine dictionary words with common substitutions and patterns

Hybrid attacks combine dictionary attacks with common modifications people make to passwords. Attackers know you're likely to add numbers to the end, capitalize the first letter, or substitute symbols for letters.

Why it works: People think "p@ssw0rd" is clever, but attackers test these predictable patterns automatically.

Common Transformations Tested

password
PasswordPASSWORDpassword1password123
password
p@sswordp@ssw0rdP@ssw0rdP@ssw0rd1
password
password!password!1!password!password!

All of these variations are tested automatically. If you start with a dictionary word, these "clever" modifications won't save you.

Common Letter Substitutions

a@, 4
e3
i1, !
o0
s$, 5
t7, +
l1, |
g9

Defense Strategy

Don't rely on substitutions. If your base password is a dictionary word, no amount of @ symbols and numbers will make it secure. Use truly random passwords or multi-word passphrases instead.

4. Rainbow Table Attacks

Pre-computed hash lookups for instant password recovery

When passwords are stored in databases, they're usually "hashed" (converted to a fixed-length string). Rainbow tables are pre-computed databases that map common password hashes back to their original passwords.

Why it works: Instead of computing hashes on-the-fly, attackers can instantly look up a hash in their rainbow table. If your password is common enough to be in the table, it's cracked instantly.

How Rainbow Tables Work

password
5f4dcc3b5aa765d61d8327deb882cf99
123456
e10adc3949ba59abbe56e057f20f883e
qwerty
d8578edf8458ce06fbc5bb76a58c5ca4

Attacker steals a database with hash "5f4dcc3b5aa765d61d8327deb882cf99" → Looks it up in rainbow table → Finds "password" instantly.

Defense: Password Salting

Modern systems add a random "salt" to each password before hashing. This makes rainbow tables useless because each password has a unique hash even if the passwords are identical.

password + salt_abc123 → hash1
password + salt_xyz789 → hash2 (different!)

Good News

Most modern websites use salting. However, you should still use strong, unique passwords because if a site doesn't use salting properly, rainbow tables can crack common passwords instantly.

5. Credential Stuffing

Use leaked credentials from one site to access accounts on other sites

Credential stuffing takes username/password pairs leaked from data breaches and automatically tries them on other websites. Since many people reuse passwords, attackers achieve high success rates.

Why it works: Studies show that 65% of people reuse passwords across multiple sites. When one site is breached, attackers can access your accounts on completely unrelated services.

Real-World Attack Flow

1
ShoppingWebsite.com gets breached → 10 million credentials leaked
2
Attacker downloads breach database with emails and passwords
3
Automated tools test these credentials on Gmail, banking sites, social media
4
65% of users reused passwords → 6.5 million accounts compromised across multiple sites

Defense Strategy

Use unique passwords for every account. Even if one site is breached, credential stuffing attacks can't access your other accounts. This is THE most important defense against credential stuffing. Password managers make this easy.

How to Defend Against All Attacks

Use long passwords (12+ characters): Defeats brute force attacks
Avoid dictionary words: Defeats dictionary attacks
Use truly random passwords or passphrases: Defeats hybrid attacks
Use unique passwords for each account: Defeats credential stuffing and limits breach damage
Consider using passphrases: "correct-horse-battery-staple" is both secure and memorable