Lesson 01 Introduction to Hashcat
Theme:

Homework

Complete these tasks before Lesson 02. They reinforce the concepts from this lesson and prepare you for the next one.

Task 1: Research Hash Types

Goal: Familiarize yourself with the variety of hash types Hashcat supports.

Instructions

Using the hashcat --help output or the Hashcat Example Hashes page, research and document 5 different hash types.

For each hash type, record:

  1. The hash type name (e.g., "MD5")
  2. The -m mode number (e.g., 0)
  3. A brief description of where this hash type is commonly used
  4. An example hash from the Hashcat example hashes page

Deliverable

A table in this format:

Hash Type Mode (-m) Common Use Example Hash
MD5 0 Legacy web apps, checksums 8743b52063cd8409...
... ... ... ...

Self-check

Task 2: Dictionary vs. Mask Attacks

Goal: Understand the conceptual difference between the two most common attack types.

Instructions

Write a short explanation (150–250 words) comparing dictionary attacks and mask attacks. Your explanation should address:

  1. How each attack works — what input does each require, and how does it generate password candidates?
  2. Strengths — when is each attack type most effective?
  3. Weaknesses — when does each attack type fail or become impractical?
  4. A practical example — describe a scenario where you would choose one over the other, and explain why.

Self-check

Task 3: Create and Crack Your Own Hash

Goal: Practice the full workflow of creating a hash, building a wordlist, and running Hashcat.

Instructions

  1. Choose a simple password (e.g., "sunshine", "iloveyou", "football").
  2. Generate the MD5 hash of your chosen password. You can use any of these methods:
    # macOS / Linux
    echo -n "yourpassword" | md5sum
    
    # macOS alternative
    echo -n "yourpassword" | md5
    
    # Python
    python3 -c "import hashlib; print(hashlib.md5(b'yourpassword').hexdigest())"
  3. Save the hash to a new file (e.g., myhash.txt).
  4. Create a custom wordlist file (at least 20 words) that includes your chosen password somewhere in the list.
  5. Run Hashcat to crack your hash using your custom wordlist.
  6. Verify the result.

Hint

Make sure to use echo -n (no newline) when generating the hash. Without the -n flag, echo adds a trailing newline character, which changes the hash entirely.

Deliverable

A short write-up that includes:

Self-check

Submission

There is no formal submission for this course. These tasks are for your own development. However:

Next lesson: Lesson 02 — Installation & Setup — detailed platform-specific installation, driver configuration, and performance benchmarking.