SSH Tunnels: Bypass (Almost) Any Firewall

[ Saturday, 19 August 2006, pazkooda ]

The goal of this article is to present a few effective methods to revamp the way you work in a restricted corporation-like network. In order to achieve it we’re going to use SSH tunneling to bypass the firewall rules applied by your system administrator. We’ll start with breaking through simple restrictions and gradually pass to more and more elaborate firewalls while we move on.

Author: Lukasz Usowicz
Translation: Lukasz Usowicz, Borys Musielak

Important note: It’s not our goal to encourage you to illegally bypass any restrictions set by the administrators of your network. We present a technology which is often helpful when working on a machine behind a firewall. If you are willing to use some tricks presented here to break through your company’s firewall, you have to understand that it may not be allowed in your corporation and you risk getting sacked. We take no responsibility for your actions. You’ve been warned.

This article is a continuation of a previous text: SSH tricks published in our vortal last month. The spirit of this article is a little bit different, though. It targets more experienced users, especially those who have to work in computer networks with harsh security rules. To make it clear - using SSH to tunnel insecure protocols like FTP or CVS is not in the scope. Perhaps another SSH article will cover this.

Preparation

Here are a few things that you need to know or prepare in order to benefit from this article.

  • Basic SSH and Linux knowledge (which can be obtained from the article mentioned above).
  • A local workstation (in a restricted network) with GNU/Linux installed.
  • A remote Linux machine, with a public IP address (let’s assume it’s static to simplify the situation).
  • Patience and no fear to use the command line.

For simplicity reasons, throughout this text we’re going to use some default names. The workstation which is located in a restricted network eg. on our desk at work (the one we are going to revamp) will be called LOCAL_HOST. The second one should be outside the restricted network eg. at our house and will be called REMOTE_HOST. Let’s assume that on the home workstation there is a user named user and on the work machine there is a user worker. On the REMOTE_HOST with a public, static IP an SSH server is installed. Although all the solutions presented in this article can be applied in any GNU/Linux distribution or even in MS Windows to make it simpler, we will consider a Debian-like system only.

If you don’t have the SSH server installed and running, open up a terminal and type (as root or using sudo) the following command:

REMOTE_HOST:~# aptitude install openssh-server

The server should start automatically after being installed (as well as on system start-up). We should also check whether we’re not blocking the port 22 on our firewall (and open it if we do). We should also note down our IP address (we’ll call it IP_NUMBER in text; try /sbin/ifconfig command to figure it out).

All right, let’s leave our home computer (REMOTE_HOST) now on and go visit our office. First, we need to analyze our network restrictions. Sounds serious but don’t worry - I’m not going to mess with network sniffers and other types of hacker tools. We are going to simply try to connect to some outside networks and depending on the level of restrictions we’ll see whether we fail or not. Looks good? Let’s start then.

Creating a simple tunnel

At the beginning let’s assume that SSH connections are not blocked, but we can receive e-mails only from our local office account. This means that ports 25 and 110 (SMTP and POP) are open only for our local network. But what if we want to be able to receive mail from external servers (EXT_POP_SVR) and send it using external accounts as well (EXT_SMTP_SVR)? Here is where the tunnels enter the stage. We just need to add a parameter while connecting to the REMOTE_HOST via SSH. So, we’re digging the tunnel from our work machine to home with the following command:

worker@LOCAL_HOST:~$ ssh user@IP_NUMBER \\
-L 10025:EXT_SMTP_SVR:25 -L 10110:EXT_POP_SVR:110

Let’s try to decode this. The option -L can be read as “listen on local host”. After a space bar we put the port on which SSH has to listen (in our case respectively 10025 and 10110, but it’s just an example; we can choose different ones but in order to tunnel ports with numbers lower than 1024 we need root privileges). After first colon we point where our REMOTE_HOST should forward the connection. After second colon we state on which port the final server/computer awaits our connection. I emphasize that just after the first colon we give an address relative to REMOTE_HOST. If we want to connect via tunnel with REMOTE_HOST on port 25 (and not further than there) we should use something like:

