A Beginners Guide for Cracking Complex Passwords
Nowadays, passwords are the only form of security on most websites and computer systems. It has become one of the most common and easiest ways for a hacker to gain unauthorized access to your computer or network.
Password Cracking Before we get into cracking passwords with programs, I will explain a couple old-fashioned ways to obtain someone’s password.
• Social Engineering – Social engineering is when a hacker takes advantage of trusting human beings to get information from them.
For example, if the hacker was trying to get the password for a coworkers computer, he (Even though I use “he”, hackers are of both genders, and I just chose to use “he” in these examples.) could call the co-worker pretending to be from the IT department.
The conversation could be something like: Bob- “Hello Suzy. My name is Bob and I’m from the IT department.
We are currently attempting to install a new security update on your computer, but we can’t seem to connect to the user database and extract your user information. Would you mind helping me out and letting me know your password before my boss starts breathing down my neck? It’s one of those days, ya’ know?”
Suzy would probably feel bad for Bob and let him know her password without any hesitation. BAM! She got social engineered. Now the hacker can do whatever he pleases with her account.
• Shoulder surfing – Shoulder surfing is exactly what it sounds like. The hacker would simply attempt to look over your shoulder as you type in your password. The hacker may also watch weather you glance around your desk, looking for a written reminder or the written password itself.
• Guessing – If you use a weak password, a hacker could simple guess it by using the information he knows about you. Some examples of this are: date of birth, phone number, favorite pet, and other simple things like these.
Now that we have the simple low-tech password cracking techniques out of the way, let’s explore some high-tech techniques. Some of the programs I will use in my examples may be blocked by your anti-virus programs when you attempt to run them. Make sure you disable your antivirus program when you decide to download and explore them.
There are different ways a hacker can go about cracking a password. Below I will explain and give an example of each way.
A dictionary attack is when a text file full of commonly used passwords, or a list of every word from the dictionary is used against a password database.
Strong passwords usually aren’t vulnerable to this kind of attack. In the following example, I will use Brutus, a very common password cracker, to show a dictionary attack against an FTP server.
Brutus is a Windows-only program, but at the end of this tutorial, I will list a couple more password crackers, some of which are made for Mac, Windows, and Linux. Dictionary Attacks
Before I get into the example, you must first know what an FTP server is. FTP stands for File Transfer Protocol. FTP is a simple way to exchange files over the internet.
If a hacker got FTP access to my website, he could delete/upload anything he wants on my server.
An FTP address looks similar to a website address except it uses the prefix ftp:// instead of http://. I set up an FTP server on my computer so I could demonstrate. You can get Brutus at
- First the hacker would choose a target. In this case it’s my home computer and the IP address for your home computer is 127.0.0.1 .2. By going to ftp://127.0.0.1 I get a pop-up box asking for a username and password.
3. Next the hacker would launch a program similar to Brutus and attempt to crack the password.
4. In the target you put the IP address of the website and to the right select the appropriate option, which in this case is FTP.
5. The default port is 21 but some websites change this to make them a little more secure. If you find out that the port isn’t 21, you can find the right one by doing a port scan. We will get into this later in our tutorials.
6. If you don’t know any of the usernames for the FTP server, then you will have to get a list of the most common usernames.
7. For a dictionary attack you will have to choose the pass mode Word List and browse and select the file containing your word list. You can get some good password lists athttps://packetstormsecurity.com/Crackers/wordlists/
below are examples of what a username and password list might look like.
8. Once you hit Start the program will attempt to connect to the server and begin to try all the possible combinations from your lists.
9. If you’re lucky, eventually it’ll get the right Username: Password combination. As you can see below, it got the correct combination of username – admin and password – password.
10. A smarter hacker would use a proxy when using a program like this. What a proxy does is cloaks your IP address by sending your connection request through another computer before going to the target. This is a smart idea because below, Brutus leaves a huge log of your presence on the target server.
11. In place of the IP address 127.0.0.1 would be the hackers IP address. Footprints like these get a hacker caught and into a lot of trouble with the law.
With time, brute-force attacks can crack any passwords. Brute-force attacks try every possible combination of letters, numbers, and special characters until the right password is found. Brute-force attacks can take a long time.
The speed is determined by the speed of the computer running the cracking program and the complexity of the password.
Below I will show you how Brutus can be used against the same FTP server but this time using the brute-force option. Brute-force Attacks
1. Put in the target and port the same way you did for the dictionary attack. For the pass mode choose Brute-force and click range.
2. If you have an idea of what the password might be, then you can choose the right option. For example if you know a site that requires your password to be a certain length then you’ll know what to put down as a 40
minimum length thus narrowing down the end results and shortening the cracking process.
3. I chose lowercase alpha which has the second smallest amount of combinations. Even at second smallest it came up with 321, 272,407 possible password combinations. Now you know why it can take so long to
crack one password.
A Rainbow table is a huge pre-computed list of hash values for every possible combination of characters. A password hash is a password that has gone through a mathematical algorithm that transformed it into something absolutely foreign.
A hash is a one way encryption so once a password is hashed there is no way to get the original string from the hashed string.
A very common hashing the algorithm used as security to store passwords in website databases is MD5.
Rainbow Tables Let’s say you are registering for a website. You put in a username and
Now when you submit, your password goes through the MD5 algorithm and the outcome hash is stored in a database.
Now since you can’t get the password from the hash, you may be wondering how they know if your
the password is right when you login.
Well when you login and submit your username 41 and password, a script takes your password and runs it through the md5 algorithm.
The outcome hash is compared to the hash stored in the database. If they are the same, you are admitted.
If I were to run the word “cheese” through the md5 algorithm, the outcome would be fea0f1f6fede90bd0a925b4194deac11.
Having huge tables of every possible character combination hashed is a much better alternative to brute-force cracking.
Once the rainbow tables are created, cracking the password is a hundred times faster than brute-forcing it.
I will show an example of rainbow table cracking when we get into Windows password cracking.
hope that, you enjoyed this post.