bloquear ultrasurf

15 de noviembre de 2008

Llevo dos días dándole vueltas a ultrasurf y la manera de cómo bloquearlo. Para quien no lo sepa ultrasurf es una aplicación que te permite navegar anónimamente por Internet basándose en la conexión de múltiples proxys anónimos que corren por Internet. Grácias a Arturo Jara por hacerme llegar la aplicación.


El método de funcionamiento es el siguiente. Una vez arrancado el programa este se conecta por Internet (he contado más de 100 direcciones IPs diferentes) a diferentes proxys anónimos a través de una conexión SSL. El programa se queda residente en 127.0.0.1 y abre el puerto 9666. En este momento esta tool funciona como Proxy interno y modifica el Internet Explorer para que utilice el Proxy en 127.0.0.1:9666. Cuando la petición de URL llega a ultrasurf por 127.0.0.1:9666 esta la manda a uno de los muchísimos proxys anónimos que tiene bajo SSL.

De cara a la persona que utiliza esta aplicación le permite hacer bypass del firewall y de los filtros web que pueda tener tú squid en la red. Aunque tú squid sea o no transparente este programa es capaz de saltarse esta seguridad. Se salta principalmente por dos motivos el primero es porque utiliza proxys anónimos y el segundo es que el trafico hacia estos proxys esta bajo ssl y por tanto no podemos saber que URL se estan pidiendo.

Estas son todas las cosas que he pensado.

Si tenemos control sobre las maquinas clientes (normalmente una red Windows bajo un dominio) podemos crear una política de seguridad para que no pueda ser ejecutada esta aplicación. También podríamos crear una política para que nada pudiera cambiar la configuración de Internet Explorer.

El problema viene cuando no tenemos control sobre estos equipos. Por ejemplo un grupo de portátiles que se conectan por wifi dentro de un campus. En este caso lo que haría como primera medida es poder bajarse de Internet este programa. Bloquearía la pagina de descarga. Aunque esto no sirve de mucho es la primera medida que tomaría.

Una vez hecho esto la única solución posible si no tenemos ningún control es bloquear todos los proxys públicos a los que se conecta esta aplicación. Necesitamos la lista de proxys públicos a la que se conecta. Utilizando un debugger como ollydbg no es posible obtener la lista ya que si arrancamos un sniffer vemos que la lista de proxys es dinámica y va cambiando. Así que lo que se me ocurrió es dejar el sniffer un buen rato funcionando y conseguir una lista de todas las direcciones IP de los proxys públicos a los que se conecta. Basta con hacer un windump como este:

C:\>windump –n dst port 443 > captura.txt

Aquí teneis un ejemplo de captura:

21:01:40.537222 IP 192.168.1.5.55305 > 72.25.66.87.443: S 2980566470:2980566470(0) 
 win 8192 mss 1260,nop,wscale 2,nop,nop,sackOK>
21:01:40.537620 IP 192.168.1.5.55305 > 72.25.66.87.443: S 2980566470:2980566470(0) 
 win 8192 mss 1260,nop,wscale 2,nop,nop,sackOK>
21:01:40.538108 IP 192.168.1.5.55306 > 140.211.11.140.443: S 567062490:567062490(0) 
 win 8192 mss 1260,nop,wscale 2,nop,nop,sackOK>
21:01:40.538360 IP 192.168.1.5.55306 > 140.211.11.140.443: S 567062490:567062490(0) 
 win 8192 mss 1260,nop,wscale 2,nop,nop,sackOK>
21:01:40.539182 IP 192.168.1.5.55307 > 125.225.64.91.443: S 4177901685:4177901685(0) 
 win 8192 mss 1260,nop,wscale 2,nop,nop,sackOK>
21:01:40.539553 IP 192.168.1.5.55307 > 125.225.64.91.443: S 4177901685:4177901685(0) 
 win 8192 mss 1260,nop,wscale 2,nop,nop,sackOK>
21:01:40.540003 IP 192.168.1.5.55308 > 61.233.14.206.443: S 2492978371:2492978371(0) 
 win 8192 mss 1260,nop,wscale 2,nop,nop,sackOK>
21:01:40.540241 IP 192.168.1.5.55308 > 61.233.14.206.443: S 2492978371:2492978371(0) 
 win 8192 mss 1260,nop,wscale 2,nop,nop,sackOK>

