Lesson 01 Introduction to Hashcat
Theme:
Lesson 01 · Slide 1

Introduction to Hashcat

A comprehensive introduction to the world's most popular open-source password recovery tool — from basic concepts to your first hash crack.

Learning Objectives

Lesson 01 · Slide 2

What Is Hashcat?

Hashcat is an open-source password recovery tool that uses modern hash function recognition methods to recover lost passwords or verify the security of existing ones.

Key Characteristics

  • Free and open-source (MIT license)
  • Extremely fast — GPU-accelerated
  • Supports 350+ hash types
  • Cross-platform (Windows, Linux, macOS)

Who Uses It?

  • Security researchers — studying password security
  • Penetration testers — auditing organizations
  • System administrators — verifying password policies
  • Forensic analysts — recovering evidence
Notes: Hashcat's primary goal is to recover lost passwords or to verify the security of existing password hashes. It should only be used on systems you own or have written authorization to test.
Lesson 01 · Slide 3

History and Development

Hashcat was created to improve and accelerate the password recovery process. Over the years, it has grown from a simple CPU-based cracker into the most powerful hash recovery tool available.

Key Milestones

Open-Source Milestone

In 2015, Hashcat was made fully open-source, allowing the community to contribute hash algorithms, performance optimizations, and bug fixes. This accelerated development significantly.

Lesson 01 · Slide 4

Main Capabilities

Hashcat stands out due to its extensive feature set and broad compatibility across platforms and hardware.

Platform Support

  • Windows
  • Linux
  • macOS

Hardware Acceleration

  • CPU (all platforms)
  • NVIDIA GPU (CUDA)
  • AMD GPU (OpenCL)
  • Apple Metal (macOS)

Core Features

Lesson 01 · Slide 5

Attack Types Overview

Hashcat supports several attack modes, each suited for different scenarios.

ModeFlagDescription
Dictionary Attack-a 0Tries every word from a wordlist file
Combinator Attack-a 1Combines words from two dictionaries
Brute-Force / Mask-a 3Tries all combinations matching a pattern (mask)
Hybrid (Dict + Mask)-a 6Appends mask patterns to dictionary words
Hybrid (Mask + Dict)-a 7Prepends mask patterns to dictionary words
Notes: The dictionary attack (-a 0) is the most commonly used starting point. Rule-based attacks add transformations (capitalize, append digits, etc.) to dictionary words, making them extremely powerful.
Lesson 01 · Slide 6

Quick Demo: Your First Crack

Let's walk through cracking a known MD5 hash using a dictionary attack.

Step 1: Create a hash file

# The MD5 hash of "password"
echo "5f4dcc3b5aa765d61d8327deb882cf99" > hashes.txt

Step 2: Run the attack

hashcat -m 0 -a 0 -o cracked.txt hashes.txt example.dict

Step 3: Check results

cat cracked.txt
# Output: 5f4dcc3b5aa765d61d8327deb882cf99:password

Command Breakdown

  • -m 0 — Hash type: MD5
  • -a 0 — Attack mode: Dictionary
  • -o cracked.txt — Output file for recovered passwords
  • hashes.txt — File containing target hashes
  • example.dict — Wordlist / dictionary file
Lesson 01 · Slide 7

Essential Commands

Before diving deeper, familiarize yourself with these fundamental Hashcat commands.

System Information

# Show detected compute devices (GPUs, CPUs)
hashcat -I

# Display full help with all options
hashcat --help

Common Flags Reference

FlagPurposeExample
-mHash type-m 0 (MD5)
-aAttack mode-a 0 (dictionary)
-oOutput file-o results.txt
--showShow already crackedhashcat -m 0 hash.txt --show
-wWorkload profile-w 3 (high performance)
Lesson 01 · Slide 8

Lab & Homework

Lab Exercises

  1. Install Hashcat on your operating system and verify the installation
  2. Run basic commands — hashcat -I and hashcat --help to explore options
  3. Crack an MD5 hash — perform a dictionary attack on a known hash and verify the output

Homework Tasks

  1. Research and list 5 hash types supported by Hashcat with their -m codes
  2. Explain the difference between dictionary and mask attacks in your own words
  3. Create and crack your own MD5 hash using a custom wordlist

Reference

Official Hashcat FAQ: hashcat.net/wiki — FAQ

1 / ?