worker@LOCAL_HOST:~$ ssh user@IP_NUMBER -L 10025:localhost:25

The relation between REMOTE_HOST and… REMOTE_HOST is the following: this is the very same host ;), so it’s localhost for itself.

Let’s get back to our tunnels. We can now configure an e-mail client to connect to an external server. As we’ve mentioned earlier, our LOCAL_HOST listening on port 10025 is now “EXT_SMTP_SVR server listening on port 25”. By analogy, we can say that localhost:10110 is an EXT_POP_SVR:110. In our e-mail client we shall set an incoming server to localhost and port to 10110 - SSH will carry on further communication. Naturally, localhost set on LOCAL_HOST will point to itself. And again by analogy outgoing server should be set to localhost and port to 10025.

In this quite simple (I hope!) way we can bypass not very complex restrictions only. But our network administrator is not sleeping so…

Note that you don’t have to use your IP_NUMBER all the time. If you want to use REMOTE_HOST by its name you need to put a line like this

IP_NUMBER REMOTE_HOST

to your /etc/hosts file (on the machine at work), so that your work machine translates the REMOTE_HOST to IP_NUMBER on the fly. You don’t need to do this only if the REMOTE_HOST is a domain name (or if you’re fine with using your IP_NUMBER all the time). In this text we use IP_NUMBER nevertheless.

Let’s swing into a higher gear

Our present situation has changed. It seems that somebody in our work abuses usage of WWW. Access via HTTP has been cut to the minimum allowed by the boss. Right now we are not interested in how it has been done. Port 22 is still open, but we can’t say the same about port 80 (responsible for HTTP communication). Now when we know how the tunnels work, this is not a big problem for us.

It seems impossible but even the Google search has been blocked. So, to solve this unfortunate situation, we sit down and log onto our REMOTE_HOST like that:

worker@LOCAL_HOST:~$ ssh user@IP_NUMBER \\
-L 10080:www.google.com:80

Just a few clicks in Firefox: Edit -> Preferences -> Connection Settings -> Manual proxy configuration. Here we can put in the HTTP proxy server field: localhost and 10080 for port. If there has been some other values in those fields, we shall write them down. We may need to use them later on. I’ll call those extra settings PROXY_SVR and PROXY_PORT.

Now, we can type http://www.google.com in the address bar and… hip hip hooray – the WWW is wide open again. Don’t be so happy though. Try http://www.altavista.com. And what you’ve got – Google search again. Well, what else can we expect if we’re forwarding all traffic to www.google.com via SSH! To visit AltaVista we should reconnect again with:

worker@LOCAL_HOST:~$ ssh user@IP_NUMBER \\
-L 10080:www.altavista.com:80

This is rather a pretty non-effective way to work with the Internet, don’t you think?

SSH as a proxy

In this situation let’s look into the SSH manual and find a parameter -D. As we can read there, SSH can act as a (specific) proxy server. This is a SOCKS-type (pseudo)server. We won’t be concerned how it works, just remember the name. Type the following in your text terminal:

worker@LOCAL_HOST:~$ ssh user@IP_NUMBER -D 8080

From now on, SSH listens on port 8080. Looking back into Firefox’s proxy settings we can find a SOCKS Host field. There we put localhost and port 8080 (server type should be set to 5). Don’t forget to remove the previous entries in HTTP Proxy that we’ve set earlier. And what we’ve got? Well, now SSH will intercept everything on this port and dynamically open a tunnel (via REMOTE_HOST) to the final target typed in the Firefox address bar. From now on we can surf over the whole Internet! Vualla!

Putting on transparent socks

There is one little issue. And you know what? I think that Opera users will rise it first. That’s because currently Opera does NOT support SOCKS. I’m an Opera user too and I can’t understand that, just like you ;). This is the right time and place to introduce one of the SSH friends: tsock (abbr. transparent SOCKS). Yet again we won’t look deeper in how SOCKS server works but with tsocks we’re going to use some of its features instead. We’ll need root account privilege on LOCAL_HOST to do this. This is not always available but here it’s required. Let’s install tsocks (again on Debian):

LOCAL_HOST:~# aptitude install tsocks

Assuming that SSH still listens on port 8080 as a proxy, we should perform the following steps:

  • edit tsocks configuration file /etc/tsocks.conf,
  • find an option called local and put there our local network(s) address(es) eg.
    local = 192.168.0.*
    local = 10.0.0.0/255.255.255.0
  • if we want to create a custom path, we can do this with the option path, I’ll omit this part for now,
  • here is the most important thing: options server and server_port. We’ve got to set them to our proxy server. In our example it will look like this:
    server = localhost
    server_port = 8080
  • we should also set SOCKS server type; set it to server_type = 5 and don’t ask me why ;)

It’s time to put those socks on. We can do this as a normal user. Again in a terminal:

worker@LOCAL_HOST:~$ tsocks opera

Here tsocks are used to run Opera. But it will also intercept all network queries generated by the browser and forward them directly to the SOCKS server (except for the local network queries). Our proxy server (ie. SSH) will then forward those queries further on to REMOTE_HOST. All in all, Opera will act as if it has been run in the REMOTE_HOST environment. This way, the browser won’t be vulnerable on any network restrictions. If REMOTE_HOST is connected directly to the Internet, Opera should also be configured as Directly connected. The whole “dirty job” is done by the tsocks+SSH tandem. In fact we can run practically any net application with tsocks program_name.

That’s how we’ve met first good SSH friend, but…

We’re in trouble now…

… just because our admin closed port 22. Loser! Well, we need to adjust to the new environment now. First, we should find a port which is usually open. Let’s try the one responsible for secure web pages (SSL connections) which is usually left open in all networks. Its number is 443. As there is no possibility to change anything remotely for now, we need to go back home. Sitting in front of our REMOTE_HOST as root we need to edit /etc/ssh/sshd_config file. Find the place with entry Port 22 and put Port 443 just below. All we have to do now is to restart SSH server with:

REMOTE_HOST:~# /etc/init.d/ssh restart

Sample command to connect to REMOTE_HOST from LOCAL_HOST in the present situation may look like that:

worker@LOCAL_HOST:~$ ssh -p 443 user@REMOTE_HOST -D 8080 \\
-L 10025:smtp.gmail.com:25 -L 10110:pop.gmail.com:110

As you can see, option -p 443 is a proper switch to force SSH to use a non-default port for a connection. And again we are “free as a bird”.

Battle continues with a corkscrew

Oh, no! Our network administrator got really furious now. “It’s time to finish these abuses” – he said. But he was not allowed to block all HTTPS traffic (fortunately!). So he figured out that the best thing in this situation is to control all traffic with an HTTP proxy server. He has set it up to listen on port 3128 and opened this port to connect only to a proxy server (naturally port 443 has been blocked). Outside connections on port 3128 are blocked too. Is there any way to bypass this? Well, try to remind some settings you’ve written down earlier: PROXY_SVR, PROXY_PORT. We’ll assume now that these values point to admins’ proxy server (here PROXY_PORT = 3128). We need to find a proper tool to use these values. Let’s look into our repositories:

worker@REMOTE_HOST:~$ apt-cache search proxy ssh tunnel

Among the results we should probably see a corkscrew app. Quick installation:

REMOTE_HOST:~# aptitude install corkscrew

Corkscrew manual reveals an easy way to “teleport” SSH to the other side of the HTTP proxy. To generate such a “hoop” we need to know which types of connections are passed directly through the proxy. All encrypted connections usually fulfill this condition. That’s why we again concentrate on HTTPS (port 443). To force SSH skip the proxy we should edit ~/.ssh/config and add the entry shown below:

Host IP_NUMBER
ProtocolKeepAlives 30
ProxyCommand /usr/bin/corkscrew PROXY_SRV \
PROXY_PORT IP_NUMBER 443

Having such settings we should be able to connect to REMOTE_HOST again with:

worker@LOCAL_HOST:~# ssh -p 443 user@IP_NUMBER

