Introduction
Hashcat is widely regarded as the world's fastest and most advanced password recovery utility. It's an essential tool in the arsenal of penetration testers and security professionals. Before you can use it to crack hashes, you must first ensure that it is installed correctly and is fully operational on your system.
In this lab, you will perform a series of simple checks to verify the Hashcat installation in your Kali Linux environment. You will learn how to check the application version, access the help menu, list supported hash types, and run a system benchmark. These steps will confirm that Hashcat is ready for use.
Open a Terminal in Kali Linux
In this step, you will begin by working within the command-line interface. The terminal is the primary way to interact with the operating system and run tools like Hashcat in a Linux environment. Your lab environment has already opened a terminal for you.
First, let's run a simple command to confirm that your terminal session is active and to familiarize yourself with the command prompt. We will use the ls -l command to list the contents of the current directory in long format.
Execute the following command in your terminal:
ls -l
You should see output listing the files and directories within your current ~/project directory. This confirms your terminal is ready for the next steps.
total 0
Check the Hashcat Version with hashcat --version
In this step, you will perform the most basic check: verifying the installed version of Hashcat. This is a standard practice to confirm that a program is installed and that its executable is in the system's PATH, making it accessible from any directory.
To check the version, use the --version flag with the hashcat command.
hashcat --version
After running the command, Hashcat will print its version number. The exact number may vary, but seeing any version number confirms that the system can find and execute Hashcat.
Example output:
v6.2.6
Access the Main Help Menu with hashcat --help
In this step, you will learn how to access Hashcat's built-in help menu. The help menu is an invaluable resource that provides detailed information about the tool's usage, command-line options, and features. It's the best place to look when you're unsure about a specific command or option.
To display the main help menu, use the --help flag.
hashcat --help
This command will produce a large amount of text, detailing all the options available. You will see sections for Usage, Options, Hash-Modes, Attack-Modes, and more. Take a moment to scroll through the output to get a sense of Hashcat's capabilities.
Example of truncated output:
hashcat [options]... hash|hashfile|hccapxfile [dictionary|mask|directory]...
- [ Options ] -
* General:
--help
--version
...
* Hash-Modes:
--hash-type | -m
...
* Attack-Modes:
--attack-mode | -a
...
List All Supported Hash Algorithms
In this step, you will learn how to find the specific code for a hash type that you want to crack. Hashcat supports hundreds of different hashing algorithms, and each one is identified by a unique number called a "hash mode". You must specify this mode using the -m flag when starting an attack.
The full list of supported hash modes is available in the --help output. To avoid scrolling through the entire list, you can use the grep command to filter the output and find a specific algorithm. For example, let's find the hash mode for MD5.
Pipe the output of hashcat --help into grep to search for "MD5":
hashcat --help | grep MD5
This command will display all lines from the help menu that contain the string "MD5". You will see the hash mode number next to the algorithm name.
Example output:
0 | MD5 | Raw Hash
...
As you can see, the hash mode for a standard MD5 hash is 0. You would use this by specifying -m 0 in your Hashcat command.
Run a System Benchmark with hashcat -b
In this step, you will run Hashcat's built-in benchmark. This is the most comprehensive way to verify your installation. The benchmark tests various hashing algorithms against your system's hardware (CPU and/or GPU) and reports the performance in hashes per second. A successful benchmark run confirms that Hashcat and all its dependencies are working correctly.
To start the benchmark, use the -b flag.
hashcat -b
Note: The benchmark may take several minutes to complete as it cycles through many different algorithms.
You will see output that continuously updates, showing the performance for each hash mode. This is a strong confirmation that Hashcat is fully operational.
Example of truncated output:
hashcat (v6.2.6) starting in benchmark mode...
OpenCL API (OpenCL 3.0 PoCL 3.1+debian Linux x86_64) - Platform #1 [The pocl project]
====================================================================================
* Device #1: pthread-skylake-avx512, 1995/3990 MB (1024 MB allocatable), 2MCU
Benchmark relevant options:
===========================
* --machine-readable
...
Hashmode: 0 - MD5
Speed.#1.........: 3346.2 MH/s (94.46ms)
Hashmode: 100 - SHA1
Speed.#1.........: 1128.1 MH/s (95.45ms)
...
Once the benchmark starts running and displaying speeds, you can press Ctrl+C to stop it. The goal here is simply to confirm that it runs without errors.
Summary
In this lab, you successfully verified your Hashcat installation by performing several key checks. This process ensures that the tool is properly installed, configured, and ready for password recovery tasks.
You have learned how to:
- Confirm terminal access and basic command execution.
- Check the installed version of Hashcat using
hashcat --version. - Access the comprehensive help menu with
hashcat --help. - Find the specific mode for a hash algorithm by filtering the help output.
- Run a full system benchmark with
hashcat -bto test performance and functionality.
With these verification steps completed, you can be confident that your Hashcat instance is fully operational.


