1. 187
    1. 17

      Cool! This was an awesome little tidbit of history :)

    2. 9

      ++, Ken!

    3. 8

      I’m confused. This post says that crypt is limited to 8 character passwords, but the recovered password is 22 chars long. Wouldn’t it have been recovered much sooner?

      1. 18

        I was confused by this too. I think the part before the colon is the hash, and the part after is the decrypted password.

        1. 11

          It is clear if you follow the link to the passwd(5) file in the post - yes, the part before the colon is the hash :^)

          1. 8

            Interesting to see that file, where e.g. a user’s username is ken and the name field shows & Thompson. Apparently that’s a substitution marker: https://man.openbsd.org/passwd.5

            The full name may contain an ampersand (‘&’), which will be replaced by the capitalized login name when the gecos field is displayed or used by various programs such as finger(1), sendmail(8), etc.

            I had no idea.

            1. 8

              Yup - on OpenBSD, you get emails from Charlie Root! ;^)


              root::0:0:daemon:0:0:Charlie &:/root:/bin/ksh
              daemon:*:1:1::0:0:The devil himself:/root:/sbin/nologin
              operator:*:2:5::0:0:System &:/operator:/sbin/nologin

              I also use it for accounts on my machines.

              I wish Linux used the same format :^(

        2. 4

          Oh! That clears up my second question too, which is “why would it take so many characters to describe a single chess move”. :-P

    4. 7

      the hash-rate fluctuates and slows down towards the end

      Why is that?

      1. 6

        Because of how hashcat works. Something like: towards the end, it can’t create enough work to fill the GPU.

        1. 4

          They specifically point out why in this FAQ entry. If memory serves JtR jumbo does a similar thing.

    5. 4

      Ken, if you’re a lobste.rs user, we’d love to hear you weigh in. :)

      1. 3

        Hm. If I was Ken, I’d be grumpy at least, having to think of another password at the age of 76 ;) - and I cound not even pick another chess move, because these will be added to wordlists in no time.

        1. 16

          Well, the he doesn’t need to worry. He can get in without a password at all.

          1. 2

            This article was amazing

    6. 3

      I’ll be honest, I never in 100 years thought that my thread on TUHS would have such a wide ranging interest. The fact that it has hit ars technica and the reg is pretty damn staggering.

      1. 1

        You’re the one behind this? Mad props

        1. 2

          no, I just started the original thread :)

          1. 2

            You shoulda left me sooo impressed, don’t let the truth get in the way of a good story ;)

    7. 2

      Great story. For those not subscribed, the TUHS mailing list is full of gems like this.

      1. 1


    8. 2

      Wait, does 2^7^8 actually take four years on modern GPUs? Makes sense, but still longer than I expected.

      1. 3

        Brute force is slow. That said - 400 GPUs could do it in 3.65 days, and you could rent that easily enough.

        1. 1

          Even if you get them for $1/h that would not come very cheap.

          1. 1

            Yeah, not at all. Unsalted hashes, though, so at least it’d produce a rainbow table holding every password you’d tried (to be applied very cheaply to other passwd files).

            1. 1

              I’ve been seeing headlines here and on the orange in the past couple years about spending $75.00 USD with AWS to, I can’t recall, crack anything or whatever. Wish I could look it up but no search-fu this morning. Do you know what I’m referring to, and if so, why or under what conditions it’s possible to do that (compared to spending four years like kqr exclaims above)? I get that increasing character set size is a building-up of the underlying mountain of math. Is that curve (of increase of time per additional character to get your three-letter thingies) exponential or logarithmic or what?

              Reason I’m asking is because “plenty of passwords” are “pretty long.” (Scare quotes to indicate my stupidity.) Does having an 8+ char password “pretty much preclude” bruteforce attacks? Or is it possible that some combos are “at the front of the rainbow table” and get cracked anyway? (I know the table is built as you go along, but I mean like, at the beginning of “the combinatoric pattern” or whatever that produces the table, the same randomly selected randomness “by chance” occurring in both the password generator and the password cracker or whatever…)

              I once had the opportunity to use john on a real-life computer system actually in use today that was, as john ironically notes in beginner documentation somewhere, “so ancient that anybody could go and view /etc/passwd” because no shadow file. I was “pretty surprised” how long some of the passwords took, and some were never cracked. I wasn’t using GPU acceleration, by which I mean a $1,000 AMD/NVIDIA thing. But it still had a baked-in GPU, obvo. To no avail (after a couple days or more, can’t remember). My question here is: does crypt(3) have vulnerableness compared to whatever the OpenBSD hipsters use nowadays due to its using some older curve, or lower SHA, or whatever, or something else? If it does, how come it’s just the character set blowing up that concomitantly explodes the time it takes for eg hashcat to win?

              In the dark ages of the pre-WWW ‘90s and earlier (I wasn’t alive), I’m guessing it took a certain amount of computation to generate passwords, which I’m guessing now is exponentially exceeded like everything in computing by the amount of computation it takes to do the same task, on a new curve, with a new CPU, or whatever. So why does it (still) take so long to crack some “sufficiently large-charsetted” crypt(3) thing…? When you say “bruteforce takes forever,” I’m like, lacking some context. If you can’t tell. :)

              1. 2

                EC2 offers GPUs for 5c per gb of ram per hour. $75 would get you 1500 hours of GPU time.

              2. 1

                Brute force still takes a long time on obsolete algorithms, long enough to be infeasible for many cases. However modern algorithms strive for universally impossible, not merely infeasible.

                Is that curve (of increase of time per additional character to get your three-letter thingies) exponential or logarithmic or what?


                Does having an 8+ char password “pretty much preclude” bruteforce attacks? Or is it possible that some combos are “at the front of the rainbow table” and get cracked anyway?

                Common passwords and patterns definitely get checked first. For example, “password” is 8+ chars, but hardly secure no matter how strong an algorithm you use.

                whatever the OpenBSD hipsters use nowadays

                As far as I know, OpenBSD still uses bcrypt, an well known and widely used algorithm from 1999.

                1. 1


                  1. 1

                    bcrypt is still quite good - features include:

                    • always salts passwords, so rainbow tables don’t work
                    • takes a ‘work factor’ parameter - increment this number to double the processing required. I’m 95% sure you can increase this without having access to the original password.
          2. 1

            Depends on what’s on the other side of the password, doesn’t it? For some passwords it could be a bargain!