All those switches like -L and -D still work, so we can use them in a suitable way for us. So please welcome another good friend of SSHcorkscrew.

Once again we can feel the breath of freedom, but …

And so on, and so on

We could continue our speculations further and further. A well-prepared administrator will find a way to block all methods shown above. But one truth is uncontested: if there is any hole in a restricted network, it automatically becomes a wide open window to the whole world. Here we talked only about the HTTPS protocol abuse and a HTTP proxy. But there are other environments and protocols we could possibly use.

Post Scriptum

  • There is another useful option for SSH. It’s -C which compresses all traffic on-the-fly. It’s especially useful while using corkscrew.
  • I haven’t mentioned the reverse tunnels (option -R), but they are very useful as well.
  • Another method to efficiently bypass restrictions when we don’t have root access on LOCAL_HOST is (our) proxy server installed on REMOTE_HOST
  • As I’ve mentioned in the beginning, SSH is widely used to secure “plain text” protocols, too.
  • If you have the knowledge and would like to describe the above issues precisely for this vortal, feel free to contact michuk, I’m sure he’ll be very pleased with that :)


Appendix (for the tenacious ones): using httptunnel

The above text is an almost-direct translation from the original. But I’ve got something special for those who are not bored (or confused) with all those tunnels, yet. So, let’s met the…

Absolutely extreme conditions

Here I need to be more precise. Imagine that the traffic in our network is allowed only via port 3128 and only to one specific IP number which points to a proxy server. What’s more, the proxy doesn’t allow for http_connect (i.e. forwarding encrypted protocols). This excludes the usage of corkscrew. And to make it even harder, the firewall blocks all packages that don’t have an HTTP header. Conditions described above mean no more than that we are only allowed to view “classical” web pages and only with a proxy. What shall we do to bypass such restrictions? To effectively overcome this “not so fortunate” situation, we’ll still need SSH. But this time SSH is going to have a special carrier to bypass the proxy. This carrier needs to have an HTTP header to do its job. You can probably figure out the name of this third SSH friend – yes, it’s an httptunnel. Installation is needed on both hosts (LOCAL_HOST and REMOTE_HOST) and as you’ve noticed earlier, in Debian this is as simple as:

REMOTE/LOCAL_HOST:~# aptitude install httptunnel

The application contains both an httptunnel server (hts) and an httptunnel client (htc). I encourage you to take a look at the manual to see how it works in detail, but the usage is very similar to SSH tunneling. On the REMOTE_HOST we need to run the server side of the application. The server is responsible for deciding where the connections should be forwarded. If we want to tunnel the connection to REMOTE_HOST we simply point it by using localhost.

In our example we only want to forward all connections to an SSH server running on REMOTE_HOST. To accomplish this task, the httptunnel server should be started as follows:

REMOTE_HOST:~# hts -F localhost:22 80

A word of explanation: -F localhost:22 means that each connection is going to be forwarded to REMOTE_HOST’s port 22 (i.e to an SSH server on REMOTE_HOST). And 80 is the port on which hts should await our connections from the outside (just remember to open it on the firewall and/or stop any other services that may be running and listening on this port).

The appropriate command to connect to hts on REMOTE_HOST from LOCAL_HOST using the proxy is:

worker@LOCAL_HOST:~$ htc -P PROXY_SVR:PROXY_PORT \\
-F 10022 IP_NUMBER:80

From now on, LOCAL_HOST listening on port 10022 should forward all connections to port 22 on REMOTE_HOST. To establish a desired SSH connection we can type:

worker@LOCAL_HOST:~$ ssh -p 10022 user@localhost -C -D 8080 \\
-L 13389:somewhere.else.com:3389 -L \\
13306:here.or.there.net:3306

Although this is a double-tunneled connection and may be a little bit slower than a direct one, it allows us to navigate all over the net, not only to the addresses set by the administrator. And you know what? We are free again!

I just hope that each of you won’t need to apply all of those tricks in real conditions. But… some day, somewhere… it may even save your life :)

Subscribe to RSS feed for this article! | Trackback URI

48 Comments

