By Fatskills Exam Guides Team — the exam nerds behind 28,500+ quizzes and 2.1M practice questions across 500+ global exams.
(Brute Force, Dictionary, Rainbow Tables, Spraying)
Password attacks are the #1 initial access vector in real-world breaches. If you’re a SOC analyst, pentester, or sysadmin, you will see these attacks daily—whether in logs, SIEM alerts, or failed login attempts.
Why this matters in production: - Brute force attacks can lock out legitimate users (DoS) or crack weak passwords in minutes. - Dictionary attacks exploit human laziness (e.g., Password123, Winter2024). - Rainbow tables bypass hashing by precomputing password hashes—if you’re not using salts, you’re toast. - Password spraying evades lockout policies by trying one password across many accounts (e.g., Spring2024! on every user).
Password123
Winter2024
Spring2024!
Real-world scenario: You’re a security engineer at a mid-sized company. Your SIEM flags 500 failed login attempts in 5 minutes from a single IP. Is this a brute force attack? A misconfigured script? Or a password spray trying Company123! on every account? You need to know how these attacks work to respond correctly.
Company123!
a, b, c, ..., aa, ab, ac, ..., 123456, ...
rockyou.txt
SecLists
SHA256(password + salt)
SHA256("password123") = ef92b778...
SHA256("password123" + "x7Fk9") = 3a1b5c...
Company2024!
[email protected]
bob
python import bcrypt password = b"SuperSecret123" salt = bcrypt.gensalt() hashed = bcrypt.hashpw(password, salt) print(hashed) # b'$2b$12$N9qo8uLOickgx2ZMRZoMy...'
[email protected]:Password123
Kali Linux (or any Linux with hydra, hashcat, john) ? Target system (e.g., a test SSH server, a local web app with login) ? Wordlist (rockyou.txt or SecLists)
hydra
hashcat
john
Goal: Crack a weak SSH password using brute force.
bash sudo apt update && sudo apt install openssh-server -y sudo systemctl start ssh
bash sudo adduser testuser # Set password to "password123" (weak, for demo)
bash hydra -l testuser -P /usr/share/wordlists/rockyou.txt ssh://127.0.0.1 -t 4 -vV
-l testuser
-P rockyou.txt
ssh://127.0.0.1
-t 4
-vV-Verbose mode
-vV
Expected output: [22][ssh] host: 127.0.0.1 login: testuser password: password123 ? Lesson: Weak passwords fall in seconds.
[22][ssh] host: 127.0.0.1 login: testuser password: password123
Goal: Crack a Windows password hash using a wordlist.
Dump a Windows NTLM hash (from a test machine or lab): Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: (This is a blank password hash for demo purposes.)
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Save the hash to a file (hash.txt): bash echo "31d6cfe0d16ae931b73c59d7e0c089c0" > hash.txt
hash.txt
bash echo "31d6cfe0d16ae931b73c59d7e0c089c0" > hash.txt
bash hashcat -m 1000 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
-m 1000
-a 0
rockyou.txt-Wordlist
Expected output: 31d6cfe0d16ae931b73c59d7e0c089c0: (blank) ? Lesson: Unsalted hashes are trivial to crack. Always use bcrypt/Argon2 for passwords.
31d6cfe0d16ae931b73c59d7e0c089c0: (blank)
Goal: Simulate a password spray against a web login.
127.0.0.1:8080
admin, user1, user2, user3
J7#kL9@mP2!qR4$
spl index=auth sourcetype=linux_secure "Failed password" | stats count by src_ip, user | where count > 5 | sort -count
Admin123!
Brute force (tries many passwords on one account)
"What prevents rainbow table attacks?"
Encryption (doesn’t stop precomputed hashes)
"Which hashing algorithm is best for passwords?"
MD5/SHA-1 (too fast, vulnerable to brute force)
"How do you stop brute force attacks?"
"A company’s VPN logs show 100 failed login attempts from a single IP in 5 minutes. What type of attack is this, and how should they respond?" --Brute force attack-Block the IP + lock the account. --Password spraying (would be one attempt per account).
You find a leaked database with unsalted SHA-1 password hashes. How do you crack them quickly?
bash hashcat -m 100 -a 0 hashes.txt /usr/share/wordlists/rockyou.txt
-m 100
medusa
rtgen
ophcrack
Burp Suite
SprayingToolkit
bcrypt
Argon2
Exam Alerts: - "Which attack bypasses lockout policies?"-Password spraying - "What prevents rainbow tables?"-Salting - "Best hashing algorithm for passwords?"-bcrypt/Argon2
Password attacks are the #1 way attackers get in. If you only remember 3 things, make them:1. Brute force = many passwords on one account-Lockout policies stop this.2. Password spraying = one password on many accounts-MFA stops this.3. Rainbow tables = precomputed hashes-Salting + bcrypt stops this.
Now go break (and then secure) something. ?
Join 4M+ learners. Unlock unlimited quizzes, wrong-answer tracking, flashcards + reminders, study guides, and 1-on-1 challenges.