Sunday, May 4, 2008

Hiding Your IP Address Using HTTP, CONNECT, CGI/PHP/WEB, SOCKS proxies

expr:id='"post-" + data:post.id' >

There are situations in which you may want to visit a site without leaving a trace of the visit. For instance you want to check what's going on at your competitor's site. Your visit will generate a record in the log file. Frequent visits will generate many records. Do you want to know what kind of records? See in YOUR REQUEST, YOUR WHOIS RECORD and GEOGRAPHIC LOCATION, Privacy Analysis of your Internet Connection, Another Privacy Investigation Report, BrowserSpy Info, ShowMyIP - will tell you some scary info about what can be told about your computer via the internet.



Note that these tests are not very sophisticated. A dedicated "snooper" can often learn much more. Once I came across a server that tried to connect to my computer's disk while I was browsing ... that was an exciting experince. You should also remember about things like cookies, hostile applets and java scripts, browser security holes and so on. So why don't we send someone instead of ourselves? Good idea.

Remember that simple owner of Web server may collect information about requests you had performed in search engines, keywords you had typed, your browser and language, date, time, your operating system, physical and geographical position, pages from which you had clicked links and so on. See below some records generated by our server users (real IPs are slightly changed).. Note that large internet companies such as doubleclick, google, government institutions have tremendous possibilities to collect much more information about you and your behaviour..

24.10.31.1 - - [17/Oct/2006:07:03:22 +0000] "GET /proxy/howto.htm HTTP/1.1" 200 33104
"http://www.google.com/search?complete=1&hl=en&q=change+ip+address+proxy&btnG=Google+Search"
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7"
217.154.66.1 - - [17/Oct/2006:07:03:25 +0000] "GET /proxy/ HTTP/1.1" 200 37361
"http://www.google.co.uk/search?q=http+proxy+for+ftp&start=0&ie=utf-8&oe=utf-8"
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6"

Step #1-Determine your IP Address:

Every computer connected to the Internet has a unique identifier called an IP Address. On many networks, the IP Address of a computer is always the same. On other networks, a random IP Address is assigned each time a computer connects to the network. This is what we are referring to when we ask if you have a static or a dynamic IP Address. If a system uses dynamic addressing, the IP can change quite often. Look into REMOTE_ADDR row in THIS LINK to determing your current IP Address.
Step #2-Get Anonymous:
Method #1: Anonymizer

One can surf anonymously and easy with the help of a nice services called CGI/Web proxies. Simply type a URL you want to visit -- the Page does the job for you, selecting random CGI/Web proxy from a hundreds of available services, securing you from many potential dangers. When you follow a link on a page viewed via CGI proxy you get there via the this proxy again, so you don't have to type a new URL.

CGI/Web proxy has two more nice features. Firstly, there are WWW sites that are inaccessible from one place, but easily accessible from another. Once I was trying to load a page located in Australia for 20 minutes, all in vain. Using CGI/Web proxies immediately solved the problem. Secondly, there are certain sites that give you information depending on where you are "calling" from. Let's take an example. I was at Encyclopedia Britannica site, trying to check the price for their products. Clicking on Order Information button gave me the list of Britannica's dealers all over the world, no price info. Going to the same place via the Anonymizer led me to a different page, where I found the price list. As it turned out the local dealer's price for Encyclopedia Britannica CD was several times higher than the one at which it's sold in USA. Good savings!

Some CGI/Web proxies are able to encrypt URLs (uniform resource locator) in a way that these can be used as reference for a server. If a request with an encrypted URL occurs, they are able to decrypt the URL and forward it to the server, without enabling the user to get knowledge about the server address. All references in the servers response are again encrypted before the response is forwarded to the client.

Some CGI/Web proxies are able to use secure HTTPS protocol for exchanging data between proxy and your computer, even if original server is not secure. This option excluding possiblility to sniff a data flow between your computer and this proxy is very useful in some cases, for example, when you are forced to work in possibly scanned/sniffed insecure public network.

To get your personal CGI/Web/FTP proxy simply download free James Marshall CGIproxy script and install on your Web server (Apache as a rule, Perl or mod_perl support is required).
Method #2: Proxy Servers
What is proxy?

