TL;DR: different passwords have different protection requirements, and different attackers using various attacks can only be prevented through different prevention methods. Password security is not simple. For real advise, checking the second post (in progress).
Are you sick of password advices like "change your password regularly" or "if your password is password change it to pa$$w0rd"? This post is for you!
The news sites are full of password advises nowadays due to recent breaches. When I read/watch these advise (especially on CNN), I am usually pissed off for a lot of reasons. Some advises are terrible (a good collection is here), some are good but without solutions, and others are better, but they don't explain the reasons. Following is my analysis of the problem. It works for me. It might not work for you. Comments are welcome!
Password history
Passwords have been used since ancient times.Because it is simple. When I started using the Internet, I believe I had three passwords. Windows login, webmail, and IRC. Now I have ~250 accounts/passwords to different things, like to my smartphone, to my cable company (this password can be used to change the channels on the TV), to my online secure cloud storage, to full disk encryption to start my computer,
Now, after this lengthy prologue, we will deep dive into the analysis of the problem, by checking what we want to protect, against whom (who is the attacker), and only after that, we can analyze the solutions. Travel with me, I promise it will be fun! ;)
What to protect?
Internet banking, online money
Credit card data
And sometimes, you are your own worst enemy. Don't do stupid things like this:
Work related passwords (e.g. Windows domain)
Email, social sites (Gmail/Facebook/Twitter), cloud storage, online shopping
They can use your account in Facebook votes. Your e-mail, cloud storage is again very important. 20 years ago you also had letters you didn't want to print and put in front of the nearest store, neither want you to do that with your private photo album. On a side note, it is best to use a cloud storage where even the cloud provider admin can't access your data. But in this case, with no password recovery option, better think about "alternative" password recovery mechanisms.
Other important stuff with personal data (e.g. your name, home address)
Not important stuff
This is the category other. I usually use one-time disposable e-mail to these services. Used for the registration, get what I want, drop the email account. Because I don't want to spread my e-mail address all over the internet, whenever one of these sites get hacked. But still, I prefer to use different, random passwords on these sites, although this is the "low level password" class.Attackers and attack methods
After categorizing the different passwords to be protected, let's look at the different attackers and attack methods. They can/will/or actively doing it now:Attacking the clear text password
This is the most effective way of getting the password. Bad news is that if there is no other factor of protection, the victim is definitely not on the winning side. The different attack methods are:- phishing sites/applications,
- social engineering,
- malware running on the computer (or in the browser),
- shoulder surfing (check out for smartphones, hidden cameras),
- sniffing clear-text passwords when the website is not protected with SSL,
- SSL MiTM,
- rogue website administrator/hacker logging clear text passwords,
- password reuse - if the attacker can get your password in any way, and you reuse it somewhere else, that is a problem,
- you told your password to someone and he/she will misuse it later,
- hardware keyloggers,
- etc.
The key thing here is that no matter how long your passwords are, no matter how complex it is, no matter how often do you change it (except when you do this every minute ... ), if it is stolen, you are screwed. 2FA might save you, or might not.
Attacking the encrypted password
This is the usual "hack the webserver (via SQL injection), dump the passwords (with SQLMap), post hashes on pastebin, everybody starts the GPU farm to crack the hashes" scenario. This is basically the only scenario where the password policies makes sense. In this case the different level of passwords need different protection levels. In some cases, this attack turns out to be the same as the previous attack, when the passwords are not hashed, or are just encoded.The current hash cracking speeds for hashes without any iterations (this is unfortunately very common) renders passwords like Q@tCB3nx (8 character, upper-lowercase, digit, special characters) useless, as those can be cracked in hours. Don't believe me? Let's do the math.
Let's say your password is truly random, and randomly choosen from the 26 upper, 26 lower, 10 digit, 33 special characters. (Once I tried special passwords with high ANSI characters inside. It is a terrible idea. Believe me.). There are 6 634 204 312 890 620 different, 8 character passwords from these characters. Assuming a 2 years-old password cracking rig, and MD5 hash cracking with 180 G/s speed, it takes a worst case 10 hours (average 5) to crack the password,
A lot of common hashing algorithms don't use protections against offline brute-force attacks. This includes LM (old Windows hashes), NTLM (modern Windows hashes), MD-5, SHA1-2-512. These hashing algorithms were not developed for password hashing. They don't have salting, iterations, etc. out of the box. In the case of LM, the problem is even worse, as it converts the lowercase characters to uppercase ones, thus radically decreasing the key space. Out of the box, these hashes are made for fast calculation, thus support fast brute-force.
Another attack is when the protected thing is not an online service, but rather an encrypted file or crypto-currency wallet.
Attacking the authentication system online
Attacking single sign on
Attacking 2FA
- one time tokens (SecurID, Yubikey) can be relayed in a man-in-the-middle attack,
- smartcard authentication can be relayed with the help of a malware to the attacker machine - or simply circumvented in the browser malware,
- text based (SMS) messages can be stolen by malware on the smartphone or rerouted via SS7,
- bio-metric protection is constantly bypassed,
- SSH keys are constantly stolen,
- but U2F keys are pretty good actually, even though BGP/DNS hijack or similar MiTM can still circumvent that protection,
- etc.
Others
Beware that there are tons of other attack methods to access your online account (like XSS/CSRF), but all of these have to be handled on the webserver side. The best you can do is to choose a website where the Bug Bounty program is running 24/7. Otherwise, the website may be full of low hanging, easy-to-hack bugs.Now that we have covered what we want to protect against what, in the next blog post, you will see how to do that. Stay tuned. I will also explain the title of this blog post.
More information
- Hack Tools Download
- Pentest Tools Download
- Hacker Tools Apk
- Hack App
- Hacking Tools Software
- Pentest Tools Find Subdomains
- Hacking Tools For Windows 7
- Tools Used For Hacking
- Hacker Tools Free Download
- Pentest Recon Tools
- Hacking Tools Free Download
- Pentest Tools Bluekeep
- Pentest Tools For Ubuntu
- Hacker Tool Kit
- Hacks And Tools
- Hacking Tools Hardware
- Hack Website Online Tool
- Pentest Recon Tools
- Usb Pentest Tools
- Best Hacking Tools 2019
- Hacking Tools For Games
- Hacking Tools Windows 10
- Physical Pentest Tools
- Hack Tools Download
- Hacker Tools Hardware
- Pentest Tools Website
- Hacking Tools And Software
- Tools For Hacker
- Hacking Tools 2020
- Pentest Automation Tools
- Pentest Tools Alternative
- Hacker Search Tools
- Hacking Tools Online
- Kik Hack Tools
- Hacking Tools Windows
- Pentest Tools For Ubuntu
- Hack Apps
- Hack Tools For Ubuntu
- Nsa Hacker Tools
- Hack Tools For Ubuntu
- Hacking Tools Github
- Hacking Tools For Windows Free Download
- Hack Tools For Ubuntu
- Top Pentest Tools
- Best Pentesting Tools 2018
- Hacking Tools Windows
- Wifi Hacker Tools For Windows
- Hacker Tools
- Hack Tools
- Hacking Tools Hardware
- Pentest Tools For Mac
- Computer Hacker
- Pentest Tools Linux
- Tools For Hacker
- Hacking Tools Mac
- Hacker Tools Free
- Best Hacking Tools 2019
- Hack Tools 2019
- Hacking Tools Pc
- Hacking Tools Software
- Hackers Toolbox
- Pentest Tools Website Vulnerability
- Hacking Tools Github
- Beginner Hacker Tools
- Blackhat Hacker Tools
- New Hacker Tools
- Nsa Hacker Tools
- Hacker Tools Free
- Pentest Tools Android
- Wifi Hacker Tools For Windows
- Hacker Tools 2019
- Usb Pentest Tools
- Pentest Tools For Mac
- Hacker Tools Hardware
- Pentest Tools Open Source
- Hacker Tools Free
- Hack Tools
- Hacking Tools 2019
- Hacking Tools Windows 10
- Github Hacking Tools
- Hacking Tools Windows 10
- Best Hacking Tools 2020
- Hacker Tools Free Download
- Install Pentest Tools Ubuntu
- Hacking Tools Free Download
- Pentest Tools Subdomain
- Hacking Tools And Software
- Game Hacking
- Bluetooth Hacking Tools Kali
- Best Hacking Tools 2020
- Pentest Tools Framework
- Hack Tools Mac
- Hack Tools For Ubuntu
- Hack Tools Mac
- Hacker Tools Apk Download
- Pentest Recon Tools
- Hack And Tools
- Pentest Tools Linux
- Hacker Tools For Ios
- Tools Used For Hacking
- Hacker Techniques Tools And Incident Handling
- Hacker Tools For Ios
- Hacking Tools Software
- Wifi Hacker Tools For Windows
- Hacker Search Tools
- Hacking Tools And Software
- Pentest Tools Framework
- Pentest Tools Online
- Pentest Automation Tools
- Hacking Tools For Mac
- Hacker Tools Software
- Tools For Hacker
- Game Hacking
- Pentest Automation Tools
- Ethical Hacker Tools
- Hacker Tools Free
- Hacker Tools Github
- Blackhat Hacker Tools
- Hacking Tools For Mac
- Underground Hacker Sites
- Pentest Tools
- Pentest Tools Online
- Kik Hack Tools
- Pentest Tools Bluekeep
- Pentest Tools Port Scanner
- Pentest Tools Android
- Hacker Tools Linux
- Hack Tools 2019
- New Hacker Tools
- Pentest Box Tools Download
- Hacking Tools Github
- Best Pentesting Tools 2018
- Hacker Tools Mac
- Pentest Tools Github
- Hacking Tools For Beginners
- Hacker Search Tools
- Pentest Tools Kali Linux
- Hack Tools 2019
- New Hack Tools
- Hacker Tools For Windows
- Hackrf Tools
- Hacker Tools Github
- How To Hack
- New Hack Tools
- Hacker Security Tools
- Hacker Tools For Windows
- Pentest Tools Kali Linux
- Pentest Tools For Android
- Hack Tools For Pc
- Hacking Tools 2020
- Pentest Automation Tools
- Hack Tools Download
- Hack Website Online Tool
- Hack Tools Download
- Hacker Hardware Tools
- Termux Hacking Tools 2019
- Easy Hack Tools
- Hacker Tools 2020
- Hacker Tools Free
- Blackhat Hacker Tools
- Hacker Tools Online
- Hacker Tools Windows
- Hacker Tools Online
- Pentest Tools Port Scanner
- Hack Tools For Windows
- Hacker Tools Free Download
- What Is Hacking Tools
- Hacker Tools For Mac
- Hacker Tools Free Download
- Hacking Tools For Games
- Pentest Tools For Android
- Blackhat Hacker Tools
- Hacking Tools 2020
- Hack Tools Pc
- Hacker Tools For Mac
- Wifi Hacker Tools For Windows
- Hacker Tools For Windows
- Bluetooth Hacking Tools Kali