Now, let's assume you tried all the attacks that we learned so far on your Target website.
You tried all of them on all the websites, on the same server, and none of these websites is vulnerable.
You went and you tried to hack into that server using the applications installed on the server, using
the server side attacks.
So you use the port scanner and you determine the programs and the open ports and you tried to hack
into the server based on these services.
And again, you still didn't find any way to get in.
And let's assume that you tried to attack the data center itself, which contains all the servers.
And again, you still didn't manage to gain access and you try to hack the users that use the websites
or the websites on the same server as your target website.
So you tried to hack the users, you try to hack the admins, you try to hack the support people using
social engineering attacks and all these attacks.
And again, you still didn't manage to gain your access then.
I'd usually go down to brute force attacks.
Now, a lot of people would actually try brute force attacks before that, but I just don't really like
brute force attacks, not because they're not useful or because they're not effective.
They're actually very effective.
But it's just that I don't really feel satisfaction when I gain access to a system using a brute force
attack.
So what we mean by brute force attacks is we're going to go to the login screen.
Most websites have log in screen to allow the admins to log in and we're going to try to determine all
possible combinations of the password.
So there's two flavors of brute force attacks or I should say, guessing attacks.
There is brute force attacks and dictionary attacks.
So brute force attacks would try to cover all possible combinations of the password.
For example, on your phone, the pin can only be made out of numbers, so you can actually cover all
possibilities very easily because the pin only has four digits and there is only nine possibilities.
When this comes to passwords, especially when it comes to web logins, you have lowercase characters,
uppercase characters, symbols and digits, which makes the brute force attack really unfeasible because
it will take years to cover all possibilities.
This leads us to the dictionary attack where you actually cover all possibilities in a list.
So you're going to have a list of passwords.
These can be made of common passwords or based on the research that you did on your target.
In the dictionary attack, you only cover the passwords that exist in the word list.
So unlike the brute force attack, it's not guaranteed because with the brute force, we're going to
cover all possible combinations in the dictionary attack.
We're only going to cover the passwords that are in our word list or in the dictionary.
So in the next few lectures, we're going to see how you can create your own dictionary.
And we're going to see how we can launch a brute force attack to gain access to a system without exploiting
any vulnerabilities.
All we're going to do is just try a large number of passwords until one of them works.
And this is the reason why I don't really like brute force, because there is no smart way.
You're not actually exploiting anything.
You're literally just guessing the password until it works.
Keep in mind, though, just because I don't really like it, it doesn't mean that it's not effective.
I've actually, in many cases, I spent days trying to break into a system, and at the end, one of
the times I still remember the password was one, two, three, four, five, six ABC, which you'll
probably, if you had a word list of common passwords, you'll probably gain access to that system within
an hour or two.