Hashcat is the self-proclaimed world's fastest password recovery tool. It had a proprietary code base until 2015, but is now released as free software. Versions are available for Linux, OS X, and Windows and can come in CPU-based or GPU-based variants. Examples of hashcat-supported hashing algorithms are Microsoft LM hashes, MD4, MD5, SHA-family, Unix Crypt formats, MySQL, and Cisco PIX.
|Developer(s)||Jens 'atom' Steube|
5.0.0 / 28 October 2018
Hashcat has made its way into the news many times for the optimizations and flaws discovered by its creator, which were exploited in subsequent hashcat releases. (For example, the flaw in 1Password's password manager hashing scheme.)
Hashcat used to come in two main variants:
- hashcat - A CPU-based password recovery tool
- oclHashcat/cudaHashcat - A GPU-accelerated tool (OpenCL or CUDA)
Many of the algorithms supported by hashcat-legacy can be cracked in a shorter time by using the well-documented GPU acceleration leveraged in oclHashcat, cudaHashcat and hashcat v3.00 (such as MD5, SHA1, and others). However, not all algorithms can be accelerated by leveraging GPUs. Bcrypt is a good example of this. Due to factors such as data-dependent branching, serialization, and memory (to name just a few), oclHashcat/cudaHashcat weren't catchall replacements for hashcat-legacy.
hashcat-legacy is available for Linux, OSX and Windows. oclHashcat/cudaHashcat is only available for Linux and Windows due to improper implementations in OpenCL on OSX. hashcat is available for OSX, Windows, and Linux with GPU, CPU and generic OpenCL support which allows for FPGA's and other accelerator cards.
$ hashcat -d 1 -a 0 -m 400 -O -w 4 example400.hash example.dict hashcat (v5.0.0) starting... OpenCL Platform #1: NVIDIA Corporation ====================================== * Device #1: GeForce GTX 970, 1009/4036 MB allocatable, 13MCU Hashes: 1 digests; 1 unique digests, 1 unique salts Bitmaps: 16 bits, 65,536 entries, 0x0000ffff mask, 262,144 bytes, 5/13 rotates Rules: 1 Applicable optimizers: * Optimized-Kernel * Zero-Byte * Single-Hash * Single-Salt Minimum password length supported by kernel: 0 Maximum password length supported by kernel: 55 Watchdog: Temperature abort trigger set to 90c Dictionary cache built: * Filename..: example.dict * Passwords.: 128416 * Bytes.....: 1069601 * Keyspace..: 128416 * Runtime...: 1 sec Approaching final keyspace - workload adjusted. $H$9y5boZ2wsUlgl2tI6b5PrRoADzYfXD1:hash234 Session..........: hashcat Status...........: Cracked Hash.Type........: phpass, WordPress (MD5), phpBB3 (MD5), Joomla (MD5) Hash.Target......: $H$9y5boZ2wsUlgl2tI6b5PrRoADzYfXD1 Time.Started.....: Sat Nov 3 20:31:37 2018 (0 secs) Time.Estimated...: Sat Nov 3 20:31:37 2018 (0 secs) Guess.Base.......: File (example.dict) Guess.Queue......: 1/1 (100.00%) Speed.#1.........: 2569.5 kH/s (11.18ms) @ Accel:256 Loops:512 Thr:1024 Vec:1 Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts Progress.........: 128416/128416 (100.00%) Rejected.........: 0/128416 (0.00%) Restore.Point....: 0/128416 (0.00%) Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:1536-2048 Candidates.#1....: 0 -> zzzzzzzzzzz Hardware.Mon.#1..: Temp: 44c Fan: 35% Util: 52% Core:1265MHz Mem:3004MHz Bus:8 Started: Sat Nov 3 20:31:33 2018 Stopped: Sat Nov 3 20:31:38 2018
Hashcat offers multiple attack modes for obtaining effective and complex coverage over a hash's keyspace. These modes are:
- Brute-force attack
- Combinator attack
- Dictionary attack
- Fingerprint attack
- Hybrid attack
- Mask attack
- Permutation attack
- Rule-based attack
- Table-Lookup attack (CPU only)
- Toggle-Case attack
- PRINCE attack (in CPU version 0.48 and higher only)
The traditional bruteforce attack is considered outdated, and the Hashcat core team recommends the Mask-Attack as a full replacement.
Team Hashcat (the official team of the Hashcat software composed of core Hashcat members) won first place in the KoreLogic "Crack Me If you Can" Competitions at DefCon in 2010, 2012, 2014, and 2015, and at DerbyCon in 2017.
- "On hashcat and strong Master Passwords as your best protection". Passwords. Agile Bits. 2013-04-16.
- "hashcat v3.00". Hashcat. Hashcat project. 2016-06-29.
- "Recent Developments in Password Cracking". Passwords. Bruce Schneier. 2012-09-19.
- "Hashcat FAQ". Hashcat. Hashcat project. 2015-04-14.
- "PRINCE: modern password guessing algorithm" (PDF). Hashcat site. Hashcat. 2014-12-08.
- "Crack Me If You Can 2014 Contest". KoreLogic Security.
- Official website
-  source code repositories
-  A guide to password cracking with Hashcat
-  Measuring Real-World Accuracies and Biases in Modeling Password Guessability
-  Confessions of a crypto cluster operator
-  Hashcat state of the union
-  DEFCON 2010, "Crack Me If you Can": Writeup Team Hashcat
-  DEFCON 2011, "Crack Me If you Can": Writeup Team Hashcat
-  DEFCON 2014, "Crack Me If you Can": Writeup Team Hashcat
-  DEFCON 2015, "Crack Me If you Can": Writeup Team Hashcat
- Goodin, Dan (27 August 2013). "thereisnofatebutwhatwemake - Turbo Charged Cracking Comes to Long Passwords". ars technica.