Hacker News new | comments | show | ask | jobs | submit login
Hashcat – advanced password recovery (hashcat.net)
160 points by gphilip 4 months ago | hide | past | web | favorite | 27 comments

I made this a while back to ease the barrier to entry to Hashcat: https://github.com/brannondorsey/naive-hashcat

Not that it's that big of a barrier, but it can be somewhat daunting to new password crackers.

Or, if you want to get experimental with it, I've been working on a distributed browser password cracker here: https://github.com/brannondorsey/distributed-password-cracki.... It can be embedded in websites to borrow your visitor's CPU cycles to crack md5 hashes.Note that it is very slow in comparison to Hashcat, but its a proof-of-concept for something that I am hoping to soon add WebAssembly + WebGL GPGPU cracking to.

Used Hashcat in the Student Cluster Competition[1] of SC16 conference. There was a task where students were asked to recovery as many passwords as possible from a vault consisting of md5crypt and bcrypt hashes[2]. The performance was amazing - 8400k md5crypt per second with 2 NVIDIA K80.

I also profiled the code trying to discover possible optimizations, and found that the code has been heavily optimized. Computation and data transfer are well overlapped, so GPU utilization is pretty high. It's a really great tool.

[1] http://studentclustercompetition.us/2016/applications.html

[2] https://docs.google.com/document/d/1tXBy9-ajFtO_b8hvbuleqRbc...

I can recommend Hashcat, used it myself for cracking bitcoin wallet using multiple GPUs. Great tool if you forget your password and it works with so many applications/file formats.

I thought cracking a bitcoin wallet was technically beyond the limitations of today's computing power??

If you have enough of the bitcoin wallet, cracking the rest is possible with todays resources.

If he was able to crack any random bitcoin wallet, I don't think he'd be sharing it on this website.

You need the entire encrypted wallet so you can extract the password hash from it even then you need to know your password to the point of only 3-4 variable chars to be able to effectively crack it or use a pretty simple password that is either moderately short Witt a small key space or is in a dictionary.

Ahhh ok! haha yeah I was going to say :)

Cracking the private key of a bitcoin address is beyond todays computing power.

I think the scenario here is that he had an encrypted wallet file that he didn't have the password for. In that case, cracking it is only as hard as the password (in other words, relatively easy if he remembers the enough about his password).

its likely his own wallet and he had a good idea of what the password was likely to be, rather than just brute forcing a random unknown wallet.

And I imagine if he mined bitcoin that he had enough GPU power to speed up hashcat cracking process :)

I had encrypted wallet.dat file.

When I was in undergraduate engineering (~3 years ago), hashcat was actually a key part of some great computer security assignments. I'm happy to see it's updated, although it was pretty solid when I had to use it!

Will this work on a something like a 100 character plaintext password that was written down with 3 transcription errors? Can it try all permutations of the 100 char password changing up to 3 characters at a time?

almost. You can write a script (language of choice) swapping out three letters at a time to create a custom dictionary...hashcat doesn't do it, the dictionary you feed it does.

Last time I tried Hashcat, it didn't support my 18 character password.

It does now - that's one of the main features in 4.0. They rewrote the CL hash engine to work modularly, which gives up some hand-optimized speed in exchange for simpler code and longer password support. 3.x supports 16 chars, with some hashes supporting up to 32 chars. 4.x supports 256 chars across the board.

Full details at https://hashcat.net/forum/thread-6965.html

This reminds me to move to passwordstore with a gpg key on an Yubikey.

I hope you remember that GPG keys created on a Yubikey are unsafe, due to an overly simply RSAlib implementation there for their Infinion chips.

Keys created on _some_ Yubikeys (it's easy enough to check).

I've had a really hard time finding information on this. What exactly is potentially broken and how do I check my key?

Oh dang. You're quick. Thanks!

I had an affected YubiKey -- Yubico shipped out a replacement immediately. It's inconvenient if you have an old YubiKey, but the replacement process is simple.

Additionally, you can always generate GPG keys on your machine, transfer them to the YubiKey, and then delete the keys from the local machine. It depends if that's an acceptable exposure for your threat model, but for me, having the keys locally for a couple minutes is fine.

I generated on livecd, and exported it to multiple yubikeys + backup.

That way I don't have deal with different subkeys and other complications that just makes everything hard to understand :)

I love the thermal watchdog feature!

Applications are open for YC Summer 2018

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact