cybersecurity
hashcat
cracking
enumeration
john-the-ripper
Some vulnerabilities donโt exploit complex flaws. They donโt require advanced scripts or sophisticated techniques. Sometimes, you just need to try to get inโฆ and realize no one closed the door. Thatโs Broken Access Control.
When a web application doesnโt properly control which users can access which resources, access rules break down. Normally, certain files like admin.php should be protected behind a login or specific roles. But if control fails, any userโauthenticated or notโcan access them simply by knowing the path. Discovering those paths is called enumeration, and itโs one of the first steps in almost any web analysis. As a hacker, you need to look for what isnโt shown to you. Tools like gobuster, dirb, or ffuf brute-force common paths (/admin, /panel, /login, etc.) using dictionaries with typical file names. Itโs not magic: itโs persistence, patience, and strategy.
Once inside a sensitive file like an admin panel, you might find something even more valuable: users and their passwordsโฆ or rather, their hashes.
A hash is the result of applying a mathematical algorithm to a password. It takes an inputโfor example, password123โand turns it into a long, seemingly random string. You canโt โdecryptโ a hash like a traditional encrypted message, because thereโs no reversibility. But you can guess which password generated it by comparing thousands or millions of passwords and their hashes until you find a match.
One of the most common, though obsolete, hash algorithms is MD5. It transforms any input into a 32-character hexadecimal string. The problem is that MD5 is fast, predictable, and widely studied, making it vulnerable to attacks like dictionary cracking. Thatโs where two of the most powerful tools at your disposal come in: John the Ripper and Hashcat.
Both test passwords from a dictionary file like rockyou.txt, which contains millions of real passwords leaked over time. John is simpler, more immediate. Ideal when youโre starting out. Hashcat, on the other hand, is more aggressive, allows advanced configurations, and leverages your machineโs GPU to speed up the process.
To use them, you first need to have the hash in a file, recognize its type (in this case MD5), and then launch the attack. Sometimes passwords arenโt visible. Theyโre disguised. You donโt see "mypassword123", you see something like f379eaf3c831b04de153469d1bec345e. Thatโs not a password, itโs a hash, and your job as an ethical hacker is to look at that code and ask yourself What is it really hiding? Thatโs what John the Ripper and Hashcat are for.
They are two legendary password cracking tools. Not magic. Not infallible. But powerful, if you know how to use them.
John the Ripper was born as a simple, fast, and effective tool. Its philosophy is straightforward: take a hash file, compare them with a dictionary of possible passwords, and see if there are matches. Nothing more. Nothing less. You can use it with this command:
1john --wordlist=rockyou.txt hashes.txt
John will read each line of rockyou.txt (a dictionary with millions of real passwords) and generate the corresponding hash according to the type (for example, MD5). It will compare them with those in hashes.txt. If it finds a match, it will show it to you.
Itโs a tool that invites you to start without fear. Lightweight. Human. Ideal when youโre taking your first steps. But if youโre looking for brute force, raw power, and wild speed, then you need Hashcat.
Hashcat was designed to break hashes at absurdly high speeds. It uses your machineโs GPU (yes, the graphics card) to launch parallel attacks, calculating billions of combinations per second.
To use Hashcat, you need to understand the type of hash youโre working with. For example:
m 0 is MD5m 100 is SHA1m 500 is Unix MD5And also choose the attack mode. The most common is dictionary (-a 0):
1hashcat -m 0 -a 0 hashes.txt rockyou.txt
Hashcat can seem intimidating at first. But like many things in cybersecurity, the closer you get, the more sense it makes. You can give it rules, combinations, masks, mutation techniques. You can tell it how to think. How to persist, and best of all, you can learn to observe. To see the patterns. To understand that behind every cracked password thereโs a story of carelessness, haste, repetition.
Youโre here to study those stories. To make them visible. To strengthen the system by understanding its weakest points. John and Hashcat donโt do the work for you. They only reflect your effort, your understanding, and your perseverance. The passwords you manage to crack wonโt be trophies, theyโll be evidence that youโre growing.
For example, with John:
1john --wordlist=rockyou.txt hash.txt
Or with Hashcat:
1hashcat -m 0 -a 0 hash.txt rockyou.txt
That -m 0 indicates youโre working with MD5. That -a 0 means youโre doing a dictionary attack. In essence, this is password cracking: trying and trying until something fits. Itโs not about luck. Itโs knowledge, tools, and determination.
And above all, itโs understanding that every time you crack a hash, youโre understanding a human weakness: simple passwords, design errors, poorly closed doors. But youโre not here to judge that. Youโre here to discover it. To learn. To become better.
Donโt underestimate what you can achieve with a curious mind, a well-chosen dictionary, and a well-understood tool.