Después utilizo esta captura para crearme unas reglas para iptables y bloquear las IPs. Conseguí más de 100 direcciones IP, pero no me funcionó. Sólo conseguía que arrancara un poco más lento, pero al final conseguía conectarse contra un nuevo Proxy anónimo.

Utilicé este programa para pasar de una captura de windump a las reglas del iptables.

Vista la imposibilidad de bloquear todos los proxys habidos y por haber la única solución es cerrar todo el trafico 443. De esta forma el ultrasurf no navega. El problema es que todas las páginas legítimas que utilizan 443 tampoco funcionan. Sólo me queda añadir a mi iptables bajo demanda las direcciones IP de las páginas que utilizan 443. Si alguien no entra en una pagina SSL que habrá incidencia y que sea el administrador que añada la dirección IP de esa página SSL.
¿alguien tiene la lista completa de direcciones IP a las que se conecta ultrasurf?

Este método puede resultar una chapucería pero tiene coste 0. Si queremos gastar unos euros tenemos URLfilterDB para Squid. Lo que hace es añadir una lista de url y proxys anónimos a squid para bloquearlos. Esta aplicación es gratuita y lo que pagas realmente es la base de datos con url e ip que el programa se descarga cada día con las nuevas actualizaciones. Lo tengo instalado pero aun no me han llegado las claves de usuario para bajar la trial de 60 días.

Otro método que he encontrado es el siguiente. Dado que se establece un túnel ssl entre ultrasurf y el Proxy anónimo, rompamos este túnel y miremos lo que hay dentro para ver si la pagina que se visita es legitima o no. Esto podrá hacerse a partir de la versión 3.1 de Squid que ahora esta en beta. Esta técnica se llama squid-in-the-middle y ya se puede utilizar.
La 3.1 beta con esta técnica no la he probado, pero aunque funcione el usuario debería verse afectado ya que el certificado que cargará al conectarse por SSL a su página legitima debería dar error en el IE o Firefox.

Aquí tenéis cómo se configura esta técnica.

Para finalizar decir lo peligroso que puede llegar a ser navegar por estos proxys anónimos. ¿Quien los controla?, ¿Por qué están allí?, ¿leerías tú correo por estos proxys sin saber quien los administra?.

Más informacion:
+ Lista de proxys publicos
+ Solucuón comercial para evitar los proxys publicos
+ Trucos para acceder a paginas bloqueadas

32 comentarios:

jack dijo...

Buen articulo, pero, haz conseguido bloquear el ultrasurf? si es afirmativo, cómo lo haz logrado?

amperis dijo...

No he podido de forma elegante. El post solo son ideas que fui recolpilando al estudiar el programa.
Al tener una red pequeña 100 maquinas, bloque 443 y listo. Quien necesute entrar en algun sitio abro el 443 para esa ip en concreto

Anónimo dijo...

por favor si pudieras poner cómo bloquear el puerto 443 y también el 9666. y luego cómo abrir 443 para ciertos ip's. muchas gracias

amperis dijo...

-A RH-Firewall-1-INPUT -m tcp -p tcp -s 192.168.1.34 --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -m tcp -p tcp -s 192.168.1.23 --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -m tcp -p tcp -s 192.168.1.0.0/255.255.255.0 -d 213.60.206.15 --dport 443 -j ACCOT
-A RH-Firewall-1-INPUT -m tcp -p tcp -s 192.168.1.0.0/255.255.255.0 --dport 443 -j DROP
------------

Es este ejemplo, primero dejo de las maquinas .34 y .23 (de la red 192.168.1.0) pueden navegar por el puerto 443.
En la tercera regla digo que toda mi red tambien puede navegar por el 443 si acceden a la pagina del banco 213.60.206.15.
Finalmente haga un DROP de todo para que si no se cumple ninguna de las reglas anteriores se deniege el resto del trafico al 443.

Anónimo dijo...

muchas gracias.

Anónimo dijo...

Hola.

Y no podrías permitir el 443 para ciertas páginas que tu desees (gmail, hotmail, etc etc)?

Digo, hacer una regla que permita las url contenidas en cierto archivo (creo que sería mas elegante).

Que opinas?

Anónimo dijo...