fold this thread TripleII  Tuesday, 22 August 2006 o godz. 5:52 am #  Add karma Subtract karma  +2

There are some good tricks, however, if you do this at work, using SSH to bypass your corporate IT rules is a good way to get a lot more time to play with Linux when you find yourself out of a job. At my work, they monitor for SSH outbound connections.

Ask before you try this, the rules may not make sense, but they pay your salary, follow their rules.

TripleII

 
fold this thread michuk  Tuesday, 22 August 2006 o godz. 10:20 am #  Add karma Subtract karma  +3

It’s just an example of usage. You can use those tricks in any restricted network, i.e. at home if you have a provider firewall or proxy. Of course you should think twice before applying any of these tricks at work. It’s not illegal of course but it can make an admin pretty angry as well :)

PS. I added a warning at the beginning of the article, nevertheless.

 
fold this thread Patriot  Wednesday, 23 August 2006 o godz. 1:36 am #  Add karma Subtract karma  --33

You should follow the rules. We’re fighting a war on terror, and giving out those tips to bypass security in corporate environments can be used by terrorists. You could be responsible for the next attack of America.

Think about it…

God bless you all
Jesus Christ saves

fold this thread anonymous_jim  Saturday, 8 September 2007 o godz. 3:12 pm #  Add karma Subtract karma  +7

You should get a clue.
We’re fighting for people’s lives, and without this kind of knowledge governments imprison, torture and kill normal people like you and me because of overzealous censorship. You could be responsible for the oppression of millions.

Think about it…

God doesn’t exist
Reason is king

 
fold this thread Not Really  Wednesday, 14 November 2007 o godz. 9:42 pm #  Add karma Subtract karma  +3

You’re joking right? Please tell me your joking and not really that stupid. . . or paranoid. I’d worry more about our own govenrment than “terrorists”.

http://www.betanews.com/article/Whistleblower_ATT_Maintained_a_Secret_Room_for_the_NSA/1194558737

 
 
fold this thread dr0p  Wednesday, 23 August 2006 o godz. 1:45 am #  Add karma Subtract karma  +0

If only everyone could have a unix machine at work! There is a good tutorial I found here: http://www.freebsd.org/tutorials/freebsd/ssh-tunnel-with-tinyproxy.php that is about tunneling from XP, its very simple.

 
fold this thread KAB3WM  Wednesday, 23 August 2006 o godz. 1:52 am #  Add karma Subtract karma  +2

@ Patriot:

Are you serious??? We probably shouldn’t give people forks or knives either.. they could be terrorists and end up stabbing people in the face. SSH Tunneling has more uses than just bypassing work firewalls. I do it every time I’m on a public wireless hotspot.

 
fold this thread Real Patriot  Wednesday, 23 August 2006 o godz. 1:57 am #  Add karma Subtract karma  +6

@Patriot

Give me a damn break,oh jesus Home Depot sells screwdrivers and boxcutter!!!!! They could be responsible for the next terrorist attack!!

Knowledge isnt the source of terrorist attacks…ignorance is.

Have a nice day.

 
fold this thread p  Wednesday, 23 August 2006 o godz. 2:07 am #  Add karma Subtract karma  +0

Nice story, but this sure one way to tick an admin off in a heart beat…. It not enought you have to worry about people coming in but now your smart programmers or tech making their way out.

 
fold this thread dd_tech  Wednesday, 23 August 2006 o godz. 2:12 am #  Add karma Subtract karma  +0

You can also use putty in XP to setup your tunnel to an linux box. You can also turn on compression using ssh version2 (-C option) and maybe squeeze a little more speed outta it. I used to do this over a 28.8 dialup link to speed things up a little. Ran squid on a linux box at work and tunneled in from home over dial up.

 
fold this thread IT_Dude  Wednesday, 23 August 2006 o godz. 2:54 am #  Add karma Subtract karma  +0

The IT administrator can, with a small amount of effort, find the abnormal behavior and block it. Almost any firewall logs every connection made, and most log connection stats like bytes transferred and duration of connection. Some ways to find odd behavior:

- Run reports on older connections looking for destination port 22, this will get a list of ssh servers likely to be accessed. Next, run a report of all traffic to those IP addresses in recent logs.

- Run a report showing “top talkers” by bytes transferred. If the user is tunneling through a connection, it will quickly grow to an unusually large connection compared to all the normal usage.

- Once a user has demonstrated attempts to circumvent the firewall, run daily reports on his/her user-id and source IP address.

Then, e-mail to the user, cc’ing the boss, a copy of the corporate Internet access policy along with a log summary of the violations.

My point is that it’s relatively easy to track down problematic users. If the admin is that serious about blocking your access, he won’t look kindly on attempts to circumvent it.

fold this thread Not Really  Wednesday, 14 November 2007 o godz. 9:39 pm #  Add karma Subtract karma  +0

I doubt you’d have much luck checking top talkers. SSH being tunneled over HTTP ports would generate less traffic than a normal HTTP session.

 
 
fold this thread Scott  Wednesday, 23 August 2006 o godz. 3:46 am #  Add karma Subtract karma  +0

You can do this with Windows boxes instead of linux as well. CopSSH or cygwin should do the trick, and httptunnel is available as a windows binary also.

 
fold this thread solidz  Wednesday, 23 August 2006 o godz. 3:53 am #  Add karma Subtract karma  +0

good tutorial, as mentioned this is very useful when using unsecure connections such as public wi-fi to protect your data from interception.

 
fold this thread Phantom  Wednesday, 23 August 2006 o godz. 4:07 am #  Add karma Subtract karma  +0

@Patriot

I’m sure terrorists already know that they can encrypt information on the internet. Besides, this article is about breaking out of corporate firewalls. A terrorist could just use a normal cable/dsl/dialup connection and not have to deal with a firewall.

 
fold this thread Monoto  Wednesday, 23 August 2006 o godz. 5:01 am #  Add karma Subtract karma  +0

Thanks a mil! It’s great to finally find all this info in one place instead of having to scour a dozen guides to SSH and try and figure out what info I need and what I don’t.

 
fold this thread BVK Chaitanya  Wednesday, 23 August 2006 o godz. 6:08 am #  Add karma Subtract karma  +0

Thanks a lot. Very very useful.

 
fold this thread publicknowledge  Wednesday, 23 August 2006 o godz. 7:17 am #  Add karma Subtract karma  +0

here’s a tutorial for SSH tunnel remote access http://publicknowledge.blogspot.com/

 
fold this thread matt  Wednesday, 23 August 2006 o godz. 8:30 am #  Add karma Subtract karma  --1

All of this is common, and easily found in the man pages. SSH has had this functionality for years.

Also, chances are if you work some where that your workstation station is linux/unix, you’ll probably know about SSH and that it can do port forwarding and SOCKS based proxy.

if you are looking for info on how to do this from a windows box, download putty and look under SSL->Tunnels.
Just look at the man pages for how to use -D and -L, it is pretty self explanitory.

 
fold this thread rmacarthur  Wednesday, 23 August 2006 o godz. 10:18 am #  Add karma Subtract karma  +0

Awesome article, Bravo!

Yes this information is available in the manuals but examples like this are always welcome in my book!

 
fold this thread Gilou  Wednesday, 23 August 2006 o godz. 12:03 pm #  Add karma Subtract karma  +0

And even if you don’t have any access to the net, you may have DNS activated… So you could use iodined to get a virtual network interface over DNS… Check it out at http://code.kryo.se/iodine/

In fact, you can bypass your firewall without so many tunnels / socks. Just have one tunnel to the TCP port of any VPN application and have your server NATing for you. vtund can be set up in 2 minutes. Really : worth it ;)

 
fold this thread SuperTom  Wednesday, 23 August 2006 o godz. 3:43 pm #  Add karma Subtract karma  +0

Well written, well organized article. I will share it with my students!

 
fold this thread Hushpuppy  Wednesday, 23 August 2006 o godz. 5:03 pm #  Add karma Subtract karma  +0

