20 septiembre 2010

Las debilidades de El Gran Cortafuegos Chino desde dentro

Ya se ha hablado mucho del 'Great Firewall' chino, desde su descripción hasta fallos en el sistema, pasando por algunos detalles técnicos.
Sin embargo es un tema que sigue presente, y cada cierto tiempo sale la noticia de que han bloqueado otro servicio más.

Quería ponerme en la piel de los afectados por el firewall, y la forma más asequible de hacerme una idea era ponerme detrás de un proxy chino al que le afecten las restricciones. Vamos a ver qué nos encontramos.

El primer paso es encontrar un proxy chino para navegar a través de él, una tarea fácil.

Una vez preparados y habiendo probado que todo funciona bien, nuestra ardua tarea será intentar conectarnos a Wikileaks, uno de los puntos calientes del firewall (en cuanto a censura se refiere). A partir de ahora deberíamos ser como cualquier ciudadano de China, por lo menos a nivel de conexión (sin "plugins" en nuestro sistema). Puede que la experiencia no sea exactamente la misma, pero podemos hacernos una idea bastante aproximada. Es importante entender que todo lo que hagamos a partir de ahora será pasando por China, sujetos a las restricciones que están impuestas por el firewall chino.

Como esperábamos, en un principio no podemos entrar a Wikileaks, el navegador nos da a entender que el sitio no está disponible (conexión reseteada). Vamos a ver que está pasando por debajo:
El navegador envía la petición al proxy para visualizar Wikileaks, pero el proxy resetea la conexión constantemente. Después de esto se aplica un baneo de unos minutos, en el que todas las peticiones serán reseteadas de igual forma. Parece que el bloqueo se basa en esto, resetear la conexión por el lado del cliente y bloquear las próximas peticiones durante unos minutos (¿a modo de castigo?).

A partir de aquí, mediante diferentes métodos vamos a intentar conectarnos a nuestro objetivo que, no lo olvidemos, es Wikileaks. Vamos a empezar con las soluciones más potentes para después llegar a "trucos" muy simples.

1.- Lo primero que vamos a intentar es llegar a Wikileaks a través de un proxy web al que nos conectaremos mediante HTTPS para que el tráfico no sea legible.
Parece que nuestra primera prueba ha funcionado, ¡hemos conseguido saltarnos la restricción por primera vez!

2.- Vamos a hacer una segunda prueba usando el mismo método pero esta vez sin HTTPS y en otro proxy web diferente, a ver si el firewall detecta ahora el "engaño".
Volvemos a pasar sin problemas.

Según parece, en cuanto al uso de proxies web lo importante es que el host donde está alojado no esté en la lista negra. Es conviene usar HTTPS para que en un análisis de tráfico manual, o mediante la búsqueda de "palabras prohibidas" no nos detecten.

3.- Vamos a probar otra cosa. Wikileaks nos ofrece muchos Cover Domains, nombres alternativos para poder entrar en caso de que nos bloqueen el acceso al sitio original. Vamos a intentar entrar a través de alguno de estos nombres alternativos. Después de probar un par ...
Si intentamos entrar desde el dominio sunshinepress.org se nos permite el acceso, sin ningún tipo de restricción.

4.- Lo último que vamos a probar es algo muy sencillo. Vamos a visitar Wikileaks a través de su dirección IP, de forma que no tengamos que resolver su nombre DNS. Las IPs son 88.80.17.21 y 88.80.17.18, vamos a ver que sucede.
Como podemos ver, no nos resetean la conexión en China (nos responen ACK a la petición), y podemos visitar Wikileaks sin problemas.

Métodos tan sencillos como estos permiten sobrepasar las medidas que pretende implantar El Gran Cortafuegos Chino, sin contar con otros más complejos y efectivos como son el uso de Tor, SSH, VPNs ...

Resumen del artículo:
  1. Nos conectamos a un proxy chino para que nos afecten las restricciones del firewall. Desde aquí hasta el final siempre estará el proxy chino por debajo.
  2. Hacemos una peticion web a pelo a http://wikileaks.org/ -> Denegada (RST).
  3. A través de proxy web con HTTPS -> Ok.
  4. A través de proxy web sin HTTPS, es decir, con HTTP -> Ok.
  5. Conectamos a través de un Cover Domain de Wikileaks -> Ok.
  6. Conectamos directamente a las IPs de Wikileaks, sin DNS -> Ok.

----

Añadiendo un pequeño adjunto a este artículo, me gustaría decir una cosa. Seguro que alguien ya se ha dado cuenta, como podéis ver no estoy publicando este artículo desde Colaboraciones, sino desde una cuenta propia. Esto quiere decir que a partir de aquí, ¡formo parte del equipo de Security By Default como editor! Empiezo con muchas ganas (al igual que cuando enviaba colaboraciones), y me gustaría agradecer a SbD el brindarme su confianza. Espero poder aportar mi granito de arena :)

14 comments :

Román Ramírez dijo...

Lo primero de todo, ¡enhorabuena! Ya sabes que te tengo en el lector de RSS y te dejaré comentarios "cariñosos" por las mañanas :)

¿Has probado temas de variables http? ¿meter referrers, http_x_forwarded_for etc.? Me parece un poco absurdo que solamente limite por nombre-url, vaya "Gran Muralla".

akae dijo...