con Brazil FW se puede bloquear ultra surf, lo que necesitan es lo siguiente
1. instalar Brazil FW y configurarlo
2. instalar squid
3. indicar en squid que el puerto 443 no es seguro
4. bloquear el puerto 443 en Brazil FW, esto porque ahora para llegar al 443 se hara a traves de squid.
reiniciar el Brazil FW y listo

Anónimo dijo...

puto nazi.internet libre!

Anónimo dijo...

Existe un procedimiento que se hace mediante el gpedit.msc
Directiva Equipo local> Configuracion de Equipo>Configuracion de Windows>Configuracion deSeguridad>Directivas de Restriccion de Software

Click con boton derecho y eliges "Crear nuevas directivas", te crea 2 carpetas y entras a la que te dice "Reglas Adicionales", Borras las entradas que aparecen y luego con el boton derecho encima eliges "reglas de nuevo hash", eliges el ejecutable que no quieres que se abra. te mostrara su hash y en nivel de seguridad pones "no permitido", le das aceptar y listo.

Anónimo dijo...

Para que carajos quieres bloquear el acceso a internet???

Si alguien no quiere trabajar, estudiar, etc., no lo obligaras ha hacerlo bloqueando las paginas "indebidas".

Anónimo dijo...

Hola que tal. He estado leyendo mucho acerca del eterno dilema de ultrasurf y programas parecidos. Yo me he desecho completamente de èl, sin costes sin programas extras y sin bloquearlo ¿Como? sencillo, repartiendo el ancho de banda.

Me explico, Las personas que utilizan este programa es obviamente para poder ver paginas que les fueron restringidas, en mi caso youtube y parecidos, pornografia y parecidos, redes sociales, videos snuff, descargas megaupload y parecidos etc. Repartiendo el ancho de banda establecí la politica que el puerto 443 maneje una velocidad muy muy baja. Si bien normalmente las paginas https son comunmente para login's no demandan mucha tranferencia y aparte squid guarda en cache (en mi caso). Asi que usando ultrasurf estan condicionados forzosamente a navegar a un ancho de banda que practicamente no vale la pena sentirse con la "libertad" de navegar y acaban abandonandolo.

A mi me dijeron que me saltaban mis politicas (squid/iptables) con ultrasurf, y me lo demostraron (riendose de mi) pero cuando vi que un video de youtube de solo 27 segundos tardaba una una eternidad en cargar simplemente le regrese la risa.

Asi lo hice yo y les comparto mi experiencia

amperis dijo...

me parece muy buena idea.

eldekal dijo...

de casualidad sabran como bloquearlo con un firewall fortinet?

saludos

Anónimo dijo...

Me divierten todos los administradores que invierten grandes sumas de dinero en programas como Fortinet y similares, además de gastar constantemente dinero en técnicos e ingenieros especializados en redes. Cuando es tan fácil saltarse todas esas limitaciones y de forma completamente gratuita. Bibliotecas, escuelas, oficinas, en todos lados navego libremente sin problemas a pesar de lo que intenten. De hecho he llegado a bloquear al mismo administrador que intentaba bloquearme. xD
¡RINDANSE! Users al poder!!!

Anónimo dijo...

P.D. Lo del ancho de banda es un truco muy viejo. Solo consiguen que quien logre burlar sus defensas tenga casi todo el ancho de banda para si mismo. Lo cual es monstruoso porque si esto se hace en una empresa corporativa o una escuela grande, puedes bajar cosas hasta a 10Mps.
¿Quién necesita UltraSuft cuando tienes acceso al root de la PC del Administrador? xD

Anónimo dijo...

necesito abrir el puerto 443 solo para el kaspersky, alguien puede ayudarme...gracias de antemano

Anónimo dijo...

gracias a gente como tu no me puedo conectar a la mayoria de paginas desde el instituto, una vez más gracias.

Anónimo dijo...

Como puedo bloquearlo en un firewall Juniper, ojala me puedan ayudar

Saludos

pedro dijo...

Weno para "impedir" que ultrasurf se logre conectar a sus servidores, al menos en mi caso lo logre haciendo una combinacion de squid e iptables,

