May 31st, 2003
|07:18 pm - Idle hands ARE the Devil's Plaything.|
So I wrote a perl program to crack the password file at a certain school I won't name. They use a really moronic scheme for password generation. Basically, your username is first letter of first name, then the first x letters of your last name followed by some number. (not sure how they end up deriving the last part).
Anyway, the password scheme is: [first letter of first name][first letter of last name] then the last 4 digits of your SSN. Since you know the first and last name's letters, all you have to do is dictionary-attack 10,000 times and you're done.
20 lines of perl and a half hour later (I'm a sucky coder) 84% of the [non-disabled] passwords cracked. A simple Crack 5.0 dictionary run gave me another 11 %. Yup, 95% of the passwords total, including somebody in Wheel, and 2 professors. That doesn't even count the weakness in my program: I couldn't figure out how to munge my counter to display 0000-9999 so it starts at 1000. There's probably another few % that I could have cracked. I didn't even use a fast unix box to do the work, it was a doorstop SS5/170 (obsd 3.1) that did it all in 10 seconds.
No, I didn't abuse it! I'd mail the admins at the College, but I have heard too many horror stories of people doing the Right Thing and then being snooped on, mail read, various invasions of privacy, or worse, getting tossed out. So, I'll just keep my work offsite and wait for some bozo to destroy them and they learn the hard way.
|Date:||May 31st, 2003 06:10 pm (UTC)|| |
Yeah, I can print it out fairly easily.
But how to you format the contents of the variable?
I've been doing this:
$guess = "$initials$count";
The only way I can figure to mangle count properly (0000 .. 9999)
without having 0000 be evaluated as 0 is to treat the count variable like a string and write a mini adding machine.
which is singificantly more work than $count++;
Got a graceful way around my problem?
|Date:||May 31st, 2003 06:40 pm (UTC)|| |
Yeah, that DOES work. Woot!
26 seconds later... (switched to a whopping 500mhz peecee/obsd)
Still 84% Amazingly enough, very few extras.