* Proxy - a server setup designed to offer either firewall security or faster access to cached content normally accessible only through slower connections.
* Proxy server - is the software installed on some network server. The main purpose of this software is to relay traffic between two network hosts (client and server), sometimes this software does some data caching (usually this is performed by HTTP proxies). If your browser is configured to work through the proxy server then all your network traffic will go through that proxy server.

The main purposes of proxy servers:

* Transfer speed improvement (in case of caching proxies). You may use your ISP's proxy to access the internet - usually you have better connection to your ISP's proxy than to other hosts, if this proxy has the resource you requested from the internet you will get a copy of it from proxy (from its cache).
* Security and privacy (for HTTP). Anonymous proxies hide information about your computer in the request headers, so you can safely surf the net and your information will never be used in any way.
* LAN interconnection (or LAN to WAN connection). Sometimes you experience some problems while accessing the server located in the other network (for example in the internet).

There are 3 types of HTTP proxies:

* Fully anonymous (elite or high anonymous) proxies. Such proxies do not change request fields and look like real browser. You real IP is also hidden of course. People that administrating internet servers will think that you are not using any proxies.
* Anonymous proxies also do not show your real IP but change the request fields, so it is very easy to detect that proxy while log analyzing. Nothing really matters, but some server administrators restrict the proxy requests.
* Transparent proxies (not anonymous, simply HTTP) change the request fields, also they transfer real IP. Such proxies are not applicable for security and privacy while surfing on net. You can use them only for network speed improvement.

When Web Proxy Servers are Useful?

* Permitting and restricting client access to the Internet based on the client IP Address.
* Caching documents for internal documents. - Selectively controlling access to the Internet and subnets based on the submitted URL.
* Providing Internet access for companies using private networks.
* Converting data to HTML format so it is readable by a browser.

One can also anonymize one's web surfing by using a proxy server. Proxy servers are similar to the Anonymizer, i.e. web pages are retrieved by the proxy server rather than by the person actually browsing the Web (you). But there are several important distinctions: proxy servers don't help with cookies, hostile applets or code. In most of the cases they do just one thing: they conceal your real geograhic location.

Most of proxy servers restrict access based on the IP Address from which a user connects to them. In other words if you have an account with Bluh-Bluh-Com, you can't use La-Di-Da-Net's proxy server, access will be denied. Fortunately you can always find a "kind-hearted" proxy server on the Net the owners of which openly state that the service is publicly available, or a proxy server that doesn't restrict access that due to whatever reason, but the fact is not known to everyone.

How do you find a "kind-hearted" proxy server? Good news for lazy people: there are many lists of available proxy servers with periodic updates: http://rosinstrument.com/proxy/

For those who are not so lazy: find your own proxy server, it's real easy. Go to your favorite search engine (Google.com for example) and type something like +":8080" +":3128" +":1080" filetype:txt OR filetype:html, and you'll get the list of Web pages where ISPs give complete instructions to their users of how they should configure their browsers. Try every proxy address and after 5 or 7 failures you will surely find a proxy server that works for you. So let's say you have found a proxy, e.g.: some.proxy.com, HTTP port 8080. To make your browser use a proxy server fill out the corresponding fields in Manual Proxy Configuration tab (hope you can find it yourself).
Google

Web rosinstrument.com

Testing proxy lists you have found.

As a rule a quality of proxies from proxy lists you have found by such ways is sufficiently low because of large number of requests to these proxies by many users which have found that lists in search engine, number of professional abusers and robots using these proxies very intensive for network adverising, spamming, flooding forums, bulletin boards, blogs and so on. Number of working proxies from such lists varies from 0.00% to 10-20%. Therefore manual selection of operable proxies is not possible. Fortunately, a few of proxy testing software exists such as our ProxyCheck Java application, Proxyrama for Windows with source code available, Charon for Windows and others. See our Related Links for more examples.

Warnings!