primero bloqueo toda salida a internet que no sea por el proxy y configuro el proxy en un puerto no comun el 62350, luego bloqueo la salida a los puertos 443, 3128, 8080, y 23620, a mi red o redes segun sea el caso. Es decir cuando el ultrasurf intente conectarse por alguno de esos puertos no podrá, pero si un usuario queire entrar a una pagina con https tendrá que hacerlo a traves del proxy. Y en el proxy ya hacemos las restricciones del caso. En las puebas que hice esta configuración no funciona con un proxy transparente.

si quieren más explicación me escriben

Anónimo dijo...

mmmmmmmmm creo que puedes bloquearlo con un corcho en el culo! WN...Internet Libre...los chinos malo que webean y crean para tener libertad por sus bloqueos y uds tracala de breas quieren terminar con algo bueno. ahora si hay otros que le dan otros usos. bueno wea de ellos no es tu culo...chesu.(&%$#$%&) como tannn.?????

Isladur dijo...

Lo del internet libre está muy bien si el ancho de banda es tuyo entero. Cuando es compartido entre unos 100 ordenadores, da mucha rabia ir lentísimo por culpa de unos niñatos que se dedican a viciar al Counter o a descargar megamierdens... no se trata de libertad, sino de buen uso, y eso no lo entiende todo el mundo.

Anónimo dijo...

Lo consegui, se puede bloquear con este software, se instala como un servicio de windows, http://blog.zemana.com/2009/01/zemana-anti-ultrasurf.html y es efectivo

Irwing Joshua Lozano Zaldívar dijo...

Una forma de como bloque el Ultrasurft y funciona con cualquier vercion que salva es con el programa:
Blumentals.iNet.Protector.v3.53
lo e usado en la empresa que doy servicios y no hay ningun proglema con este programa lo unico que les notifico antes de usar esuqe pongan cuentas limitadas para que no puedan entrar a msconfig por que si desavilitar el inicio de este proceso no arrancara y no bloqueara ...

Anónimo dijo...

este articulo esta muy bueno amigo, voi a tentar bloquear este programa que bajaron, soi io el que administra las pc de mi trabajo i aqui tengo uno con ese programa i todas vez q se quiere entrar este se tiene q volver a ser instalado, ojala q me sea util amigo...... saludos de Tony alexandre

[Infernus] dijo...

no, no, no, no, muy mal, van por el lado equivocado... Todos se centran en bloquear el programa, pero porque no mejor bloquear mentalmente al usuario?

Soy estudiante de ingenieria de sistemas estoy en segundo año, y estuve leyendo tooodos sus comentarios, la verdad me da risa ver como se matan tratando de bloquear el programa. Sera imposible.

Saben que es lo que yo haria?

-Facil, yo me instalaria un keylogger en cada computadora que tiene cada user asignada, y al momento de iniciar pondria un rotulo como "Bienvenid@ usted esta utilizando una computadora con un keylogger, que registra todas y cada una de las pulsaciones de su mouse y teclado, piense bien antes de ingresar a sitios indebidos ya que toda su imformacion, incluyendo sus contraseñas se enviaran al administrador quien publicara en una pagina en las redes sociales todas sus conversaciones, contraseñas y todo lo que usted converse, sin importar que use ultrasurf"

Hahaha se imaginan la cara de miedo que tendrian los user cada vez que enciendan la pc, ademas de que se pondrian a pensar que todos sabrian las paginas que visitan y sus contraseñas... :D

Efecto, alguien que estaria tan pendiente de su trabajo que ni siquiera tendria el valor de apretar 3 veces seguidas la letra "X"

Saludos!!!

giamonioz dijo...

que hijo de puta

Anónimo dijo...

esta es la solucion
http://www.maravento.com/2013/03/firewall.html

Anónimo dijo...

No den ,mas vueltas. aqui esta es la solucion
http://www.maravento.com/2013/03/firewall.html

Anónimo dijo...

no den mas vueltas . aqui esta la solucion

http://www.maravento.com/2013/03/firewall.html

Anónimo dijo...

Yo estoy leyendo algo de fail2ban de esta web http://tinyurl.com/cgwm6f8 pero no consigo bloquear el ultrasurf aun. Alguien tiene alguna idea... Con fail2ban...

Unknown dijo...

Para cabron cabron y medio más... Su esfuerzo... Alimenta mi ingenió

Anónimo dijo...

Valea verga, eres puto, nos la pelas