Comenzó la era de la censura en la fibra. Parece que de buenas a primeras vodafone está empezando a limitar el acceso a ciertos sitios bajo su criterio. Algo que se ve que ya estaban usando desde hace algún tiempo, incluso en el acceso a Internet con OMV's dependientes de Vodafone.

Estaba navegando por thepiratebay, tras la noticia de hace unos días de que había resucitado, y me encuentro con que en una de las recargas de página, el navegador me está redirigiendo a castor.vodafone.es.


Rápidamente veo que es una etiqueta meta refresh que sustituye la respuesta de thepiratebay.

<html><head><meta http-equiv="refresh" content="0; url=http://castor.vodafone.es/public/stoppages/stop.htmopt?CAT=%5Bp2p_servers[...]"></head><body></body></html>

Estadísticas de similarsites muestran que este sistema lleva en pie desde septiembre de 2014, aunque con la fibra, estoy seguro de no haberlo sufrido hasta estos días.




Despues de  hacer varias pruebas con netcat, me doy cuenta de que se puede entrar a la 'deep web' de Vodafone. Es tan simple como no seguir las reglas del RFC de http, para que una petición mal formada pueda atravesar su sistema de filtrado.
Sistema que por lo observado, llega a capturar nuestra petición http, y es capaz de intervenir haciendo Man-in-The-Middle solo si ciertas headers coinciden con su firma. Da que pensar a la hora de usar conexiones no cifradas cuando estamos en la red de Vodafone. No es una simple sustitución de DNS.

De esas pruebas y un poco de tiempo libre navideño ha salido coyote, un proxy en python que ejecuta esta malformación de cabeceras http para pasar por encima del sistema censor castor de VF.

Descargar coyote     md5 checksum: d73c50e7d71a8aebc3d9cec97893c721
Source

Se trata de una aplicación muy simple que cambia las cabeceras del HTTP de tal forma que el sistema de censura de Vodafone no entiende la petición. En realidad, lo que estamos haciendo es eliminar el  carácter \r del final de la cabecera HTTP donde especificamos el método.

Una petición conforme al RFC debería ser tal que así:

GET / HTTP/1.1\r\n

Si la modificamos de tal forma que no la hacemos compatible con el RFC, pese a que los servidores web más comunes (Apache, lighttpd...) la entienden, en el sistema de Vodafone no cumple las reglas para ser filtrada y censurada.

GET / HTTP/1.1\n
* Actualización 27/01/15. Código fuente en python

Absurdo, pero a día de hoy funciona. Cabe decir que todos los tampers que he probado, includo ZAP y demás aplicaciones, no permiten manipular la petición a este nivel.

Coyote se comporta como un proxy socks 4, y hay que configurarlo en el navegador web como tal, solo para http, con la IP 127.0.0.1 y el puerto 8085.


2 comentarios:

  1. Perdona, pero como se hace para que me deje entrar en TPB? Se queda diciendo proxy arrancando...

    ResponderEliminar
  2. Yo lo he solucionado entrando a los sitios conflictivos con TOR a través de una VPN

    ResponderEliminar

Nube de Bits, 2011. Con la tecnología de Blogger.