Google serves up surprise password cracking function
Rainbow warrior sinks MD5
A Cambridge University researcher successfully used Google to unearth a password used by an attacker to compromise its security blog.
The attacker created an account in Wordpress when he attacked the Light the Blue Touch Paper blog, the online journal of the Computer Laboratory at Cambridge University. Wordpress stores passwords as MD5 hashes without salting, a process that adds length and complexity to password hashes.
Curious to know what this password might be, Cambridge researcher Steven Murdoch tried a dictionary attack in both English and Russian (the likely native language of the attacker).
Rather than building a rainbow table that maps passwords to hashes for a more exhaustive range of possible inputs, Murdoch plugged the MD5 into Google which revealed multiple sites featuring the word "Anthony", the attacker's password. The approach hit on a result because the hash was in the URL.
"This makes a lot of sense - I've even written code which does the same. When I needed to store a file, indexed by a key, a simple option is to make the filename the key's MD5 hash. This avoids the need to escape any potentially dangerous user input and is very resistant to accidental collisions," Murdoch notes.
The new variant on Google hacking illustrates a couple of important points: that Google is indexing password hashes, albeit inadvertently, as well as everything else; and that MD5 hashes without salting are next to useless.
Using hard to guess passwords is simple common sense that somehow often gets overlooked. As one poster notes, searching for hashes of common default passwords such as "admin" throws up database dumps and the likes. ®
In my web applications, I use a 'custom' hashing method which combines a user salt, a server salt, hashing the password forwards, backwards, you name it, combining these all together and hashing again.
To be even more protected against accidental collisions, you can implement 2 different hashing algorithms (different server salts, using SHA instead of MD5, or both, etc), store both results and check against both of them.
Paranoid? Maybe... but I find it ridiculous that people are just using a simple md5 hash of the password and thinking that is secure!
Google Hacking - Recommended Reading
Wow! What a surprise
Sounds just like the invention of the infinite probability drive (Douglas Adams).