Misconfigured Servers
Often, a PUBLIC proxy server is open because it has not been configured properly. Most of open proxy servers are not supposed to be public. The person that configured the server was not aware of the potential problems and security risks. It is very common to for a novice administrator to set up a proxy with access rights that allow anyone to connect. To close a proxy server it is necessary to force users to connect from one IP Address or a range of IP Addresses. An alternative is to require users to use a user name and password.
'Honey Pots' or 'Honey Proxies'
Everything that is done on or through the open proxy server can be logged and traced. A honey pot is an open proxy server intentionally deployed by security professionals to lure hackers and track their every move. A honey pot can also be installed by a hacker. A hacker can put a proxy server up on his, or a victim's computer and wait for a scanner to find it. Sending spam e-mail trough a honey pot proxy exposes the sender's activity. When a spammer uses the proxy to send bulk email, it is possible to collect the content of the spam and report the spammer to his ISP.
Educational, academic public proxy systems: Planetlab, CoDeeN
The CoDeeN (a suite of network services, including a CDN, that provides users with more robust access to network content) proxies are big, fast, logged and cached proxy servers cluster based on PlanetLab (a global platform for testing and deploying an emerging class of planetary-scale network services) global research network which was founded in 2002 in Princeton, Berkley and now consists of more than 700 nodes located in many educational and research institutions in the world opened for public use. These proxies are often placed in many "anonymous proxy lists" such as "high anonymous" and "elite", HOWEVER everything you do online is thoroughly tracked. As a rule these proxies are configured on 3124,3127,3128,8888 TCP ports. Some limitations for these proxies usage also exist, for example HTTP POST method is disabled.
Security Risks
When you use an open proxy server, your computer is making a direct connection to another computer. You do not know who is in control of the remote computer. If you are using proxy servers from open proxy lists, you could be trusting your email messages, passwords or other sensitive information to a person running the server. Someone can be watching the unencrypted information you are transferring over the network.

Configuring your browser to easy switch between multiple proxy configurations

There are many different software that could be used to set up a proxy for your system. For example small and free SwitchProxy Tool Extension for Mozilla, Firefox, Thunderbird. SwitchProxy lets you manage and switch between multiple proxy configurations quickly and easily. You can also use it as an anonymizer to protect your computer from prying eyes. Text proxy lists in host:port format are very flexible and can be used with most proxy software for Internet Explorer, Mozilla, Firefox, Thunderbird, Opera and other browsers.
Configuring your browser with "Proxy Auto-Config File" proxy.pac
Definition
The proxy auto-config (.pac) file defines how user agents can automatically choose the appropriate access method for fetching a given URL. See Wikipedia article for more detailed description.
Firefox
Go to Tools -> Options -> General -> Connection Settings. Select the option to enter an automatic proxy configuration URL. Enter http://rosinstrument.com/cgi-bin/proxy.pac and click OK twice.
Firefox 2
Go to Tools -> Options -> Advanced -> Network -> Settings. Select the option to enter an automatic proxy configuration URL. Enter http://rosinstrument.com/cgi-bin/proxy.pac and click OK twice.
Internet Explorer
Go to Tools -> Internet Options -> Connections. If you use a dialup connection, select it and click Settings. Otherwise, click LAN Settings. Select the option to use an automatic configuration script. Make sure no other options are selected. Enter http://rosinstrument.com/cgi-bin/proxy.pac and click OK twice.
Configuring your browser manually
FireFox
Tools - Options - General - Connection Settings - Manual proxy configuration - View, and for HTTP and FTP type name of your proxy server (example: proxy.net) and port number (example 3128).
Mozilla, Nestcape Navigator 6.x, Nestcape Navigator 4.x, Netscape Communicator
Edit - Preferences - Category - Advanced - Proxies - Manual proxy configuration - View - Set proxy for following protocols: HTTP, FTP, etc.
Konqueror
Setting - Configure Konqueror... - Proxies - Enable "Use proxy" - Set proxies for HTTP, HTTPS, FTP or other protocols.
Internet Explorer 5.x, 6.x, 7.x, 8.x
Service - Internet Options - Connections - Choose your connection and click "Settings" button for dial-up connection or click "LAN Settings" button in the "Local Area Network (LAN) Settings" group box - Enable "use a proxy server - type proxy name and proxy port - If nessesary, enable/disable "bypass proxy server for local addresses" - OK
Internet Explorer 4.x, Internet Explorer 3.x
View - Internet Options - Connection - mark "Access the Internet using a proxy server". At ADDRESS type name of the server (example: proxy.net) and at PORT type port number (example: 3128), click on advanced button and mark "Use the same proxy server for all protocols".
Opera 8.x, Opera 9.x
Tools - Preferences - Advanced tab - Network - "Proxy servers" button - set Proxy Server address and proxy configuration port - OK.
Mozilla Thunderbird proxy settings
Tools - Options - Advanced - "Offline and Connections Settings" -"Connection Settings" - "Set up Proxies for accessing the Internet" - select radio button for "Manual proxy configuration" - set Proxy Server address and proxy port - OK.
mIRC
Tools - Options - Open Connect - Firewall - in "protocols" combo box select SOCKS4, SOCKS5 or Proxy (for HTTP, HTTPS) - set Proxy Server address and proxy port - OK.
Emule
Options - Proxy tab - enable check box "Enable proxy" - choose the SOCKS4, SOCKS4a, SOCKS5 or HTTP 1.1 - enter "Proxy host" and "Proxy port" - OK.
Kazaa
Tools - Options - "Firewall" tab - select "Use SOCKS5 Proxy Server" - set proxy addres in "Hostname" field and proxy port in "Port" field - OK.
AOL Instant Messenger
"Setup" button - "Connections" button - "Connect using Proxy" box - set Host and Port - select protocol type - OK.
Yahoo Messenger proxy settings
Login menu - Preferences - "Connection" tab - 'Use proxies' - set your proxy address and port - OK.
MSN Messenger
Tools - Options - "Connection" - "Advanced Settings" - set proxy address and port - OK.
Windows Media Player 9.x, 8.x, 7.x
Tools - Options - Network tab - in the Proxy Settings area click protocol you going to configure - select 'Use browser proxy settings' or change this setting to manually configured proxy - OK.

