Hay ocasiones en las que al hacer una auditoría, uno se encuentra con que tiene acceso a un servidor a través de la web, pero no a todos sus servicios y mucho menos al resto de equipos de la red interna por encontrarse tras un firewall.
En este caso, y si tenemos la posibilidad de subir un archivo al servidor (en otra ocasión hablaré de esto) se puede subir un archivo "servidor" que hará la redirección.
Este pequeño servidor queda a la espera de que comencemos una conexión. Por lo que utilizando el cliente deveremos realizar una petición de conexión.
java -jar reDuh http://objective-server/uploads/reduh.php 80
De esta manera, se crea una conexión, entre nuestro cliente y el archivo subido al servidor objetivo. Este proceso creado, abre un puerto a la escucha en nuestro equipo, para que nosotros nos conectemos (por defecto el 1010).
Por lo que haciendo...
telnet 127.0.0.1 1010
tendremos una consola con algunas opciones:
[createTunnel]
[usage]
[killReDuh]
Entoces, si utilizamos el comando "[createTunnel]" estaremos realizando una redirección del puerto de un servidor accesible desde el servidor-objetivo a través del puerto http por el que nos hemos conectado al servidor reDuh.
[createTunnel]2906:IPACCESSIBLESERVER:PORTTOREDIRECT
De esta forma, podremos hacer que si solo es accesible un puerto http de un servidor, a través de él, acceder al resto de su red interna, de los puertos de DNS, de los puertos NETBIOS, SSH, ORACLE, MySQL...
Por lo que el paso siguiente es conecarse a nuestra máquina al puerto en el que hemos creado el tunnel.
por ejemplo:
mysql -h 127.0.0.1 -p 3306
otra buena idea es lanzar metasploit contra este puerto y de esta manera lanzarlo hacia la máquina de la red interna objetivo.