Chisel Port Forward

by Vince
in Blog
Hits: 12071

From the description:  "Chisel is a fast TCP tunnel, transported over HTTP, secured via SSH. Single executable including both client and server."

What I like about this tool is that it's a single binary that supports both client and server while also being multi-platform.  What I don't like is that it seems to be very particular about the syntax ordering.  That being said, this is a tool in my toolbox for that very special need.  For example, we know there's a web server at the following address but when we perform an Nmap scan, we don't see it:



On the server itself, when we browse to our local port 443, we find the following:


This isn't too much different than using SSH to port forward but again, this a single binary we can move to our target.  We bring up the client and we point it to our attacking machine:   192.168.86.99:9999

We then setup a forward from our victim's local 443 to our attacking machine's port 443.


On our server side, we're listening on port 9999 and we're going to setup a reverse port forward:


When the connection is established, we browse from our attacking machine and we're connected to the web server on the victim machine:


We can also add authentication into the mix with an auth flag and a username:password --


On the server side, we setup the connection with the username:password --


One final point worth noting -- we can setup the client prior to setting up the server.  The client will exponentially attempt to connect:


When we get around to setting up our server, we get a successful connection:


There's much more to it than that but for a basic port forward, it works quite well.