Cracking Passwords With Statistics
New submitter pjauregui writes: When users are asked to create a "secure" password, most sites simply demand things like "must contain 1 uppercase letter and one punctuation character." But those requirements often lead to users picking exactly 1 uppercase letter, and using it to begin their password. What was intended to increase randomness is instead creating structure that statistical analysis can exploit. This article starts by asking the reader, "Think like a hacker and ask yourself how fast your passwords might be able to be cracked based on their structure." The author then describes his method for cracking passwords at scale, efficiently, stating that many attackers approach this concept headfirst: They try any arbitrary password attack they feel like trying with little reasoning. His post is a discussion that demonstrates effective methodologies for password cracking and how statistical analysis of passwords can be used in conjunction with tools to create a time boxed approach to efficient and successful cracking.
They have this draconian douchebag policy that you can't ever reuse one for like 20 tries, you have to have a capital, number and punctuation.... so I just keep adding numbers to the end of it. Fark them if we get hacked.
Give me a reasonable password requirement with a reasonable expiry (NOT 30 days) and we'll talk.
quote
"Think like a hacker and ask yourself how fast your passwords might be able to be cracked based on their structure."
unquote
yeah, right, my mom is gonna stop and thing about how a cracker looks at structure....
Thus being a stastistical outlier, I can not be hacked.
For anything that matters, I have KeyPass generate the most convoluted password allowable for the given authentication system. For anything else, well, that doesn't matter now, does it?
Haven't read the summary yet, but here I go...
Diceware
The point of password complexity requirements has nothing to do with security. It's about the check box some auditor or lawyer needs to check. People assume it leads to security, but only because they see it in a vacuum.
Complexity introduces incremental passwords, common passwords, safes, post its, support costs, complacency, single point of failures, easier social engineering, and easy passwords. All of which work against security. They don't have check boxes for these because they are hard to understand and measure.
So is complexity checked? Yes, OK move along sir. I SAID MOVE ALONG. GOOD DAY!
I have a low-security password that I use all over the Internet, like Slashdot. I have a medium security password I use for Linux logins, and a high security password I use for bank accounts. Notice the security reference standard: money.
I hate it when my low-security password is rejected by some ego-driven web site that thinks I should memorize a special password just for them. FYI my low-security password has 7 lower-case letters and one special character in the middle. No digits! If you won't take that, your web site just isn't worh it, and I will not have an account there. Your loss, not mine.
Oh, and my PGP secret key has a 30-40 character passphrase, the first line of a song I made up and used to sing to my daughter, who died in 1994. The passphrase includes capitalization and punctuation, but it's easy for me to rememember. You turkeys who want high-security passwords, why don't you hash a pass phrase?
Grab one of the available databases of hacked passwords. Train an arithmetic compressor on that dataset, so that if any part of the password is predictable it will be compressed better. It's the kinds of statistics you feed into this training process that are the key. Passing a random bit-sequence through your decompressor will generate something that could be a password, similar to those in the database you trained on. So enumerate through all short bit-patterns to generate a set of easily guessed passwords.
09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
Every fucking requirement on a password reduces the attack vector timeframes by orders of magnitude.
Password must be more than 8 characters, with one upper, lower, number, and special character.
You've eliminated every password from between 0-8 characters with any single catagory, two catagories, or three catagories combined. I'm not a statistics person, but thats a fucking lot of passwords that you've cut down attack dictionaries by. And in the name of security?
The best security, if you let users set their own passwords, is to ENCOURAGE them to use complex passwords, but not REQUIRE them. You'll gain seconds, maybe minutes of attack time if somone needs to include "aaa12345" et all in their brute forcing.
List of No Bullsh*t Pastebins Usable Via Tor - v.0.4.2, 04/15/15
* Pastebins which are usable via Tor and do not require javascript to use
# v.0.4.2 posted @: http://pastebin.com/UgeYW4fy
http://slexy.org/view/s207aCCw...
It's not too surprising to find commonality among the set of cracked passwords. It may well be that the set of all used passwords and the set of cracked passwords share common mask distributions but I suspect that the fact that 50% of all passwords fall within the first 13 common masks is exactly why they were cracked. The passwords sucked.
In the face of bcrypt it is useful to figure out how to more quickly crack the existing set of crackable passwords but it's not clear to me that this effectively broadens the set of crackable passwords.
Attackers know to check for 'e' characters swapped with '3' characters. It's in their tables. It won't do shit. Words like asdfghjkl are in their tables. Duh.
...well, okay, that last one is probably less secure. The original French rhyme isn't much better.
Do we need an article about how "hackers have realized people swap 'e' and 3!"? Yes, people are simply capping the first letter and it accomplishes little (the "complexity" requirement thus accomplished shit), duh and DUH.
Still waiting for an article (actually, the posts so far also seem devoid) about pass-acronyms. "mhallifwwas" will pwn any brute force, any attack table (well, not any more) and it's a fscking nursery rhyme.
No weird complexity. No increasingly obnoxious user burden. It's actually easier to memorize than many passwords. And if not, you gain greater-yet-lower-hanging pendefense compared to DICKING AROUND WITH SYMBOLS AND NUMBERS AND CAPS.
tibswutws
ratrpfop
aysaysbjbj
Look here and it explains exactly why the password policy in a whole big fat whopping gob of companies has been really dumb for a long time. Let me string 3 or 4 long words together. Let me keep it for a year. Let me have the last sentence of page 286 of my favourite book, or the last stanza of my favourite song. And they won't be able to crack it. Give me the last paragraph or chorus (if you dare) and they won't break it till the end of time. No numbers, no punctuation, and no problem either.
Using fail2ban, after 3 failed ssh logins it cuts access to the hacker IP for 20 minutes (iptables firewall)
Slashdot, fix the reply notifications... You won't get away with it...
Been there, done the math, and I can confirm that the guy is 100% spot on. According to the slides of my last keynote on the subject, it basically goes like this:
We think the complexity of a password made in accordance to a typical password policy (at least 8 letters, at least 2 of them special characters or numbers, mixed upper and lower case) is on the order of 10^16.
What users actually read is more along the lines of "take a word, maybe abbreviate it, add one number and one of the easy-to-type special characters", giving us a complexity in the order of 10^7.
That's not a small difference. That's 9 orders of magnitude. That's like thinking the population of the USA is around 3000 people. That's how far off we are when we think about complexity of passwords in purely cryptoanalysis terms, without taking user preferences into account.
What this guy did is really great, I wish I had time to do such a proof-of-concept instead of just speaking about it every time I get an opportunity.
Assorted stuff I do sometimes: Lemuria.org
When the "bad guys" manage to download the password database from a Windows domain controller in your company (and that can happen) then they will be able to crack some of your previous 12 passwords that it stores in the history. Then you will be an easy target because they can predict your password from the history because you did not bother to comply with the company password policy. You were negligent.
I've only skimmed the article, but I didn't see any mention of hash salting. Is the author assuming that the password hashes haven't been salted, or the salt has been recovered along with the raw password database, or am I misunderstanding completely and salting doesn't play a part here? Salting of password hashes has to be standard practice now, surely.
MickeyMinniePlutoDonaldGoofySneezyDocGrumpySacramento .... 8 characters and one capital.
It's not a secure password unless it is randomly generated. There are tricks you can use to make it more memorable, like using diceware instead of characters and numbers, but fundamentally if you came up with it, someone else can guess how you came up with it.
...how many systems let you try new passwords ad-infinitum, rapidly? I know back when I was in college I could brute force Windows shared folders (script kiddie style), but nowadays I'd expect any semi-serious authentication system to limit the number and frequency of login attempts.
I am not an IT professional engaging in rhetoric; I'm actually curious.
Alcohol, Tobacco and Firearms should be the name of a store, not a government agency.
I've been told by a pentester that length matters more than anything. He said a password that is at least 14 characters or longer that doesn't contain any words or numbers that have personal meaning are the strongest to use. He also recommended using random dictionary words to make it easier to remember while keeping it strong.
I use chess openings for password.
Something like: e4e5Nc3Nf6Bb5d6Bxc6#bxc6