Hashcat


Hashcat is a password recovery tool. It had a proprietary code base until 2015, but was then released as open source software. Versions are available for Linux, OS X, and Windows. Examples of hashcat-supported hashing algorithms areLM hashes, MD4, MD5, SHA-family and Unix Crypt formats as well as algorithms used in MySQL and Cisco PIX.
Hashcat has been publicly noticed because of its optimizations; partly based on flaws in other software discovered by the creator of hashcat. An example was a flaw in 1Password's password manager hashing scheme. It has also been compared to similar software in a Usenix publication and been described on Ars technica.

Variants

Previously, two variants of hashcat existed:
With the release of hashcat v3.00, the GPU and CPU tools were merged into a single tool called hashcat. The CPU-only version became hashcat-legacy. Both CPU and GPU now require OpenCL.
Many of the algorithms supported by hashcat-legacy can be cracked in a shorter time with the GPU-based hashcat. However, not all algorithms can be accelerated by GPUs. Bcrypt is an example of this. Due to factors such as data-dependent branching, serialization, and memory, oclHashcat/cudaHashcat weren't catchall replacements for hashcat-legacy.
hashcat-legacy is available for Linux, OSX and Windows.
hashcat is available for macOS, Windows, and Linux with GPU, CPU and generic OpenCL support which allows for FPGAs and other accelerator cards.

Sample output


$ hashcat -d 2 -a 0 -m 400 -O -w 4 example400.hash example.dict
hashcat starting...
OpenCL Platform #1: Intel Corporation
  • Device #1: Intel Core i5-2500K CPU @ 3.30GHz, skipped.
OpenCL Platform #2: NVIDIA Corporation
Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 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 hit:
  • Filename..: example.dict
  • Passwords.: 128416
  • Bytes.....: 1069601
  • Keyspace..: 128416
The wordlist or mask that you are using is too small.
This means that hashcat cannot use the full parallel power of your device.
Unless you supply more work, your cracking speed will drop.
For tips on supplying more work, see: https://hashcat.net/faq/morework
Approaching final keyspace - workload adjusted.
$H$9y5boZ2wsUlgl2tI6b5PrRoADzYfXD1:hash234

Session..........: hashcat
Status...........: Cracked
Hash.Type........: phpass, WordPress, phpBB3, Joomla
Hash.Target......: $H$9y5boZ2wsUlgl2tI6b5PrRoADzYfXD1
Time.Started.....: Thu Apr 25 05:10:35 2019
Time.Estimated...: Thu Apr 25 05:10:35 2019
Guess.Base.......: File
Guess.Queue......: 1/1
Speed.#2.........: 2654.9 kH/s @ Accel:128 Loops:1024 Thr:1024 Vec:1
Recovered........: 1/1 Digests, 1/1 Salts
Progress.........: 128416/128416
Rejected.........: 0/128416
Restore.Point....: 0/128416
Restore.Sub.#2...: Salt:0 Amplifier:0-1 Iteration:1024-2048
Candidates.#2....: 0 -> zzzzzzzzzzz
Hardware.Mon.#2..: Temp: 44c Fan: 40% Util: 50% Core:1265MHz Mem:3004MHz Bus:8
Started: Thu Apr 25 05:10:32 2019
Stopped: Thu Apr 25 05:10:37 2019

Attack types

Hashcat offers multiple attack modes for obtaining effective and complex coverage over a hash's keyspace. These modes are:
The traditional bruteforce attack is considered outdated, and the Hashcat core team recommends the Mask-Attack as a full replacement.

Competitions

Team Hashcat won first place in the KoreLogic "Crack Me If you Can" Competitions at DefCon in 2010, 2012, 2014, 2015, and 2018, and at DerbyCon in 2017.