Nice. I’ve been looking for information like this. I like how you take us from simple to complex. Helps to understand the various scenarios. Thanks!

 
fold this thread abcd  Wednesday, 23 August 2006 o godz. 10:16 pm #  Add karma Subtract karma  +0

proxytunnel imho is better than corkscrew for tunneling ssh over an http proxy

 
fold this thread rmacarthur  Thursday, 24 August 2006 o godz. 7:38 am #  Add karma Subtract karma  +0

Gilou Says:
August 23rd, 2006 at 12:03 pm

In fact, you can bypass your firewall without so many tunnels / socks. Just have one tunnel to the TCP port of any VPN application and have your server NATing for you. vtund can be set up in 2 minutes. Really : worth it ;)

“Imagine that the traffic in our network is allowed only via port 3128 and only to one specific IP number which points to a proxy server.”

In the situation the autor provides, how do you plan to set up a tunnel to the TCP port of any VPN application and have your *server* do NAT for you?

 
fold this thread hacksafe  Thursday, 24 August 2006 o godz. 8:40 am #  Add karma Subtract karma  +0

There are many many more ways to bypass corporate firewall and proxy filters, and most of them don’t involve running your own server on the outside.

Check out http://your-freedom.net

Then read up on TCPoverCGI and other goodies at http://zensur.freerk.com

 
fold this thread Homer  Friday, 25 August 2006 o godz. 7:20 pm #  Add karma Subtract karma  +0

Strange that so many folks know about proxies, yet no one mentioned tor.

 
fold this thread Cav3ira  Sunday, 3 September 2006 o godz. 9:25 pm #  Add karma Subtract karma  +0

Why not just use the TOR?

 
fold this thread T-zee  Monday, 25 September 2006 o godz. 3:05 am #  Add karma Subtract karma  +0

worker@LOCAL_HOST:~$ htc -P PROXY_SVR:PROXY_PORT \
-F 10022 IP_NUMBER:80

what is the proxy_server ? :/
at work we are stock behind port 80 only wich is monitored by a proxy that can actually analyse packet to determine if they really are http. however it does that, I think im missing something on my configuration…

first I start the httptunnel server this way (I’m using a window version of everything…)

~#> Hts -F localhost:22 80

then connect fomr work to home

~#> Htc -F 1234 homeip:80

then try to ssh onto my winssh server

~#> tunnelier, localhost:1234

This setup works fine when I try outside of my work. so for some reason the double tunnel is created and is working, well imo.

If you noticed I didn’t make use of the _p on the http client or the -D option on SSH. I have no clue if that change anything..

all I want is be able to do a ssh connection to tunnel all my traffic and use my proxy at home to surf the net, and of course download files like mp3 off my computer at home. and well, be free again! irc miss me.

I’m french…

I didn’t want to do a long post so I hope there is enought explanation and that someone smarter then me is able to guide me…

im using winsshd 4.19 and tunnelier for the ssh connection. (putty could be used.) and win32 binary for gnu httptunnel..

thanks.

T-zee

 
fold this thread T-zee  Monday, 25 September 2006 o godz. 3:07 am #  Add karma Subtract karma  +0

PS:
forgot to mention, I know this is all about linux, but I have no clue where to go to seek help so I post whatever place I find, and it might not be a window thing more like a setting thing. (what should be put on PROXY_SVR?? and - PROXY_PORT=80? bah anyways. any help would be appreciated.

T-zee

 
fold this thread zillah  Tuesday, 14 November 2006 o godz. 4:57 pm #  Add karma Subtract karma  +0

This means that ports 25 and 110 (SMTP and POP) are open only for our local network

What will be the case if it exchange server ?

But what if we want to be able to receive mail from external servers (EXT_POP_SVR) and send it using external accounts as well (EXT_SMTP_SVR)?

I could not figure out why do I need to receive mails from external servers and send it using external accounts as well ?

Any insight ?

Regards

 
fold this thread michuk  Tuesday, 14 November 2006 o godz. 6:53 pm #  Add karma Subtract karma  +0

I could not figure out why do I need to receive mails from external servers and send it using external accounts as well ?

Then you probably don’t need to do it :) It’s helpful if you want to use a e-mail client like Thunderbird to fetch/send e-mails from an external account (like Yahoo or GMail).

 
fold this thread nick  Monday, 22 January 2007 o godz. 4:41 pm #  Add karma Subtract karma  +0

