13 enero 2010

Tunelizando DNS, otra opción con iodine 0.5.x


Otra herramienta para llevar a cabo tuneles DNS, además de OzymanDNS, DNS2TCP (comentada en SbD el año pasado), NSTX o DNScat es iodine, que actualmente se encuentra en su versión 0.5.2 (0.5.1 para windows).

Este tipo de aplicaciones son útiles en las que deseamos ocultar el tráfico o se desea saltar las restricciones de un firewall, como en el caso de los hotspots wireless de hoteles, aeropuertos y otros malos lugares que se enriquecen con precios de a €uro el byte.

Para el primero de los casos hay túneles más eficaces que nos proveerán de mejor rendimiento y mayores prestaciones, pero para el segundo, esta es posiblemente la única opción.

Iodine funciona de forma portable y no requiere ningún módulo adicional. Además de es compatible con Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, Windows e incluso la plataforma móvil Android. Otra ventaja es que tiene un sistema de autenticación para que nadie pueda conectarse si no conoce la contraseña.

La aplicación se compone de un cliente y un servidor siendo ambos necesarios para poder crear el tunel. El cliente es la utilidad que se instala donde se desea saltar u ocultar la información y la parte servidor se ha de alojar en un sistema que se pueda configurar como servidor DNS.

Lo más "complicado" es configurar la parte servidor, ya que requiere que se disponga de un equipo conectado constantemente, un dominio y una dirección pública para que responda las peticiones DNS del cliente.

Por ejemplo, la siguiente configuración haría a que cualquier servidor DNS tuviera que solicitar a la dirección IP 74.82.14.199, donde escucha el servidor iodine, todas aquellas peticiones que se hagan sobre  los subdominios de tdns.securitybydefault.com:
tunnel          IN A 74.82.14.199
tdns            IN NS tunnel.securitybydefaul.com.

Una vez configurado el servidor, se arranca  con algo tan sencillo como:
iodined -f 10.0.0.1 tunnel.securitybydefault.com
y el cliente:
iodine tunnel.securitybydefault.com
Con lo que se crearía una red con dos direcciones IP (10.0.0.1 y 10.0.0.2) en las que el tráfico será enviado mediante peticiones DNS.

11 comments :

Adrián dijo...

Llevo usando iodine desde hace bastante tiempo, porque fue la primera utilidad que encontré para esto cuando iba por la 0.3.x, y siempre me ha ido muy bien, pero hay algunos portales captivos de centros comerciales y sitios por el estilo que tampoco te permiten salir a internet tunelado sobre DNS, una pena ;)

Anónimo dijo...

Siempre es útil tener una herramienta de este tipo entre tu repertorio.

Gracias por la explicación!

Newlog

Anónimo dijo...

No es mucho mas simple levantar una VPN en el puerto 53?

Alejandro Ramos dijo...

@Adrián: yo usaba ozymandns, que me parece fué el primero. Otra gran herramienta

@Anónimo 2: No, ya que no es lo mismo enmascarar una petición dentro de un paquete DNS que generar tráfico UDP en el 53. En la primera opción es el servidor dns el que actua de proxy y la segunda es únicamente un fallo en el filtrado de tráfico.

Un saludo.

Jar0b_ dijo...

A ver si me he enterado.

¿El objetivo es montar un "servidor DNS" en una máquina nuestra, después simplemente obtener una salida a internet(Solo una IP) y utilizar como DNS la otra máquina que hemos preparado?

Véase, un hotspot de los que hablais, de un hotel, el típico con un login para poder acceder mas allá de la página por defecto que te redirecciona; nos unimos a la red WiFi, utilizamos como DNS nuestra máquina, ¿y tenemos libre acceso al exterior?

Si me aclarais la duda, os lo agradezco :D

un saludo.

Anónimo dijo...

Muy ocurrente la IP.

Alejandro Ramos dijo...

@Jar0b_, el objetivo es utilizar el servidor DNS que hay montado en el hotspot (y que debe resolverte direcciones IP de internet, aunque no hayas hecho login), como proxy para tunelizar tráfico IP y de esta forma llegar a Internet. Para que esto ocurra tu servidor tiene que ser el NS de un dominio o subdominio.

@Anónimo 3: Gracias!

chencho dijo...

La IP ha sido el toque Dab al post :)

Es un gran invento esto sí, te ahorra pasta en los aeropuertos :P

chencho dijo...

La IP ha sido el toque Dab al post :)

Es un gran invento esto sí, te ahorra pasta en los aeropuertos :P

Alejandro Ramos dijo...

@Jar0b_, el objetivo es utilizar el servidor DNS que hay montado en el hotspot (y que debe resolverte direcciones IP de internet, aunque no hayas hecho login), como proxy para tunelizar tráfico IP y de esta forma llegar a Internet. Para que esto ocurra tu servidor tiene que ser el NS de un dominio o subdominio.

@Anónimo 3: Gracias!

mariocheremos dijo...

Hola alejandro. Mi nombre es mario cheremos. Mucho gusto. mira hermano una pregunta. ¿ tu eres programador por casualidad? es que queria proponerte que me hicieras un pequeño software para utilizar iodine. Sabes, muy interesado en iodine pero no entiendo una papa para configurarlo y ponerlo en marcha. ¿sera que tu me puedes ayudar? gracias hermano que estes bien