Hello everybody, and welcome to this tutorial.
Today I will be talking about how you can configure
proxy change to work in combination with, or in order to anonymize traffic.
Not only web browsing traffic, but rather instead all network-related traffic
generated by pretty much all of your applications.
Now, there are a few of those which will not work in combination with proxy chains.
Namely, one such application is for a piece of software is Metasploit.
Now Metasploit is practically a hacking framework, and it is of crucial importance
for pretty much any sort of hacking activity in today's world.
Especially because it allows automated generation of code needed to break
a certain system, and it also contains a list of vulnerabilities as well.
However, what I want to do here today is show you how you can
anonymize pretty much all footprinting traffic,
or traffic generated by Nmap when you were gathering information.
Or even your web browsing traffic in a different fashion,
other than using a Tor browser.
And how you can cover your tracks in general,
no matter what you are doing, pretty much.
So one of the first things that you do need to do,
in Kali Linux it comes pre-installed, so you need Tor and proxy chains.
These two things you would install on some other systems,
Linux systems or Windows systems, doesn't matter.
Tor is kind of tricky.
I have seen versions where Tor is not installed by default, and I have specified
in the previous tutorial I do believe how to install Tor no problems, but yeah.
What you would need to do here is simply configure and not install anything.
So, let's just navigate over to the etc proxy chains configuration file,
nano/etc proxychains.conf.
Press enter and there we go, we are in the configuration file.
Let me just zoom, let me just expand this actually.
And what proxy chains is, well it gives you an ability to
route your traffic through a series of proxy servers and
stay anonymous in such a fashion by hiding behind them.
Or by having them forward your request so that it looks to the other side
that your requests are coming from them as opposed to from you.
Surprisingly enough there are a large amount of
free proxy servers out there that you can use, but they're not very stable.
They go up and down and they're not very fast, so for
specific targets they can be useful.
Not for brute forcing, not for any form of brute forcing attacks.
But if you are doing something to a certain target,
if you're trying to log in, or you're already logged in.
You can definitely do it through proxy chains, and
it will be reasonably fast and reasonably stable as well.
But if you're doing some sort of mass scanning, or
you're brute forcing a password or something of a kind.
Proxy chains with a list of proxies selected from the internet,
free proxies that is, that's not gonna work out.
I mean, it's gonna work about eventually in a technical sense,
but it will consume more time than you can spare.
And by more time than you can spare, I mean like a month or
two to do a simple scan, so that's not an option there.
There are other ways of doing that, but for the time being,
I just want to show you how you can use proxy chains,
how you can configure it actually, cuz it's really useful, I use it fairly often,
a lot of people do, and it's a fantastic piece of software.
So first off, you have types of proxies here which you can use,
you have HTTP, SOCKS4, and SOCKS5.
Now there are fundamental differences between these protocols.
You always, always want to find yourselves a SOCKS5 proxy as
that is the best possible one that has the ability to anonymize all sorts of traffic.
HTTP, as the name itself says, it's for HTTP traffic.
And SOCKS4 is very similar to SOCKS5 but
it does not support IPv6 protocol, and it does not support QDP protocol.
So SOCKS4 can be rather problematic.
You always want to make sure that you're using SOCKS5 wherever and however.
Anyway, down below you have these options which we will go over.
So basically, how you enable these options,
you don't need to type in some complex lines of code or anything of a kind.
Basically just delete the hash and that's it.
Save the file, the option's enabled.
This hash presents a commented outline,
meaning that the system reading this file will ignore it if there is a hash.
If there isn't a hash it will take it into consideration and
interpret it accordingly.
Anyway, what we have here are statements which allow us to
specify how we want our traffic to be routed.
So first off, we have dynamic chain.
Dynamic chain is an option which you will find people using the most.
It is most commonly used option, a preferable one,
and honestly I think it's the best one.
Primarily because it's the most stable one and heres why.
Suppose you have A B C D proxies, so
those are some servers with IP addresses with open boards.
And if you have a strict chain policy like we have here,
you will only be able to access any site on the internet in general
by going through A B C D.
So, you have to go through all of them and
you have to go through in that specific order, A B C D.
And that's not always a good thing.
If you're paying for
five proxies that's not a problem because they will always be operational.
They will always be up and why not?
That's not a bad option there at all.
However, most people use free proxies and they don't tend to pay for them.
Why would you pay for five, ten proxies for a simple scan or something of a kind?
They're not free, they cost money.
They're not that expensive either, but still, the active ping itself
identifies you and it kinda diminishes the amount of anonymity you have on the net.
There are some complex payment methods which you can use to anonymize yourself
but still, it's far simpler to simply go ahead and
use dynamic chains.
So I'm just gonna go ahead and uncomment, oops, and I'm gonna uncomment this line.
Go ahead down below and comment this line and comment this line out.
So strict chains will no longer be used, I will be using dynamic chains.
One more thing to note here is that if you want to use proxy chains in combination
with Tor, so if you want to route all of your traffic through the Tor network,
not just the web traffic, you must enable dynamic chains.
There is a chance that it will work with strict chains, but
due to the instability of Tor nodes it is highly unlikely.
You will need dynamic chains, and that is why I am using them today.
Anyway, if you are using dynamic chains, it just gives you the ability to go from
A B C D to your desired destination by not having to adhere to any order.
So let's say that C is down.
You would go A B D, and it would work no problems.
Even if B was down, it would go A D and you would still reach the destination.
So as long as one single proxy is functional,
it's going to work, and you don't require any specific order to it.
Down below, you have random_chain.
Now, random chains are, in effect,
basically the same thing as resetting your services.
If you're resetting your Tor, you will be assigned a new IP address.
Tor assigns you a new IP address every ten minutes or so
anyway, but with a random chain you can specify a list of IPs.
And then you can tell your computer okay,
I want you to connect to this point, and every time you connect,
every time you transmit a packet, I want you to use a different proxy.
You can do that as well.
That's one of the options, definitely.
You can say, okay go use this one five times and
then change it to another one or something of a kind.
There are a lot of options specified there, primarily the chain length.
Anyway, now if we head down below, there's the quiet mode.
You don't really need that.
Proxy DNS requests no leak from DNS data.
This is very important, you can not have any DNS leaks.
Let me explain to you what DNS leaks are.
Even though somebody cannot get your particular IP address,
they can get the IP address of the DNS server that you are using.
What DNS servers do is resolve domains to IP addresses and vice versa.
So, for example, if you typed in youtube.com,
the DNS server of your local ISP provider will resolve that into
some sort of an IP address that the YouTube has.
And it will make a request, no problems.
You do not want that happening, because your local DNS server will be discovered,
and that information can be used in order to figure out your personal IP address.
And then when that is done, your physical location is pretty much compromised.
Though that's a no go you definitely need proxy DNS here.
It might slow you down a bit, but without it you're practically not anonymous.
It's just a matter of time before somebody finds you.
If you go down below we have some other options here,
but we're not really interested in them at the moment.
What we got here are formats for entering proxies.
And I'm gonna leave it at that and
then we'll explain the rest in the follow up tutorial.
But, just a key note before you go into the next tutorial, have a look at these.
You don't need to go on the net or read anything about it.
Just have a look at the format here how they are written.
This is an example of proxy chains and how you can write them down.
Not a bad idea would be to figure out what these last things are here.
S you have a type of proxy, you have an IP address.
Figure out what this number is, what this name is and what this word here is.
I will of course explain all this in the next tutorial but just try to
figure it out on your own and then you'll get the answers, it's pretty simple.
In any case I bid you farewell and I'll see you in the next tutorial.