Tunna is a set of tool which will wrap and tunnel any TCP communication over HTTP. It can be used to bypass network restrictions in fully firewalled environments.
The web application file must be uploaded on the remote server. Tunna framework can be executed as a proxy server or integrated with the metasploit framework. When executed as a proxy server, communication should be transparent with the client. Tunna has been successfully tested under the following configurations:
The web application file must be uploaded on the remote server. Tunna framework can be executed as a proxy server or integrated with the metasploit framework. When executed as a proxy server, communication should be transparent with the client. Tunna has been successfully tested under the following configurations:
ASP.NET script - Tested on IIS 6+8 (windows server 2003/2012) | |
JSP script - Tested on Apache Tomcat (windows + linux) | |
PHP script - Tested on LAMP + XAMPP + IIS (windows + linux) |
Usage
Tunna consists of 2 parts:
The Webshell that must be uploaded on the remote webserver and the local proxy application.
In order to run the tool, execute the proxy application and instruct it to connect to the webshell and the remote service port.
This will initiate the connection with the remote server and create a port on the local machine for the client application to connect to.
usage():
ruby proxy.rb -u -p -r [options]
or
python proxy.py -u -p -r [options]
-u, --url URL url of the remote webshell
-l, --lport PORT local port of proxy
-r, --rport PORT remote port of service for the webshell to connect to
-q, --ping-interval NUM webshprx pinging thread interval (default = 0.5)
-a, --addr IP address for remote webshell to connect to (default = 127.0.0.1)
-b, --buffer BUFF HTTP request size (some webshels have limitations on the size)
-s, --start-ping start the pinging thread first - some services send data first (SSH)
-v, --verbose verbose output - for debugging purposes
-h, --help Display this screen
Tunna consists of 2 parts:
The Webshell that must be uploaded on the remote webserver and the local proxy application.
In order to run the tool, execute the proxy application and instruct it to connect to the webshell and the remote service port.
This will initiate the connection with the remote server and create a port on the local machine for the client application to connect to.
usage():
ruby proxy.rb -u
or
python proxy.py -u
-u, --url URL url of the remote webshell
-l, --lport PORT local port of proxy
-r, --rport PORT remote port of service for the webshell to connect to
-q, --ping-interval NUM webshprx pinging thread interval (default = 0.5)
-a, --addr IP address for remote webshell to connect to (default = 127.0.0.1)
-b, --buffer BUFF HTTP request size (some webshels have limitations on the size)
-s, --start-ping start the pinging thread first - some services send data first (SSH)
-v, --verbose verbose output - for debugging purposes
-h, --help Display this screen
Example
Execution example:
ruby proxy.rb -u http://www.victim.com/conn.aspx -l 4444 -r 3389 -v
The above command will initiate a connection between the webshell and Remote host’s RDP (3389) service. The local RDP client can connect on localhost port 4444
Eg. (linux): rdesktop localhost:4444
Execution example:
ruby proxy.rb -u http://www.victim.com/conn.aspx -l 4444 -r 3389 -v
The above command will initiate a connection between the webshell and Remote host’s RDP (3389) service. The local RDP client can connect on localhost port 4444
Eg. (linux): rdesktop localhost:4444
0 comments:
Post a Comment