Once you have carried out this simple operation, you can start surfing the Web leaving traces as if you are from Bulgaria, USA, North Korea (that would be fun!) or somewhere else, but ...there is one more very important privacy concern, "Is My Proxy Anonymous?".
Is My Proxy Anonymous?

Not all proxy servers are truly anonymous. Some of them let the system administrator of the site that you visit via a proxy server find out the IP Address from which the proxy server is accessed, i.e. your real IP Address. You can perform an anonymity check test: DETECT PROXY

If you get the message: Proxy server is detected! - then there is a security hole in your proxy, and information about your real IP Address will be listed. If the message is Proxy server is not detected - everything should be OK. In any case, carefully study the list of IP Addresses that is returned by this online tool. None of them should belong to you. You can also use alternative tests to check if your browser is anonymous. Such tests can give a complete list of the parametrs your browser passes to a remote server (this is called Environmental Variables).
Where are these proxies from?

Sometimes is required to determine Country, City or even geographical latitude and longitude to select from proxies list or servers list. Now it possible HERE, due to bulk interface to geoiplookup utility. Paste HERE your public proxies or simply hosts list in simple text format and press "Lookup GeoIP info" button. As a result you'll get your bulk proxies list opposite to corresponding Country, City, Longitude and Latitude and even link to Google Map of this server geographical location.
Test My Proxy Speed

Anonymity and Caching for speedup surfing are priority aims of Proxy servers. But not all proxy servers sufficiently fast for comfortable surfing due to high server load, bad/slow client-server connection and so on. To determine does proxy you have selected have sufficient speed for you CLICK HERE to measure your connection speed twice, first, without proxy configured, second, with proxy configured. If you'll have received sufficiently similar results for measured speed in both cases, so the configured proxy has speed capabilities sufficient for your connection speed. Otherwise try to select and to test another proxy.
Final Considerations

In spite of all of the the above said ... use proxies only when it's necessary. Working via proxy servers slows down data transfer rate and is an additional load on the network and the servers. Another important thing that is often forgotten by many people: use proxies for legal purposes. Hiding you identity is ok (at least in the free world) as long as you want to visit a site that offers, say, pornography. But if you use a proxy server for purchasing CDs or software with a bogus credit card number there is a good chance that you'll end up in prison, let alone the moral aspects. Remeber, all the connections are logged, and if you violate the law you can be tracked down. The site administrator can check the logs and contact the proxy's administrator, he can in turn check his own logs and find your real IP Address, then they both will contact your ISP, and your ISP keeps logs too ... Anyway, I hope you got it.
Specially for paranoiacs