Couple of interesting ones I’ve used are -

http://www.htthost.com/ - HTTPort (tunnels through proxies and firewalls, good for surfing) - old - used to be usable, but pretty slow and unreliable these days.

http://www.artofping.com/ - PingFu (tunnels through proxies and firewalls specially for gaming/IM etc.) - new and in beta - seems to work much better than the ones Ive tried over the years including hopster, socks2http etc.

It makes sense to use a commercial program - you get speed, and pay for the convenience of not running your own servers.

 
fold this thread IRC @work « checksum.org  Thursday, 15 February 2007 o godz. 4:31 pm #  Add karma Subtract karma  +0

[...] Sometimes it’s handy for developers to connect to IRC from work. Since this isn’t a standard option your system administrator enables for you at work you might be able to do this yourself. There are already some good tutorials on this subject. Most of them will tell you how to establish this using a home pc in combination with ssh tunneling. [...]

 
fold this thread sf  Friday, 30 March 2007 o godz. 8:52 pm #  Add karma Subtract karma  +0

The admin blocked my IP, destination IP, ports, my MAC, connections on mostly all ports, nothing worked. At last, he partially won by removing 30 meters of ethernet wire through 3 rooms, connecting my computer with the outside world. I spent the remaining time reading books brought on pendrive.

 
fold this thread sf  Friday, 30 March 2007 o godz. 8:59 pm #  Add karma Subtract karma  --1

re: Tor tunnels

They are great at anonymizing but blocking Tor on firewall is quite easy. Blocking httptunnel not so.

 
fold this thread trung  Monday, 30 April 2007 o godz. 1:35 am #  Add karma Subtract karma  +0

Can ssh used to hide the client IP? like how Tor does it?

 
fold this thread gerry  Sunday, 19 August 2007 o godz. 2:27 pm #  Add karma Subtract karma  +2

i dont care if its legal or not or if its business ethical or not .. what it does do is give me food for thought… and for that i thank you…

 
fold this thread BeginneR  Sunday, 9 September 2007 o godz. 11:49 am #  Add karma Subtract karma  +0

Nice article! These tricks are of great benefit to me.
Thank you.

 
fold this thread polishlinux.org » SSH with Putty  Tuesday, 16 October 2007 o godz. 1:00 am #  Add karma Subtract karma  +0

[...] PuTTY, we gain all the possibilities described in the article SSH Tunnels: Bypass (Almost) Any Firewall and several others, but without the necessity of using long and complicated commands at the [...]

 
fold this thread ssh notes « sonia hamilton - life on the digital bikepath  Tuesday, 30 October 2007 o godz. 5:15 am #  Add karma Subtract karma  +0

[...] tricks from this article: $ ssh user@intermediate-server -D 8080 # setup a pseudo socks server; point socks-able apps at [...]

 
fold this thread Pik Master  Monday, 3 December 2007 o godz. 2:30 pm #  Add karma Subtract karma  +0

tsocks on my Ubuntu 7.10 need to have numerical IP addresses instead of names. When I had:
server = localhost
in my /etc/tsocks.conf I got the warning message:

The SOCKS server (localhost) listed in the configuration file which needs to be used for this connection is invalid

I changed it to:
server = 127.0.0.1
and it works. Maybe –disable-hostnames was given at compile time.
BTW. - very nice article, thanks.

 
fold this thread Great hurricane katrina photograph  Tuesday, 18 December 2007 o godz. 7:29 pm #  Add karma Subtract karma  --1

Recent events shine odd light…

WASHINGTON - Apparently, a penchant for massages is the one thing that President Bush cannot abide in an underling….

 
fold this thread IanicBrisson  Saturday, 19 January 2008 o godz. 4:18 am #