LinuxCommandLibrary

hashcat

Crack password hashes using various methods

TLDR

Perform a brute-force attack (mode 3) with the default hashcat mask

$ hashcat --hash-type [hash_type_id] --attack-mode [3] [hash_value]
copy

Perform a brute-force attack (mode 3) with a known pattern of 4 digits
$ hashcat --hash-type [hash_type_id] --attack-mode [3] [hash_value] "[?d?d?d?d]"
copy

Perform a brute-force attack (mode 3) using at most 8 of all printable ASCII characters
$ hashcat --hash-type [hash_type_id] --attack-mode [3] --increment [hash_value] "[?a?a?a?a?a?a?a?a]"
copy

Perform a dictionary attack (mode 0) using the RockYou wordlist of a Kali Linux box
$ hashcat --hash-type [hash_type_id] --attack-mode [0] [hash_value] [/usr/share/wordlists/rockyou.txt]
copy

Perform a rule-based dictionary attack (mode 0) using the RockYou wordlist mutated with common password variations
$ hashcat --hash-type [hash_type_id] --attack-mode [0] --rules-file [/usr/share/hashcat/rules/best64.rule] [hash_value] [/usr/share/wordlists/rockyou.txt]
copy

Perform a combination attack (mode 1) using the concatenation of words from two different custom dictionaries
$ hashcat --hash-type [hash_type_id] --attack-mode [1] [hash_value] [/path/to/dictionary1.txt] [/path/to/dictionary2.txt]
copy

Show result of an already cracked hash
$ hashcat --show [hash_value]
copy

Show all example hashes
$ hashcat --example-hashes
copy

SYNOPSIS

hashcat [options] hashfile|hashtype hash [salt]

PARAMETERS

-a
    Specifies the attack mode to use. Common modes include: 0 (straight), 1 (combination), 3 (brute-force), 6 (hybrid dict + mask), 7 (hybrid mask + dict).

-m
    Specifies the hash type to crack (e.g., 0 for MD5, 10 for SHA1, 1400 for SHA256).

-o
    Specifies the file to write cracked passwords to.

-w
    Specifies the workload profile (1-4, higher values use more resources but potentially faster cracking).

-i, --increment
    Enable increment mode, automatically adjusting the mask length.

-l
    Set the minimum and maximum length for increment mode.

-r
    Specifies a rule file to apply to dictionary words.


    The file containing the password hashes to crack.


    The password hash to crack.


    The dictionary or wordlist file to use in dictionary-based attacks.

-b, --benchmark
    Run a benchmark to test the performance of your hardware.

--force
    Ignore errors like file not found, etc.

--session
    Name for the cracking session. Used when pausing and resuming.

DESCRIPTION

hashcat is a powerful and versatile password recovery tool designed to crack password hashes. It supports a wide array of hashing algorithms, including popular ones like MD5, SHA-1, SHA-256, and bcrypt, as well as various others used in specific applications and systems.

Hashcat leverages CPU, GPU (AMD and NVIDIA), and other hardware accelerators to perform computationally intensive password cracking tasks efficiently. It offers various attack modes such as dictionary attacks, brute-force attacks, mask attacks, and rule-based attacks, providing flexibility in targeting specific password characteristics.

The tool is used extensively in penetration testing, cybersecurity, and forensic investigations for assessing password security, recovering lost passwords, and auditing system security configurations.

Its flexibility and high performance make it a go-to choice for professionals and enthusiasts in the field of password recovery.

CAVEATS

Password cracking is illegal without proper authorization. Use this tool responsibly and ethically.
Performance can vary greatly depending on the hardware used, the hash type, and the complexity of the password.

MASK ATTACK

Mask attacks allow you to define a pattern of characters that hashcat will generate and test as passwords.
For example, a mask of '?d?d?d?d' would generate all possible 4-digit numbers.

RULES ENGINE

Hashcat's rules engine allows you to modify dictionary words according to predefined rules before attempting to crack the hash.
This can significantly increase the success rate by applying common password mutations.

PAUSING AND RESUMING

Hashcat allows pausing and resuming cracking sessions via the '--session' parameter, enabling the storage of progress data in the specified session.
This is helpful for large password lists or extended cracking runs.

HISTORY

Hashcat has evolved significantly over the years, from a simple CPU-based cracker to a highly optimized GPU-accelerated tool.

It's development has been focused on maximizing performance and supporting a wide range of hashing algorithms. Its widespread adoption in the security community has led to continuous improvements and a robust feature set.

SEE ALSO

john(1), ophcrack(1)

Copied to clipboard