Look, different tools described above can be chained! For example you set up your browser to use Proxy A, and you know the addresses and port numbers of 2 more servers Proxy B and Proxy C. The URL that you type should look something like that: http://proxyB:port/http://proxyC:port/http://www.whereyougo.com/ As the result you go to the site via 3 servers: A,B and C. One of them can be the Anonymizer. WARNING: Not all the proxy servers allow chains like that. Such capabilities exist ONLY for CGI/Web proxies (pay attention to chaining CGI proxy combobox), HTTP proxies with CONNECT capabilities (additional software is required for chaining, usually such software supports both SOCKS and CONNECT proxies, see examples for SOCKS) and SOCKS proxies (such software is required as Prtunnel, Proxyrama and others).
Anonymity and Myths

Anonymity is derived from the greek word ανωνυμία, meaning without a name or name-less. In colloquial use, the term typically refers to a person, and often means that the Ppersonal identity, or personally identifiable information of that person is not known.

The main question is of course, what are you trying to hide? Closely following that is how important is it? The precautions you take have to weigh up to the value of the data you are trying to protect, in this case, you are trying to protect your anonymity. In the recent years privacy and anonymity have become big issues with CCTV cameras everywhere, and projects like Echelon reading all your e-mails and reporting back to the Orwellian ‘Big Brother’. So just for normal surfing, or if you are planning on hacking a foreign governments personnel database (not that we recommend that of course), you need to protect yourself in different ways.

Remember Anonymity is not an absolute, there are varying degrees.

The Myths

Using a proxy I found on the web in my browser is enough.

People have been using proxies for years, normally open proxies found from scanning large IP ranges on the internet, what you have to think though, is this proxy open for a purpose? Is this purpose to listen to what you are doing? To collect your passwords? Also it’s not infallible, remember the traffic has to go from your computer to the proxy, and come back in, those records can be corelated in your country alone and need to external aid. Plus the proxy may keep records of who access what and when, it make be a honeypot and keep full packet logs of all completed TCP/IP sessions. The problem is you just don’t know.

If I chain proxies no one can find me.

Also not true, it doesn’t matter if you cross through Taiwan, Korea, Russia and Iraq, your ISP just needs to see the packets going out and coming in at the right times to your machine from the last proxy hop in your chain.

The Reality

It can be said, pretty much whole heartedly, there is no such thing as real anonymity online, if you do something bad enough, the people in power can find you. IP Spoofing is misunderstood in 9/10 cases and is no protection against anything (I’ll write an article about this later). And web proxies, as above, offer little or no protection. They are good enough if you just want to stop your school/parents/office from tracking your surfing habits, but they won’t protect you from doing time if you commit a federal crime. The next best thing from this is Onion Routing, the common peer to peer implementation known as Tor.

Onion Routing prevents the transport medium from knowing who is communicating with whom — the network knows only that communication is taking place. In addition, the content of the communication is hidden from eavesdroppers up to the point where the traffic leaves the OR network.

Source: Onion Router

Tor is a toolset for a wide range of organizations and people that want to improve their safety and security on the Internet. Using Tor can help you anonymize web browsing and publishing, instant messaging, IRC, SSH, and other applications that use the TCP protocol. Tor also provides a platform on which software developers can build new applications with built-in anonymity, safety, and privacy features.

You can read more at the Tor site, the Wikipedia articles Onion routing and Tor (anonymity network).

Getting Tored Up

For most people Tor is enough, I recommend getting the Tor Bundle, which includes Tor, TorCP and Privoxy. All you need to do is set your applications to use a proxy, host is localhost and port is 8118. Instructions with screenshots are here. Then you’re done, it works for most applications. Just remember though it’s encrypted from your machine to the end point, not from the end point to wherever it’s going, so that Tor node can see whatever traffic you are sending through Tor.. So make sure you encrypt (POPS, SMTP with TLS etc).

