Sie sind auf Seite 1von 3

Saltando Restricciones de Proxies con UltraSurf

Recientemente me encontr en el trabajo con el problema citado en el


encabezado de este post. Nos dimos cuenta que un usuario se las haba
arreglado para saltarse las restricciones impuestas por el proxy, o sea, poda
acceder a sitios bloqueados por la poltica de la compaa como Facebook, Hi5,
Webmessenger, en fin, paginas de baraje. Al conectarme al equipo del usuario
(usando VNC) pude comprobar que realmente el usuario se estaba saltando las
restricciones porque estaba en sitios que l no tenia permitido acceder.
Inmediatamente trate de averiguar cmo se las haba arreglado para hacerlo y
hacerlo en mis narices (eso fue lo que ms me molesto). Genere entonces un
reporte de acceso para ver si el proxy (usamos Squid 2.6) me mostraba las
conexiones de ese usuario y as hacerme una idea de cmo lo haba hecho,
pero no me presento los sitios que l estaba accediendo en el momento, por lo
que pens que entonces l estaba pasando por encima del Proxy, pero como??
El Firewall (IPtables) tiene reglas que no permite el acceso directo hacia
Internet, o sea, la nica forma de salir hacia Internet es hacindolo a travs del
Proxy, el cual l se estaba saltando.
Me sent un poco frustrado, se est conectando a Internet en mis narices y no
veo como!!?? Prcticamente lo vea rindose de mi: "Ja, El Tipo de Informtica
cree que puede evitar que revise mi feisbuk" lo imaginaba pensando. Bueno,
mientras sigo indagando entre IPTables y Squid continuo con su escritorio
abierto en una ventana de VNC, entonces me fijo que cuando el cerro el
navegador cerro tambin una aplicacin la cual no pude ver bien en el
momento. Convenientemente l iba saliendo a almorzar as que tendra su
computadora disponible para buscar el programa sin que l se diera cuenta (no
quera que el supiera que lo estaba investigando, quera que se diera cuenta
cuando su mtodo ya no le funcionara). Cuando busco en los programas
instalados no veo nada sospechoso, as que pens: bueno, si el pudo conseguir
ese programa y ponerlo a correr sin que nos entersemos, seguro que no lo va
a tener tan obvio". Mire bien la barra de inicio para ver los ltimos programas
abiertos y encontr un shortcut a una carpeta llamada "New Folder" que me
pareci sospechoso, pens que quizs dentro de este se encontrara el
programa, hice clic encima de l y abri el "UltraSurf", el muy sabio haba
cambiado el icono del shortcut para que pareciera una inofensiva carpeta.

Ventana UltraSurf
El muy oidiado UltraSurf en plena accion

Una vez el programa carga inmediatamente abre el navegador y ya se puede


entrar a cualquier sitio sin las restricciones del proxy. Ok, ya habia encontrado
el programa pero todava no saba cmo hacia para conectarse al Internet. Lo
primero que hice fue tumbar por un momento el Proxy (la mayora de usuarios
estaban almorzando as que nadie lo noto) para ver si todava as se conectaba

lo cual efectivamente hizo que el programa se desconectara. Esto me indico


que el programa si utilizaba el proxy para conectarse a Internet. Luego de
Googlear un poco sobre cmo funciona este programita me entere de que este
utiliza tneles SSL para conectarse con servidores proxy en Internet y entonces
entend el porque mi proxy lo dejaba pasar. Otra cosa que hace UltraSurf es
que abre en el equipo del usuario el puerto TCP 9666 y configura el Internet
Explorer para que utilice como proxy la direccin 127.0.0.1:9666, o sea, se
usaba as mismo como proxy y el a su vez utilizaba el proxy de la red para
gestionar la conexin.

Los Web Proxys trabajan capturando las solicitudes de sitios Web de los
usuarios y conectndose ellos al Web server requerido en lugar del usuario,
luego entrega al usuario la pagina solicitada. El usuario nunca hace una
conexin directa con el sitio, quien hace la conexin al sitio web es el proxy. Es
decir, el proxy es un intermediario entre el usuario interno de la red y un
servidor web externo. Al estar en medio de la conexin entre el usuario y el
servidor web, el proxy puede ver el contenido de los paquetes, como origen,
dominio de destino, usuario que hace la solicitud, contenido del sitio web, etc.,
y en base a esto aplicar las restricciones especificadas. Esto aplica para el
protocolo HTTP y otras aplicaciones, pero no para el protocolo HTTPS que no es
ms que HTTP sobre SSL. Al utilizar SSL el proxy no puede modificar el
paquete, o sea, no puede ponerse en medio de la conexin, y debe dejar que el
usuario negocie una conexin segura con el servidor de destino (utilizando el
mtodo http "CONNECT"). As que al establecerse la conexin (o tnel) entre el
usuario y el servidor el proxy no puede intervenir ni ver el contenido de los
paquetes ya que estos son encriptados. Por esta razn el UltraSurf poda
conectarse a Internet porque hace conexiones SSL con servidores en Internet.
Bloqueando UltraSurf con Squid
Para evitar estas conexiones lo que hice fue limitar los sitios en los que se
pueden establecer conexiones SSL, podra tambin buscar el listado de
servidores que utiliza UltraSurf y bloquearlos pero este no sera un mtodo
muy efectivo, ya que en tal caso bloqueara solo al UltraSurf y otro programa
similar podra funcionar utilizando el mismo mtodo. Generalmente HTTPS solo
se utiliza para Internet Banking y algunas otras aplicaciones Web,
afortunadamente ya tena una lista con estos sitios creada, una especie de
"Whitelist", as que lo que hice fue permitir conexiones HTTPS solo a los sitios
de este listado. Para hacer esto en Squid, se hace lo siguiente:

#Creacion del ACL para el metodo CONNECT


acl CONNECT method CONNECT
# ACL que contiene los sitios Web permitidos para HTTPS
acl sitios-https url_regex "/ruta-al-listado-de-sitios.txt"

# Regla que permitira conexiones HTTPS solo a los sitios del listado creado
arriba
http_access allow CONNECT sitios-https
http_access deny CONNECT all

Luego de insertar estas lneas y refrescar la configuracin del squid


(/etc/init.d/squid reload) UltraSurf ya no poda conectarse a sus servidores en
Internet, y por ende el usuario ya no podra saltarse las restricciones (adis
feisbuk!). Pero todava tena pendiente el asunto de que este programa
modificaba la configuracin de Proxy que por GPO habamos configurado en las
computadoras. Tenemos una poltica de grupo (GPO) que configura el Internet
Explorer para utilizar nuestro Proxy y no permite que los usuarios cambien esta
opcin, pero aparentemente esta poltica solo esconde la opcin de
"Connection" en las opciones del Internet explorer, pero estas podran ser
modificadas por el usuario utilizando algn script, como lo hace el UltraSurf. As
que pens en modificar los permisos de la clave del registro de Windows que
maneja la configuracin de proxy del Internet Explorer, esta se encuentra en:

HKEY_USERS\SID-DEL-USUARIO\Software\Microsoft\CurrentVersion\Internet
Settings

Para modificar los permisos de esta clave solo tenemos que abrir el Editor del
Registro (start-->run-->regedit.exe), movernos hasta la clave especificada,
hacer clic derecho encima y seleccionar "Permissions". Por defecto el usuario
tendr "Full Control" sobre esta clave, si le cambiamos este y solo le dejamos el
permiso "Read" el UltraSurf no podr modificar la configuracin de proxy de
Internet explorer, por lo que tendr obligatoriamente que utilizar el proxy
Interno. As que aunque el programa llegue a conectarse a sus proxies en
Internet, el usuario no podr utilizarlo porque el Internet Explorer continuara
siempre viendo solo a nuestro Proxy interno. Bueno, hasta aqui el post de hoy.
Espero que este les haya servido de ayuda, mas a administradores de sistemas
que a usuarios queriendo violar las politicas de su compaia o universidad
(nada bueno sale de eso, creanme). Como siempre espero no haberles hecho
perder su tiempo leyendome, habiendo tantos buenos blogs en la red para leer,
pero nada, gracias por pasar por aqu.