visit
**Ethical Hacking: The real-world passwords used in this experiment were hacked and leaked online by an individual who is not myself. These passwords are now freely available online. Carrying out virtual attacks on leaked passwords like this enables us to educate individuals on the protection provided by their passwords, and can therefore help protect them from real attacks. Before carrying out my work I stripped all personally identifying information from the leaked file.**
People use passwords to protect virtually everything online: from emails to bank accounts, to crypto exchange accounts. While many sites now offer use of two factor authentication (‘2FA’), this often isn’t publicized or enforced, and a huge number of sites still don’t offer 2FA at all. The security passwords provide is therefore critical for protecting the population’s identity and money. Naturally, the value stored behind passwords has motivated many attacks to be developed against them. There’s a huge number of research papers you can read about complex password cracking algorithms, which use intricate probability and machine learning techniques, and can crack over 90% of passwords. While it’s scary how good these algorithms are, they don’t feel like a very realistic threat against the general population — how many people really know how to carry these attacks out? Why would they target me?! I decided therefore to take a look at a far more realistic attack: an attacker that knows how to create an AWS instance (or other cloud instance), and can run some open-source software on it.If you already know about hashing of passwords please skip ‘Brief Background: Storing Passwords’. If you know about offline attacks against hashes please skip ‘Brief Background II: Attacking Hashes’.
When logging into a password-protected application, the sequence of events that appears to occur is the following:
However transmitting and storing passwords like this is incredibly insecure. For increased security, many systems (though sadly not all) actually store the ‘hash’ of users’ passwords in their database, and not the passwords themselves. You can think of the hash as an irreversible jumbling of the password; if an attacker discovers a password’s hash they cannot reverse the process to discover the password itself.
When a user enters their password in a system like this, the actual sequence of events is the following:The software I used is called Hashcat, which is an advanced password recovery tool, and is known as the “world’s fastest password cracker”. Hashcat is , has sources and binaries downloadable from their , and has an extensive to the tool. It’s safe to say you don’t have to be a specialist to use it.
The K80 came out 16 times faster than an average Intel graphics card. The K80 can calculate ~800 million SHA-256 hashes per second… that’s nearly 3 trillion per hour.
20 hours. $0.90 per hour. That’s just $18. 80% of 14 million passwords cracked.Let that sink in.
That’s scary. Really scary. People need to make their passwords more secure. Replacing ‘o’ with ‘0’ and ‘e’ with ‘3’ does not make your password secure. Adding numbers and symbols to the end of a word doesn’t either. It’s too predictable.
I’m not a security professional — I can’t give you rules that you can follow to make passwords unhackable. It was people following predictable rules that made these passwords so crackable. Be unpredictable. Or better yet, use a password manager like or to be unpredictable for you.