The h07 unix research team recognized that people paranoid enough to use tor are still dumb enough to use plaintext-authentication protocols like pop3 and telnet. They might think it’s “secure because tor encrypts it”. This isn’t the case. It’s encrypted, but …… communication from client to entry node and exit node to server will still remain as is. POP3, telnet and others will still be plain-text and thus subject to sniffing.

True Anonymity?

It may not be totally legal, but it’s pretty much bulletproof (Unless of course you get caught in a car parking jacking off to porn downloaded from an open Wireless Access Point). When you do this, you should make sure you are using an anonymous operating system, so what better than a bootable distro especially for this purpose, called Anonym-OS, You can check it out here.

kaos.theory’s Anonym.OS LiveCD is a bootable live cd based on OpenBSD that provides a hardened operating environment whereby all ingress traffic is denied and all egress traffic is automatically and transparently encrypted and/or anonymized.

Using SocksCap client and SOCKS proxy for anonymity in non HTTP applications without build in SOCKS protocol support (telnet, ftp, IRC and so on)

What is SocksCap?
SocksCap automatically enables Windows-based TCP and UDP networking client applications to traverse a SOCKS firewall. SocksCap intercepts the networking calls from WinSock applications and redirects them through the SOCKS server without any modification to the orginal applications or to the operating system software or drivers. It is a great difference in situation with built-in SOCKS support from the years of SocksCap debut. Most network applications now have SOCKS protocol built-in support. Only few of the legacy applications need SocksCap type standalone application for SOCKS servers usage.
Where do I get SocksCap? Is SocksCap free? Is the source code available?
SocksCap now as a matter of fact is out-of-date and not supported software, but there are a lot of SocksCap clones and successors, see Related List for alternate SOCKS capable servers (SS5, Dante, 3Proxy etc.) and clients (Socks5, FreeCap etc.).
What do I enter for SOCKS server and port in SocksCap Setup?
Enter the address and port of the SOCKS server you need to traverse. If you are not sure what those are, contact your ISP, network administrator, or firewall administrator for your site or consult a lists: SOCKS LIST 1, SOCKS LIST 2.

Using HTTPort software and CONNECT/SSL/HTTPS proxy for anonymity for HTTP and non HTTP applications and bypassing of your local HTTP proxy filtering

HTTPort allows you to bypass your HTTP proxy, which is blocking you from the Internet. With HTTPort you may use various Internet software from behind the proxy, ex. e-mail, instant messengers, P2P file sharing, ICQ, News, FTP, IRC, etc. The basic idea is that you set up your Internet software in such a manner, that it connects to your own local PC as if it was the remote server it needed. HTTPort then intercepts that connection and runs it through a tunnel through the proxy.

HTTPort doesn't really care for the proxy as such, it works perfectly with firewalls, transparent accelerators, NATs and basically anything that lets HTTP protocol through. HTTP is the basis for web surfing, so if you can freely surf the web from where you are, HTTPort will bring you the rest of the Internet applications.

HTTPort performs tunneling using one of two modes. The following schemes will give you the idea.

In SSL/CONNECT mode HTTPort can make a tunnel through a proxy all by itself. It requires that the proxy supports a certain HTTP feature, specifically CONNECT HTTP method. Most of the proxies have this method disabled by default, and administrators don't readily enable it, so if you find that this tunneling mode works for you, you must be lucky. SSL/CONNECT mode much faster, but encryption can't be used in this mode and as described here, your proxy tracks all your actions easily.

Remote host method is much more capable for tunneling through just about any proxy. In this mode HTTPort uses a special server software called HTTHost installed somewhere outside of your proxy-blocked network. HTTHost is basically a web server with a twist. When HTTPort is doing tunneling, it sends series of HTTP requests to the HTTHost. The proxy sees it af if you were surfing to some web site, and consciously allows you to. HTTHost in turn performs it's half of tunneling and talks to the target servers. This mode is much slower, but works in most cases, and it features strong data encryption which makes proxy logging useless.
Related

1 comment:

Hartono said...

Waaaahh Saya suka dengan bahasan Anda,,terimakasih n semoga tidak berhenti sampai disini.
Maju terus pengetahuan INDONESIA!!!