Slashdot Mirror


Online MD5 Cracking Service

toast writes "Did you forget your password but have your /etc/shadow? If so, this site is for you. Submit a MD5 hash and within a few days you'll have an answer. Of course, once Slashdot has its way, you'll have to wait a few years for an answer.. At least now I'll always know what f3789b3c1be47758203f9e8a4d8c6a2a means.."

42 of 401 comments (clear)

  1. Caching by Anonymous Coward · · Score: 1, Informative

    Of course, If it builds a database of results and checks this cache before attempting the hash directly..... Quite scary, really.... Like building an automatic database of common passwords and their hashes.....

  2. Re:What it really means by BobPaul · · Score: 5, Informative

    on page 2 when results are 500, you'll find

    "f3789b3c1be47758203f9e8a4d8c6a2a" = "goatse"

    So stop submitting it! ;)

  3. Nothing new. by Moonshadow · · Score: 3, Informative

    There are already md5 cracking utilities out there that are extremely fast. It'd probably be faster to brute force the hash on your own machine, really.

    Now, distributed md5 cracking would be quite interesting.

  4. Re:Hmmmmmm by Concerned+Onlooker · · Score: 4, Informative

    Pardon me for actually checking out the site. It seems as though you don't submit an entire shadow file after all. Only the hash of the password.

    --
    http://www.rootstrikers.org/
  5. Re:Um....couldn't you just change it yourself? by gnuman99 · · Score: 2, Informative

    /boot/kernel init=/bin/bah ....[wait here] bash# passwd New UNIX password: .. Takes a minute or so...

  6. Load of Crap... by MrGrendel · · Score: 1, Informative

    is what this is. MD5 is not a reversible algorithm. There is no way, even in principle, to go from a hashed result to retrieve the input. An infinite number of letter/number combinations could be used to produce any given MD5 hash. At best, they could come up with a combination that produces the same hash as the one given to them, but that does not mean it is the right answer. And they have virtually no chance of cracking a hash made from a well-selected password.

    1. Re:Load of Crap... by dukerobillard · · Score: 4, Informative
      combination that produces the same hash as the one given to them, but that does not mean it is the right answer

      You are mistaken, sir. A combo that produces the same hash is indeed the right answer.

      This is something most people never think about. You actually could have several passwds that work for a given account...anything that hashes to the same thing is a working passwd.

  7. Umm.. by pilot1 · · Score: 4, Informative

    "At the moment we can crack md5 hashes in this character range: a-z;0-9 [8] which means we can break almost all hashes (99.56%) which are created from lowercase plaintext with letters and/or digits up to length of 8 characters." (Emphasis mine)

    If your password is under 8 characters and contains only lowercase letters and digits, you deserve to be cracked.
    If you use a proper password, then you have nothing to fear from this "service"

    1. Re:Umm.. by pilot1 · · Score: 2, Informative

      The shorter the password, the fewer the number of combinations, the less time it will take to crack.
      Anything > 8 takes long enough to crack for it to be somewhat secure.

    2. Re:Umm.. by julesh · · Score: 2, Informative

      You missed the point -- if an intruder already has his password hash, they've got control of the system, so why would they benefit from cracking his password.

      What he's neglected to consider is that his password hash might be revealed by an exploit that can only read files as root, but not make modifications, thus enabling a crack which allows someone to log in with full access. E.g., an 'htpasswd' file inside a public web directory on which some dull admin had failed to ensure couldn't be accessed by an intruder.

  8. Re:Thanks a lot! by KrisCowboy · · Score: 1, Informative

    Goatse does exist. Just that goatse.cx doesn't exist anymore. Try googling for goatse's mirrors...if not, let me know, I'll mail you those pics + tub girl + final solution - yep, I got 'em all :-)

  9. Re:Question by mooingyak · · Score: 2, Informative

    On Solaris Sytems (and probably others, but I only know for sure about Solaris) you have two files containing user/login information. /etc/passwd has most of that information, such as login name, actual name, home directory, login shell, etc. Any user can read the contents of /etc/passwd.

    The shadow file contains the login name, the hashed password, and some other stuff that I don't recall. This file is readable by root only.

    --
    William of Ockham had no beard. The most likely explanation is that it was chewed off by squirrels every morning.
  10. Re:Hmmmmmm by skynetos · · Score: 2, Informative

    the funny thing is you guys thought I was serious.. cant you tell a little joke ?? :) Nick D

  11. Re:What it really means by arvindn · · Score: 5, Informative

    This is probably obvious, but you can verify it using:

    $ echo -n goatse | md5sum

    f3789b3c1be47758203f9e8a4d8c6a2a -

    So parent is right.

  12. Re:MD5 vs SHA-1 by Anonymous Coward · · Score: 2, Informative

    There is no publically known MD5 hash collision. While it's rumored that one or more is known, it's never been confirmed. While MD5 is thought to be weaker than SHA-1, saying that MD5 has a "vulnerability" is going a bit too far.

  13. Re:How much use? by MntlChaos · · Score: 3, Informative

    that can be changed, it'll just take a lot more space for them. For those that didn't RTFA. What the rainbowcrack system is is a system that generates all the hashes for a known keyspace. Then all that is needed is a lookup in these (gigantic) tables.

  14. Stop this nonsense by Peaker · · Score: 3, Informative

    A click-through license is not a binding contract. In fact, it is absolutely nothing, legally. Yes, EULA's are worthless pieces of text as well, and shown unenforceable in court.

    1. Re:Stop this nonsense by morkeld · · Score: 2, Informative

      I'm not sure that is true in Virginia or Maryland, thanks to their adoption of the Uniform Computer Information Transactions Act (UCITA); see http://en.wikipedia.org/wiki/UCITA

  15. Brute force search by arvindn · · Score: 5, Informative

    Just so that its clear, they haven't broken MD5 in the cryptographic sense; they're merely using the fact that the 8 character password space is small enough if you are restricted to lowercase alphabets and numbers (about 3*10^12) to run the whole thing through a brute force search. The nice thing is that they precompute all the plaintext-ciphertext pairs, which means that the actual cracking step is simply a lookup. Lookup can be greatly speeded up if you're looking up lots of things at once, so the /. effect is a very good thing for them, throughput-wise :-)

    1. Re:Brute force search by Anonymous Coward · · Score: 1, Informative

      It's not a simple brute force search. If you read the technical documentation you'll see that this isn't a straight 1:1 trade of time for space, it's actually a 3-way trade with space, time and accuracy, where a tiny sacrifice of accuracy (they miss 1-in-1000 or so passwords in the target set) combined with a relatively small amount of space (in this case 40GB) gets them way more time reduction (many orders of magnitude) than casual experimentation would expect.

      The simple 1:1 approach needs about 10 000 times more space, making it impractical for people with limited resources (e.g. no RAID array or SAN).

      The same technique has been used on passwords, but that was the primitively protected "LM hash" of early Windows NT, not the modern MD5+salt found in your Unix shadow password file.

  16. Re:Question by cant_get_a_good_nick · · Score: 2, Informative

    In the old days, you just had a world readable /etc/passwd. It had to be world readable because that was where all the uid username, uid home directory, etc. lookups got their data from. this left the passwords, though encrypted, world readable. Passwords are a one-way hash algorithm, so the only way to break a password is to guess something, encrypt it, and see if it matches. In theory, very hard to break. In practice, people severly limit the possible password space to search (how many passwords do you have that have your name, even though you know you shouldn't) so it reduces the amount to passwords you have to try.

    This got changed a long time ago to where the /etc/passwd file kept most of the info, but a file, readable only by root, kept the encrypted passwords. This is /etc/shadow. It has the username, password, and nowadays some password meta-information, like aging, etc.

    His statement basically is "did you forget your password, but still have it available, encrypted." It's semi-coded for "hey, wanna crack someone's MD5 based password, if you have it, we can crack it"

    Nowadays, /etc/shadow isn't as much of a security aid, since most people need to have logins on many machines, and the encrypted passwords are generally available (NIS, LDAP) from the server anyway. I freaked once in my dotcon daze when I found we had a root equiv account with no password, because the "skilled sysadmin" we hired couldn't remember passwords. My CEO, trying to justify this guy (essentially justifying his hiring an idiot) said "well, not having a password is unexpected, just like a good password". I thought 1) I found out, easily, without guessing and 2) justifying something by saying "no one will guess this because no one will think we're this stupid" isn't good justification.

  17. Re:Debian Security? by DeeKayWon · · Score: 2, Informative
    Debian's security would only be compromised if this allowed creating a package with a desired MD5 sum. All this appears to do is tries MD5 on certain strings (built from from a limited character set) until it finds a string with an MD5 that matches the given one.

    The only thing that makes this remotely feasible is the limited character set and the length limit, which puts the total possible combinations it looks through at about 2.9 trillion. If they were to use uppercase letters as well, the total number of possibilities becomes about 222 trillion, and the search would take a lot longer.

  18. Re:Hmm by BJH · · Score: 2, Informative

    Any system which still stores the hashed passwords in /etc/passwd is almost certainly so old that (a) it has 10,000 other known attack paths and (b) doesn't use MD5 for its hashes.

  19. Stop yammering about your passwords, folks by fanatic · · Score: 4, Informative
    From the rainbbow crack FAQ site: http://www.antsight.com/zsl/rainbowcrack/faq.htm:
    1. Is it possible to crack /etc/shadow file in linux with time-memory trade-off technique? No, you can't. Linux use salt to randomize the hash, which is originally designed to defend this kind of attack. However, any hash with salt is resistant to time-memory trade-off attack, while hashes without salt aren't.
    Emphasis added.
    --
    "that's not encryption - it's a new perl script that I'm working on..." - from some Matrix parody
  20. Re:Um....couldn't you just change it yourself? by sonicattack · · Score: 5, Informative
    I've done this a couple of times when something needed to be fixed and no-one remembered the root password. Since the system is in a very basic state after starting with init=/bin/bash, it's probably a good idea to only fix the absolutely necessary stuff in order to make a real startup.

    mount -o remount,rw /
    ... fix the password file ..
    sync ; sync
    reboot -f

  21. a simple solution- use a salt by jCaT · · Score: 3, Informative

    Why not just use the method that crypt() uses, and use a salt? It's not terribly difficult to implement, and it would mean their database would need to be roughly 3,800 times as big as it is now ( assuming [a-zA-Z0-9]{2} ) Since they have 47.6 GB of lookup tables now, adding a salt would mean the resulting database would be over 180 terabytes.

    Not to mention adding in special chars and uppercase letters, which would increase the database by 600 fold, assuming it's linear...

  22. Re:Um....couldn't you just change it yourself? by kasperd · · Score: 2, Informative

    Have you tried this yourself?
    I have tried it once, and it does in fact work. (Not that I would have needed to try it, I knew it would work).

    I am curious about filesystems being mounted and such when you do this.
    There is one detail you must remember. The root filesystem is normally mounted read only if you follow the example, so you would have to remount it read/write before trying to change the password. Or you could just add rw to the boot command. Of course you have to type /bin/sh or /bin/bash, /bin/bah wouldn't work. It is a good idea to remount the filesystem read only again after changing the password. Then you can reboot or type exec /sbin/init.

    You can prevent all of this by protecting your bootloader with a password, such that you cannot change the boot command without providing a password. Of course booting from an alternate media is still an option. To prevent that you could change your BIOS configuration, and weld the case to prevent anybody from resetting your CMOS. (If you just need to protect confidential information on the HD, encryption would be a better solution).

    --

    Do you care about the security of your wireless mouse?
  23. Re:Passwords by mindmaster064 · · Score: 4, Informative

    As long as you aren't using passwords that are straight out of the dictionary (this is like 3rd grade people) you should be fine even with something like this being available. I suggest quit using passwords, and use passphrases instead. Someone MD5ing phrases will have to look for months not days.. Change your passphrase like every three months and you'll never have a thing to worry about. The only problem is that md5 has a pretty limited key space and "foo" might equal "TheLastStand" so someone may come up with an equivalent key. Regardless, md5 is designed to keep people from being able to easily come up with these passwords or alter a file it is not designed to keep people off of your computer and it is still much better than crypt. Being able to reverse an md5sum isn't going to get someone on your system that hasn't already got in. Make sure root cannot log on to your box and a user cannot su without being in wheel so if someone does crack the md5 they have no hope of getting any more rights than they already have. Configure a script to run to alert you right away if someone attempts to su but gets canned because of not being in the wheel group. Really stuff unix people should have been doing all along

    Remember: Don't Panic!

    -Mind

  24. Wait... by La+Camiseta · · Score: 2, Informative

    You have access to the shadow file, but you can't remember your password, so what do you do?

    Submit the hashes over the internet of course!!

    What the hell were these people thinking? If you have access to the shadow file, then you have root access, and you can just passwd a different password. Root doesn't have to supply the current password.

    Worst case scenario, just cut out the hash and it'll be a blank password until you reset it. And if you really need that password, odds are that the others in there would be a nice bonus too, in which case there's plenty of other tools available.

  25. How it works by slubberdegullion · · Score: 5, Informative
    Their method isn't just a brute-force attack or a "brute-memory" list of PLAINTEXT:HASH. It is faster than brute-force, and uses far less memory than "brute-memory"

    It is a time-memory tradeoff. They come up with a "reduction function" R, which maps hashes into keys. It is not a reversal of the md5 algorithm, it just generates some key based on the hash. Then they create sequences of hash, key, hash, key, hash, key... with each key being the reduction function applied to the previous hash, and each hash being the hash function applied to the previous key. They stop their sequences when they reach "distinguished values," which may e.g. have 0's for the first 12 bits. Then they store the start and endpoints of the sequence.

    So now they have a list of start and endpoints for these chains of hashes and keys. To crack a hash, they apply the same process to it - reduction function, hash, reduction function, hash, until they reach a value that is in their table of endpoints. Then they begin at the startpoint associated with that endpoint, and regenerate the sequence up to the hash they're trying to crack. Since the key directly before that hash hashes to that hash, they've successfully cracked the hash.

    The "rainbow" refers to the recent innovation of using a different reduction function for each step of the sequence, i.e. using R1 on the first hash, R2 on the second, etc. This means that, even if two sequences contain the same hash, they probably won't be exactly the same after that - a significant problem with the older method of having a single reduction function.

    If you want to read about this in more detail with math symbols and such, the pdf is linked from the site.

  26. Re:What it really means by Pharmboy · · Score: 2, Informative

    you dont get the same has from two different passwords. when you log in, your computer doesnt actually compare passwords, it compares the hash of the password you just entered to the hash of the previously stored password. This is why ROOT can't recover your password, and can only change it (unless they submit to this site, that is...)

    if you could get the same hash from two different passwords, then you would have multiple passwords for every user on most Linux/Unix computers. The 42 answer was a joke, a movie reference. I forget the exact movie, but I remember the guy asked "what is the meaning of life" and the answer was 42. Problem being he didn't know the question it was calculated from. You had to be there I guess.

    --
    Tequila: It's not just for breakfast anymore!
  27. Keepass by DarkHelmet · · Score: 2, Informative
    All my passwords are generated through KeePass. They are 21 characters in length, from A-Z|a-z|0-9. I have the options to introduce other characters into the keyspace, but I wish anyone best of luck in cracking a 132 bit address space :)

    Anyway, time to change up to SHA1 ;)

    --
    /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
  28. Re:Even worse... by Pharmboy · · Score: 1, Informative

    Yes, because knowing the password means that you automatically know the IP address too, right?

    Um, YES. You obviously have never admin'ed an apache web server. By default, it logs every IP, every request,

    Yeah, a 47GB app. That'd be a snap to download.

    Its not a 47GB app. The source is 44k, and the compiled binary is well under 1mb. If you bothered to check you would know that. That has nothing to do with the resources it uses when it is cranking.

    --
    Tequila: It's not just for breakfast anymore!
  29. Slashdot has been used by Twid · · Score: 3, Informative

    17:25 http://passcracking.com/
    17:25 <ge_> !!
    17:26 <toast> interesting
    17:26 <toast> let's DoS it
    17:26 <ge_> hehehehe
    17:26 <toast> just write a distributed tool to submit nonsense and keep the queue full
    17:26 <ge_> worse
    17:26 <ge_> let's slashdot it!
    17:27 <toast> haha
    17:27 <toast> perfect

    :)

    --
    - "When you want something with all your heart, the entire universe conspires to give it to you" -Paulo Coelho
  30. Re:What it really means by notsoclever · · Score: 3, Informative
    It was Hitchhiker's Guide to the Galaxy, which was a radio show, a book, and a TV series, but not a movie.

    Also, one hash maps to infinitely many unique items. Read up on the pigeonhole principle. The short form is that there are only 2^128 md5 hashes, so if there are more than 2^128 things which can be hashed (and there are) then more than one of those will map onto the same md5 hash. Granted, at least one of the passwords will have to be longer than 16 bytes and it'll be likely to have non-printable or high-ASCII/UTF-8/whatever garbage in it, but it's still possible.

    (And, the converse is that no matter how long your password is, there'll always be a 16-character string which is equivalent to it.)

    --
    There are 10 kinds of people: ones who understand ternary, ones who don't, and ones who think this joke is about binary
  31. Re:It gives one pause... by julesh · · Score: 2, Informative

    How long does it take to compute an MD5 Sum?

    Approximately 30 cpu cycles per byte, rounded up to a block size of 16 bytes, I think. That's assuming you can't vectorize the operations easily. That suggests that an average consumer system could generate the table for this project in approximately a week. Vectorize that correctly and you can probably halve it.

  32. Re:Um....couldn't you just change it yourself? by sonicattack · · Score: 3, Informative

    It may be that only one sync is necessary to get the data to the disk.

    But since I've heard many times that on some systems, the first sync merely schedules dirty pages for writing, while the second sync won't return until the first sync has completed (buffers actually flushed), I've always gone for the safer bet.

    Syncing three times is also a popular way of doing it. I've also noticed that the number of syncs I perform before reboot -f'ing correlates to the amount of coffee I've had. :^)

  33. Re:Um....couldn't you just change it yourself? by questor · · Score: 3, Informative
    The idiom is "sync[return]sync[return]sync[return]", so that the first sync schedules the dirty page writing, which should (at least in theory) be done by the time the (super)user is done typing the third. Using semi-colons instead of returns defeats the purpose of doing it three times, since nothing happens until the return is typed; the second and third sync's are there only for the typing delay, which doesn't happen if they're ganged up on one command line.

    Alternately, one could simply count to five or so before entering the "reboot" command/hitting the reset switch/whatever, but that's less reliable than muscle memory.

    --
    Mashed potatoes can be your friends!
  34. Re:Dictionary attack by Anonymous Coward · · Score: 1, Informative

    AKA d41d8cd98f00b204e9800998ecf8427e

  35. Re:Question by Nailer · · Score: 2, Informative

    Its where you password hashes (stored versions of passwords) live these days. /etc/passwd just stores user properties, but not the password hashes. It did once (hence the name), but since everyone on a Unix box can read the passwd file (so users can find each others home directories, for example) they could read the hashes too. With enough time and computing power, they could work out what the typed-in password were from the hashes.

    If we could rename /etc/passwd /etc/users, and /etc/shadow /etc/passhashes, that'd be nice.

  36. Re:Um, no by FLEB · · Score: 2, Informative

    IIRC, MD5 was based on the idea that even if two or more things had the same MD5 sum, there wouldn't be more than one *intelligible* or *usable* thing with the same MD5.

    That's why MD5 works well for error or tampering verification. You might be able to get a big pile of garbage to have the same MD5 as the real message, but you'd be hard-pressed to create any other legible/interpretable data, or wind up with corrupted (slightly different) data with the same hash.

    --
    Information wants to be free.
    Entertainment wants to be paid.
    You just want to be cheap.
  37. Re:Things I've always wanted to know about salting by jcochran · · Score: 5, Informative

    The "salt" is used to change how the password is hashed. If you look at the shadow password file on your computer, you'll see some lines that look like this

    root:$1$abcdefge$abcd1234efg789hijklmno:0:0:...

    You'll notice that the password field (the stuff after the 1st colon, and before the 2nd colon) is itself divided into 3 fields separated by dollar signs. The purpose of these fields are:

    1st field - Identifies hashing method. This allows for future changes to how the password in stored while allowing backward compatability with existing passwords.

    2nd field - This contains the salt used to hash the password. In order to verify a new password, this exact salt must be used in the hashing process. Since in this case, it's 8 characters long and each character can be one of 64 values, it means that each possible password my be hashed into one of 2^48 different values. This salt is generated randomly at the time that you set your password. The randomly generated salt is then stored here for use in verifying future authencation attempts.

    3rd field - This is the actual hashed password using the salt specified in the previous field. It is 22 characters long, which with base 64 encoding can store 132 bits. Since MD5 only hashes to 128 bits, there are 4 unused bits at the tail end of this value.