20 June 2013

How to break the Firewalls reliably

We have been listening about firewalls from long time. All the organizations are almost using firewalls to control the traffic of their employees. So when you are working in an organization mostly you will be behind a firewall. All the traffic that goes from your computer will be monitored and controlled. So how do we break this firewalls to have a free access to internet? Is there a way to do it?

The answer is yes. There is a reliable way to break the firewalls. The technique is called "HTTP Tunneling".

What is HTTP Tunneling?

It is wrapping other protocols in HTTP protocol. Any protocol can be wrapped inside the HTTP Protocol. So wrapping other protocols inside HTTP Protocol and sending them to bypass the firewalls is called HTTP Tunneling.

How This Can Be Done?

The client (It could be anything) sends a HTTP request(wrapping another protocol inside it) to the HTTP Tunneling server. When client makes a request to the HTTP Tunneling server client first establishes connection to the firewall (assuming it as proxy server), then proxy server establishes connection on behalf of the client to the HTTP Tunneling server, then HTTP Tunneling server takes the request rips off the HTTP headers and sends the original protocol to the remote host (The host that we finally want to reach) by establishing a connection, then remote host responds and sends response to the HTTP Tunneling server and it wraps the response inside HTTP Protocol and sends HTTP response to the client. Then the HTTP response reaches the firewall and it sends the response to the client. The client extracts the data from the HTTP response and uses it.

The following picture shows how it works:-



No organization blocks HTTP protocol and its ports. They cannot block all and allow few sites. They block few sites and allow the rest so we can reliably break the firewall but if you are caught in the organizations doing this they will consider it a serious offence. No firewall can stop this.

The only thing we need to know is HTTP Protocol and the protocol that we wrap inside. If you know the specs of this that is good enough to do it on your own. If you don't know anything about protocols then use ready made software available on net.

You can get HTTP Tunneling clients and servers for free of cost on the net or if you are a programmer you can build one very easily. 

No comments: