Vous êtes sur la page 1sur 5

ReDuH - Tuneles de datos dentro y fuera de redes

La herramietna que voy a presentar a continuacion lleva el nombre de reDuh y le pertenece a


Sensepost. Esta herramienta fue presentada ya hace algunos aos en la conferencia de
BlaCkHaT....Pues vamos a darle una gran presentacin... =)

ReDuh es el realidad una herramienta que se puede utilizar para crear un especie de circuito a travez
del protocolo TCP. Consta de dos piezas de codigo fundamentales. La primera pieza esta hecha con
destino al servidor que vamos a atacar, se encuentran en versiones php, jsp y aspx, la cual se
ejecutar en el servidor comprometido, que puede conectarse a hosts detrs de dicho servidor trivial.
La segunda pieza es un cliente java que sera lanzara desde nuestra central para establecer el tnel.

Una vez que hemos logrado subir el archivo al servidor (victima-trivial).Ahora solo falta hacer una
llamada de activacion por parte del cliente, osea nosotros. La llamada debe ser de la siguiente
forma.

# java -jar reDuhClient.jar http://victima/reDuh.php


Para hacerlo un poco mas sencillo, vamos hacerlo con dibujitos..... ^_^......El siguiente ejemplo voy
a "pedir prestado" de la pagina de los creadores de reDuh"....^_^
Imaginemos que nuestro pequeo amigo tiene acceso al servidor ubunt00.victima.com, de la cual
vamos a subir primero una shell para posterior subir nuestro reDuh (Primera pieza - servidor)

Pero nuestro amiguito quiere tener una conexion RDP (Remote Desktop Protocolo - Es un
protocolo que permite la comunicacin en la ejecucin de una aplicacin entre un terminal y un
servidor Windows.) al servidor term_serv.victima.com, la cual la podemos ver en la web pero se
encuentra detras del firewall....(Problema..??)

Pero como todos sabemos que por el firewall. ( Puerto 80, como pueden observar en la imagen) nos
permite transitar trfico HTTP ......Y como tenemos conocimiento de la famosisima escala OSI (De
la cual fue uno de mis primertos post.) donde nos menciona de que los protocolos pueden trabajan
dualmente... =)
Bueno a continuacion nuestro amiguito va a subir el reDuh en el servidor (victima-trivial)

A continuacion va a tener que correr reDuhClient en su maquina....

# java -jar reDuhClient.jar http://ubunt00.victim.com/uploads/reDuh.jsp

Despues de haber ejecutado el reDuhClient vamos a tener una conexion con el puerto 1010 (por
defecto.)
Una vez logrado esto ya todo se pone muy sencillo...(Aunque fue sencillo lo anterior). Ahora vamos
a crear el tnel, para poder lograrlo vamos a hacerlo la siguiente forma :
[createTunnel]1234:term-serv.victim.com:3289

Pero donde ingresamos eso..??....Sencillo...Supongo que han escuchado de Netcat.

Pues Netcat es una herramienta que nos permite hacer negociaciones TCP/UDP en un HOST,
asociar una shell a un puerto en concreto y forzar conexiones UDP/TCP....Abrimos nuestro Netcat...
=)

$ ncat term-serv.victim.com 1010

Despues de que se haya ejecutado la peticin, creamos nuestro tnel :

[createTunnel]1234:term-serv.victim.com:3289

Hasta este punto ya tenemos un tnel entre nuestro puerto 1234 y el puerto 3289 de nuestra vctima.
Para conseguir a nuestra verdadera victima vamos a conectar nuestro cliente de SSH favorito a
nuestro puerto local 1234 y todo el trafico va a ser de una cierta forma encapsulado por el prococolo
HTTP (Mencione anteriormente que los protocolos pueden trabajan dualmente).En la imagen
posterior podemos observar el libre transito de trafico de TCP entre ubunt00.victim.com y
term-serv.victim.com.
Para finalizar vamos hacer unas pequeas conclusiones :

Detras de todo esto que ocurre realemente..???

ReDuh primero empieza a escuchar por el puerto 1234 y envia un mensaje HTTP a
/uploads/reDuh.jsp, que abre un socket a term-serv.victim.com:3380 (La funciones de envio
de socket es innato tambien de netcat.)
Todo el trafico enviado localmente por el puerto 1234 se codifica y envuelto en la peticin
HTTPS(camuflado) y se enva a /uploads/reDuh.jsp
Todo el trfico de term-serv.victim.com:3380 a la JSP, es enviado a una cola donde espera ,
para posteriormente ser enviado de nuevo a reDhClient cuando este lo solicite.

Vous aimerez peut-être aussi