Bloquear el DNS hijacking por parte del ISP
Esto que voy a explicar hoy no es nada novedoso, pero si molesto para algún sector de usuarios. Se trata del DNS hijacking. Como ya sabréis algunos, me mude de casa hace unos meses y contraté mi servicio de ADSL en casa. Los únicos cambios que le hice a mi router, fue deshabilitar el WPS, cambiar el SSID y el password, además de accesos y etc..
La compañía contratada es Jazztel. Hay veces que como muchas personas, me equivoco al escribir el dominio web que voy a visitar. Mi sorpresa fue, encontrarme que era Jazztel, que a modo de "ayuda" me mostraba una página con un buscador del dominio al que yo había tratado de acceder.
Ya no me acordaba que Jazztel es uno de los operadores que practica el DNS hijacking.
¿Esto que quiere decir?
Vamos a la terminal.
darkmac:~ marc$ ping www.midominioinventado.es PING www.midominioinventado.es (81.200.64.180): 56 data bytes 64 bytes from 81.200.64.180: icmp_seq=0 ttl=51 time=63.643 ms 64 bytes from 81.200.64.180: icmp_seq=1 ttl=51 time=61.092 ms 64 bytes from 81.200.64.180: icmp_seq=2 ttl=51 time=73.953 ms 64 bytes from 81.200.64.180: icmp_seq=3 ttl=51 time=62.912 ms 64 bytes from 81.200.64.180: icmp_seq=4 ttl=51 time=63.172 ms --- www.midominioinventado.es ping statistics --- 5 packets transmitted, 5 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 61.092/64.954/73.953/4.582 ms darkmac:~ marc$
El dominio web no existe, pero en cambio me contesta el ping.... ¿Pero de quien es esta IP?
darkmac:~ marc$ dig -x 81.200.64.180 +short dnssearch.jazztel.com.
Vaya, parece que la IP, pertenece a un subdominio web, concretamente a dnssearch.jazztel.com
darkmac:~ marc$ nslookup www.dominioinventado.es Server: 87.216.1.65 Address: 87.216.1.65#53 Non-authoritative answer: Name: www.dominioinventado.es Address: 81.200.64.180 darkmac:~ marc$
Hay otra IP implicada en el caso la IP 87.216.1.65 que es DNS de Jazztel, esto es normal :D.
Otra de las maneras que se tiene de comprobar quien "está en medio". Es hacer un curl.
server-home:sqlmap marc$ curl -I www.midominioinvenado.es HTTP/1.1 403 Forbidden Date: Sun, 18 Aug 2013 18:46:47 GMT Server: Apache Connection: close Content-Type: text/html; charset=iso-8859-1 server-home:sqlmap marc$ curl -v -I www.midominioinvenado.es * About to connect() to www.midominioinvenado.es port 80 (#0) * Trying 81.200.64.180... * connected * Connected to www.midominioinvenado.es (81.200.64.180) port 80 (#0) > HEAD / HTTP/1.1 > User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8x zlib/1.2.5 > Host: www.midominioinvenado.es > Accept: */* > < HTTP/1.1 403 Forbidden HTTP/1.1 403 Forbidden < Date: Sun, 18 Aug 2013 18:46:55 GMT Date: Sun, 18 Aug 2013 18:46:55 GMT < Server: Apache Server: Apache < Connection: close Connection: close < Content-Type: text/html; charset=iso-8859-1 Content-Type: text/html; charset=iso-8859-1 < * Closing connection #0
Si miramos dicha IP en Robtex.
En realidad el Subdominio no pertenece a Jazztel.
Podemos ver un Summary también.
A mi personalmente, me molesta que haya interceptando mis consultas , aunque sea el ISP el que me proporcione mi acceso a Internet.
Evitando el DNS hijacking.
Pues para evitar esto, lo que tenemos que hacer es cambiar los DNS del router a los siguientes de OpenDNS, por ejemplo.
- 208.67.222.222
- 208.67.220.220
Otra de las opciones es usar software como Namebench.
https://code.google.com/p/namebench/
En el caso de Jazztel, solo intercepta los dominios fallidos cuando son del tipo www.dominio.es