Assignment 11
Assignment 11
Password cracking refers to the process of recovering passwords from data that has been stored
or transmitted in a hashed or encrypted format. While malicious actors exploit this for unethical
purposes, security professionals, such as ethical hackers and penetration testers, study these
techniques to identify vulnerabilities and strengthen system security.
This report focuses on password cracking methodologies, including dictionary attacks, and
explores password hashing techniques using tools like Hashcat for educational purposes.
Additionally, it highlights the importance of implementing strong password policies to prevent
breaches.
There are several approaches to password cracking, each differing in complexity, success rate,
and computational demand. Below are the common methodologies:
1. Dictionary Attacks
A dictionary attack leverages a precompiled list of potential passwords, typically common or
leaked ones, to attempt access to a system. The attacker uses software to hash each entry
in the dictionary and compare it against the hashed password. If a match is found, the
password is cracked.
Example: A hacker might use a dictionary file containing "password123", "qwerty", and
other commonly used passwords to try and crack a weak password.
Limitations: This attack is only effective if the password exists in the dictionary, making it
futile against strong, random passwords or those using complex characters.
Limitations: The time required increases exponentially with password length and
complexity, making this approach impractical for strong passwords.
Limitations: The use of "salt" (random data added to the password before hashing) can
mitigate the effectiveness of rainbow table attacks, as the hash values will differ for the
same password across different users.
4. Hybrid Attacks
A hybrid attack combines dictionary and brute force attacks by using a dictionary and then
appending or prepending numbers and symbols to the words. This increases the probability
of success against users who modify simple passwords, such as adding "123" at the end.
5. Phishing and Social Engineering
These are indirect methods where the attacker tricks the user into divulging their password
through fraudulent emails, messages, or websites. While not a "cracking" technique in the
traditional sense, it is often the simplest and most effective method.
When a user creates a password, systems do not store the plain text password. Instead, the
password is processed through a hashing function, resulting in a fixed-length string that represents
the password in an irreversible manner. Popular hashing algorithms include:
• MD5 (Message Digest Algorithm 5): An older hash function that produces a 128-bit hash
value. It is no longer considered secure due to vulnerabilities to collision attacks.
• SHA-1 (Secure Hash Algorithm 1): Produces a 160-bit hash value but is also deemed
insecure due to collision vulnerabilities.
• SHA-256 and SHA-512: More secure versions of the SHA family, commonly used today
due to their resistance to most cracking methods.
• bcrypt: A password hashing function designed to be slow and computationally expensive,
which helps defend against brute force attacks.
• PBKDF2 (Password-Based Key Derivation Function 2): Combines password hashing
with salting and multiple iterations to increase difficulty in cracking.
• Argon2: The winner of the Password Hashing Competition (PHC), designed to resist GPU
cracking and side-channel attacks.
Hashcat is a powerful open-source tool used for password recovery. It supports various hash
algorithms, including MD5, SHA-1, SHA-256, bcrypt, and others. For educational purposes, we
can explore how Hashcat processes password hashes and the complexity of cracking different
types of hashes. Here’s a brief explanation of how Hashcat works in a typical setup:
This command tells Hashcat to use the NTLM hash type (mode 1000) and attempt to match
passwords in wordlist.txt with the hash in hash.txt.
4. Performance Consideration
The computational cost of the hashing algorithm significantly affects how quickly Hashcat
can attempt password recovery. Algorithms like bcrypt, which are deliberately slow, make
brute-force attacks less practical, whereas MD5 can be cracked much faster.
Strong password policies are critical in defending against password cracking attempts. A strong
password policy should:
References
This report offers a detailed understanding of password cracking techniques for educational
purposes and emphasizes the importance of strong password policies to ensure robust security.