logo

Acerca de

Bienvenido a mi blog, el sitio perfecto para mis inquietudes, experiencias e idas de olla sobre temas de hoy en día.

Historia al azar

Categorías

Últimas entradas

Últimos comentarios

Enlaces

Meta

photo Luis PeraltaEstado Jabber
Ziritione
Castellón Spain
39.997638, -0.064030

Sindica

Sindícame, por cortesía del subliminal Atom.

23 diciembre 2008

Últimamente ya no llevo portátil encima en la mayoría de los viajes porque suelo tirar del iPhone para echar un vistazo al correo o navegar rápidamente para algo que necesite. De ahí que venga bien tener el dns2tcp también en el teléfono.

El mérito de esto no lo tengo yo, sino Jay Freeman (saurik), que alguno conocerá por ser el autor de Cydia, el sistema de gestión de software que ha montado para el iPhone basado en Debian. Gracias a él podemos hacer:

wget http://apt.saurik.com/debs/dns2tcp_0.4.3-1_iphoneos-arm.deb
dpkg -i dns2tcp_0.4.3-1_iphoneos-arm.deb

Y a funcionar. Yo intenté montar la toolchain durante un buen rato y desistí, pero sólo hubo que hacerle la sugerencia a Jay y 9 minutos (de reloj) después, habeamus paquete.

14 diciembre 2008

Lo que voy a contar no es nada nuevo. Lo que sí que es nuevo para mí es lo sencillo que se ha vuelto montar un túnel TCP sobre el protocolo del DNS a día de hoy. Si no recuerdo mal, fue el Kaminsky el primero que hizo un PoC (luego llegando a hacer streaming de audio y vídeo). Alex, en su día, también se curró un buen tutorial. La utilidad de estos sistemas no es otra que atravesar un cortafuegos para conectarnos a internet en un caso muy común: el del portal cautivo en los puntos de acceso wifi, como La Fonera u otros tantos típicos en hoteles y aeropuertos.

Lo que yo he puesto en marcha ha sido el dns2tcp que, como su propio nombre indica, nos permite encapsular una conexión tcp bajo el protocolo DNS.

En los ejemplos: micro es un Linux en mi casa que hace de servidor, elrojo es un Linux detrás de un portal cautivo.

La configuración, incluso con IP dinámica en mi caso, es bastante sencilla. Más teniendo en cuenta que intrepid tiene los paquetes ya hechos.

En el servidor:

micro$ sudo apt-get install dns2tcp
micro$ cat /etc/dns2tcpd.conf
listen = 0.0.0.0
port = 5353
# If you change this value, also change the USER variable in /etc/default/dns2tcpd
user = nobody
chroot = /tmp
domain = tunnels.ziritione.org
ressources = ssh:127.0.0.1:22

Donde tunnels.ziritione.org será la zona que utilizaremos para nuestro propósito. El porqué de poner el servidor en el puerto 5353 lo contaré más adelante. En nuestro servidor DNS además tendremos que añadir la zona con el mismo nombre:


...
www      86400   IN   CNAME   main.ziritione.org.
tunnels  86400   IN   NS      magallanes.mine.nu.
...

De nuevo, en mi caso, magallanes.mine.nu es un host mapeado contra la IP dinámica de mi casa gracias a DynDNS (esto lo hace el router ADSL). En ese mismo router está redigirigo el puerto 53 (el del DNS) al 5353 de micro, que es donde tenemos el tcp2dnsd.

Ahora, en cualquier otra máquina de internet podemos listas los resources que hemos configurado:

$ dns2tcpc -z tunnels.ziritione.org 192.168.0.10
Available connection(s) : 
	ssh

Y ahora montamos el proxy para que redirija el tráfico que le llegue al puerto 2222 al resource ssh y lanzamos un ssh contra él que nos monte un proxy SOCKS en el puerto 8888:

elrojo$ dns2tcpc -r ssh -l 2222 -z tunnels.ziritione.org 192.168.0.10 &
Listenning on port : 2222
elrojo$ ssh -D 8888 -p 2222 localhost
Password:
micro$

Si ahora configuramos un firefox en local y le decimos que hay un proxy SOCKS en localhost en el puerto 8888 haremos que nuestro tráfico web funcione a través de micro, la máquina que tenemos en casa.

10 octubre 2005

Leyendo este post de Maximilan Dornseif en su blog, veo que el dominio .es permite transferencias de zona a desconocidos. Incrédulo, me pongo a probar:

peralta@daphne:~ $ dig NS es|grep -v ^\;|grep NS
es.                     3600    IN      NS      ns.uu.net.
es.                     3600    IN      NS      ns1.nic.es.
es.                     3600    IN      NS      ns1.cesca.es.
es.                     3600    IN      NS      ns2.nic.es.
es.                     3600    IN      NS      ns3.nic.fr.
es.                     3600    IN      NS      nso.nic.es.
es.                     3600    IN      NS      sun.rediris.es.
es.                     3600    IN      NS      aunic.aunic.net.
es.                     3600    IN      NS      sunic.sunet.se.
peralta@daphne:~ $ host -l es sunic.sunet.se
; Transfer failed.
Using domain server:
Name: sunic.sunet.se
Address: 192.36.125.2#53
Aliases:

Host es not found: 5(REFUSED)
; Transfer failed.

peralta@daphne:~ $ host -l es nso.nic.es
; Transfer failed.
Using domain server:
Name: nso.nic.es
Address: 194.69.254.2#53
Aliases:

Host es not found: 9(NOTAUTH)
; Transfer failed.

[...]

peralta@daphne:~ $ host -l es ns.uu.net
; Transfer failed.
Using domain server:
Name: ns.uu.net
Address: 137.39.1.3#53
Aliases:

es name server ns.uu.net.
es name server ns1.nic.es.
ns1.nic.es has address 194.69.254.1
es name server ns1.cesca.es.
ns1.cesca.es has address 84.88.0.3
es name server ns2.nic.es.
ns2.nic.es has address 194.69.254.38
es name server ns3.nic.fr.
es name server nso.nic.es.
es name server sun.rediris.es.
sun.rediris.es has address 130.206.1.2
es name server aunic.aunic.net.
es name server sunic.sunet.se.
natucer.es name server dns1.infc.com.
natucer.es name server dns2.infc.com.
wintu.es name server ns1.servidores.net.
wintu.es name server ns2.servidores.net.

[...]

Sin comentarios ;)