Enhorabuena Alberto! Un gran fichaje (o promoción desde la cantera) para un gran blog.
Una preguntica: Según tenía entendido, aparte del Gran Cortafuegos por en medio, los Chinos tienen que tener instalado "por ley" un software en sus PCs. ¿No puede ser que éste software se encargue de hacer las peticiones inversas a los DNS para cotejar las IPs con el dominio principal -bloqueado- y no dejar pasar las conexiones?

reverseskills dijo...

Lo primero Enhorabuena :-).Para el post sobre Golden Shield lo segundo añadir al articulo :

[PDF] http://cs.nyu.edu/~pcw216/work/nds/final.pdf

Lo tercero, añadir tambien :

http://www.websitepulse.com/help/testtools.china-test.html


Lo cuarto, :

http://www.renesys.com/blog/2010/06/two-strikes-i-root.shtml

Un saludo!

omarbv dijo...

Enhorabuena por el post y por tu nueva familia, jejeje.

Me parece increible que el FW chino no bloquee peticiones a las direcciones IP!!!

Un fuerte abrazo majo,

Txalin dijo...

Pues lo de "Gran" vaserqueno... que cutrez por dios, ya ni aplicar la censura como dios manda saben (jo, que me ha quedado el comentario...)

Laura García dijo...

Me ha encantado el artículo!!!

a0rtega <-- Masmola!! ;D

No puede faltar un poco de flood (u know): Enhorabuena!! Enhorabuena!! Enhorabuena!! Enhorabuena!! Enhorabuena!!

Mis felicitaciones a SbD por este gran fichaje!!

Alberto Ortega dijo...

Antes de nada, muchas gracias a todos por el caluroso recibimiento (por aquí y por otras vías) :)

@Román
No lo he probado pero sería muy interesante hacerlo. No sé hasta que punto el primer proxy podría entorpecer, pero apuntado queda :)

@akae
Por eso comentaba lo de los "plugins" en el sistema. La verdad es que no se como funciona el software, ni hasta que punto es legal no tenerlo instalado. He partido de la premisa de que cada ciudadano podría instalar un SO limpio desde 0, quitando el que le venga de fábrica (en los nuevos, por lo que parece, sí que viene el software de serie).

@reverseskills
Buenas fuentes y utilidades :)

¡De nuevo gracias a todos!

Grifo dijo...

Jamás pensé que el proxy fuese tan malo... Vamos, que prácticamente cualquier cosa que se te ocurra funciona... qué tienen, un squidguard? xD

Otras pruebecillas simples podrían ser intentar entrar a través de la caché de bing/google (si no están capados) o de sus traductores de páginas.

Por desgracia, por muy fácil que sea saltarse el proxy, la mayoría de chinos no creerán poder saltárselo :(

Y ahora el propósito principal de este comentario... Enhorabuena mamonazo!! :D

Jar0b_ dijo...

Pues enhorabuena Alberto !

Que conste que me ha gustado bastante el artículo.

Es muy cómodo de leer, y para un tío como yo estos textos sin alto contenido técnico me vienen de perlas.

A ver si te leemos a menudo ;)

rez dijo...

Hola Alberto!

Ante todo enhorabuena ;)

Como sabes, vivo en Pekin y para navegar siempre uso VPN, así que he probado los métodos que comentas con estos resultados:

1. Peticion directa de IP: no funciona. Safari can’t open the page “http://74.125.127.93/” because the server unexpectedly dropped the connection.

2. Probando nombre de dominio diferente: funciona. Puedo acceder a Wikileaks usando sunshinepress.org

3. Usando un proxy: funciona en algunos casos y en ocasiones no muestran todo el contenido de la web o no es posible copiar links por que están cifrados y cuando estos proxys son usados habitualmente son localizados y capados, aunmentado la lista negra, esta es la razón por la que acabé contratando una VPN que va de maravilla :D

Espero que la información sea útil ;)

Un gran saludo. Espero leerte a menudo.

Alberto Ortega dijo...

@rez
Muchas gracias por el comentario, sin duda, una información muy útil y el complemento perfecto para este artículo :)

Jar0b_ dijo...

Pues enhorabuena Alberto !

Que conste que me ha gustado bastante el artículo.

Es muy cómodo de leer, y para un tío como yo estos textos sin alto contenido técnico me vienen de perlas.

A ver si te leemos a menudo ;)

rez dijo...

Hola Alberto!

Ante todo enhorabuena ;)

Como sabes, vivo en Pekin y para navegar siempre uso VPN, así que he probado los métodos que comentas con estos resultados:

1. Peticion directa de IP: no funciona. Safari can’t open the page “http://74.125.127.93/” because the server unexpectedly dropped the connection.

2. Probando nombre de dominio diferente: funciona. Puedo acceder a Wikileaks usando sunshinepress.org

3. Usando un proxy: funciona en algunos casos y en ocasiones no muestran todo el contenido de la web o no es posible copiar links por que están cifrados y cuando estos proxys son usados habitualmente son localizados y capados, aunmentado la lista negra, esta es la razón por la que acabé contratando una VPN que va de maravilla :D

Espero que la información sea útil ;)

Un gran saludo. Espero leerte a menudo.

Txalin dijo...

Pues lo de "Gran" vaserqueno... que cutrez por dios, ya ni aplicar la censura como dios manda saben (jo, que me ha quedado el comentario...)