Password Hashing and Offline Cracking
In June 2012, LinkedIn disclosed that 6.5 million password hashes had been stolen from its database. By 2016, the full scope became clear: 117 million records. Within hours of the breach, crackers had recovered the majority of passwords — because LinkedIn had used unsalted SHA-1, a fast general-purpose hash designed for file verification, not password protection. One analysis found that 90% of the hashed passwords were recovered in under two days.
This is what offline cracking means. The moment an attacker obtains a copy of a hash database, they take it offline — away from rate limiting, account lockout, and intrusion detection. They crack at the speed of their hardware, unobserved, for as long as they choose.
The Numbers Tell the Story
The speed difference between hash algorithms is the entire story of password storage security:
- MD5: approximately 14,000,000,000 (14 billion) hash attempts per second on a single consumer GPU. The entire rockyou wordlist — 14 million real-world passwords — takes roughly one millisecond to test.
- bcrypt (cost 10): approximately 4,500 hash attempts per second on the same GPU. The same 14-million-entry wordlist takes approximately 50 minutes to test. Scale bcrypt to cost 12 and that becomes over three hours.
Those numbers assume a single GPU. Nation-state actors and organized crime operate GPU clusters. But the cost-factor gap is so large that even a cluster of 1,000 GPUs attacking bcrypt is slower than a single GPU attacking MD5.
What You Will Do in This Lab
This lab contains a simulated hashcat environment with a database of five password hashes: three stored as MD5 and two stored as bcrypt.
You will:
- Open the simulated terminal on the right side of the panel.
- Run
hashcat -m 0 hashes.txt rockyou.txtto crack the MD5 hashes. Watch the hash table on the left update as each password is recovered — nearly instantly. - Run
hashcat -m 3200 hashes.txt rockyou.txtto crack the bcrypt hashes. Observe the slower cracking speed — the simulation compresses real time, but the relative difference is accurate. - Submit the plaintext password recovered for hash #1.
By the end of this lab you will understand why algorithm selection is the single most important factor in password storage security, and why OWASP A07:2021 explicitly prohibits MD5 and SHA-1 for this purpose.