What is a Dictionary Attack? (original) (raw)

Last Updated : 28 Aug, 2025

**Dictionary Attack is a password-cracking method where an attacker uses a pre-made list of common passwords or words (called a dictionary) and systematically tries them against the target. The dictionary can contain words from an English dictionary and also some leaked list of commonly used passwords, and when combined with common character replacement with numbers, can sometimes be very effective and fast.

**How is it done?

Here’s the working of a Dictionary Attack in simple steps:

WORKING-OF-DICTIONARY-ATTACK

Working of Directory Attack

Given below are basically the two tools used in dictionary attack:

1. John the Ripper

John the Ripper is a popular password-cracking tool that recovers passwords from hashes. In dictionary attacks, it tests each word from a wordlist against the hash to find the correct password.

file

John the Ripper

2. Aircrack-ng

Aircrack-ng is a network security tool used to crack Wi-Fi passwords by analyzing captured packets. In dictionary attacks, it tries each word from a wordlist against the captured handshake to recover the Wi-Fi password.

Aircrack-ng

Aircrack-ng

3. Hydra

Hydra is a fast password-cracking tool that uses a wordlist to test login credentials on services like SSH, FTP, or HTTP. It’s mainly used in penetration testing to find weak or common passwords.

file

Hydra Basic Interface

4. Medusa

Medusa is a fast, parallel, and modular brute-force tool used for testing login credentials against remote systems. Like Hydra, it supports many protocols (SSH, FTP, HTTP, RDP, MySQL, etc.) and is often used by penetration testers to check for weak or default passwords.

file

Medusa

**Difference between Brute Force and Dictionary Attack:

A brute-force attack will try every possible character combination. This can take a significant amount of time to complete. For example, it might start with the password "a" then change one letter at a time until it gets to "zzzzzzzz."

A dictionary attack will use a list of likely passwords in its attempts to break into a system. These attacks are more focused than brute-force attacks. Rather than trying to input every possible permutation, an attacker using a dictionary approach would attempt all the permutations in its predetermined library. Sequential passcodes, like "12345," and static passcodes, like "00000," would be tested.

**How to be on the safer side?

You can protect yourself from such kind of attacks by following these ways: