saltar squid y firewalls - Análisis update: 2010-04-06

Imagen de falcom

Forums: 

Bueno espero les sirva a alguien, recientemente me di cuenta q un user en particular disponia de servicio de internet sin autorizacion, como?? se preguntaran uds (en especial con todas las restricciones q les pongo }:) ), bueno primero le coloque un tcpdump para ver lo que hacia y bingo encontre algunas cosillas interesantes.

tcpdump -i eth0 host dir_ip and port 8080

luego con la ayuda de jnettop, iptraf y whirelesshark con los filtros respectivos me di cuenta de que en verdad navegaba asi no tenga los permisos respectivos (dir ip+mac+autentificacion) para mi caso.

Luego me dedique a probar x 2 dias varias herramientas que encontre en inet (y que les listo a continuacion) casi la mayoria son para mocosoft, solo encotre una para GNU/linux.

Análisis
Os Server: Centos 5.3
Squid version: 2.6 stable21
firewall: iptables 1.3.5

Aca les dejo un listado de programas que se saltan el squid + sus restricciones o encapsulan el trafico haciendo tunneling.
- Ultrasurf: (este fue el prg con el que se conectaba el usuario en cuestion) bastante elaborado utiliza el pto 9666 que son ptos locales, pero igual da la opcion de colocar cualquier otro pto. No requiere instalacion (ejecutable)
- Gpass: oculta nuestra ip mientras navegamos, fluye video/audio, etc, interfaz grafica
- Freegate, prg cliente contra censuras, no requiere instalacion (ejecutable)
- Gtunnel:Trabaja como http local o simula un proxy server, el trafico pasa a traves de gtnunnel y lo dirige a los servers de gtunnel luego hacia el inter (como hacen varios proxys publicos).
- JAP: navegacion anonima, en vez de navegar directamente se conecta en forma cifrada utiulizando servers intermedios y mezclas supuestas.
- PingFu Iris: permite hacer tunneled con minima letencia desde los firewalls o hacer un bypass a los proxy servers. permite 128 bit de encrypcion.
- PingFu UDP: Transmite UDP packets encapsulados en el protocolo de comunicacion TCP, estes es el unico protocolo disponible para los users detras de los firewalls y proxy servers.
- AutoTunnel GG usa algo llamado 'proxification' los drivers interceptan todas las comunicaciones TCP y UDP desde las aplicaciones lanzadas desde el AutoTunnel GG client. Estas comunicaciones son tunneled ('proxified') usando los tunneling servers para acceder a los servers seleccionados.
- Freedom: Es un web proxy abierto y sin censura, se conecta usando anonymous SOCKS, es el mayor programa usado en paices o lugares donde hay restricciones.
- ip spoofing: Aca hay una muy buena descripcion del programa
- cgiproxy: Es el unico soft para gnu/linux mas info ACA
- Hide IP platinum: Evita que las webs que visitas te monitoricen a través de tu IP fija, evita que tu información personal sea usada para que te envíen Spam, proteger tu PC del ataque de hackers, etc...
- Torpark: Es una herramienta de navegación anónima en Internet, que ofrece un cliente por la red anónima tor (distribuye el trafico por diferentes sistemas o nodos Tor) que dificulta el rastreo del origen de la conexión, el Torpark lo puedes llevar en una memoria USB ya que es ejecutable y free.
- Proxyway: Esconde la ip real, buscador de Proxy, chequeo de proxy, intercambiador de proxys, filtrado de proxys, trabaja con CGI proxies, soporta todos los tipos de proxys. Mas info aca
- Secure Tunnel: Provee conexion con encrypcion para todas las formas de navegacion, incluyendo http, news, mail, y el especialmente vulnerable IRC e ICQ. El programa no sólo muestra una IP diferente, sino que esta se modifica (automática o manualmente) mientras navegamos para evitar un seguimiento.

Conclusiones:
- De cada una de las aplicaciones indicadas podriamos hablar dias enteros o hilos enteros, ya que algunas inclusive nos permiten escoger las aplicaciones a ejecutar hablese de browsers, mensajeria instantanea, streaming, etc
- 0j0 no todos los programas fueron o son creados con el animo de jodernos (o hacking) la vida a los administradores algunos o la mayoria son usados en paises o ambientes hostiles hablese de CHINA, Korea del Norte o CUBA donde la navegacion es muy restringida.
- Solo liste los mas importantes o los mas usados, segurante hay muchos mas pero estos son los mas usados.
- Cabe indicar que me di la molestosa tarea de probar todos estos en mi red y gracias a dios no funcionan ni siquiera se conectan lo que me da la seguridad que mis reglas en mi firewall estan correctas.
- Pues nada siempre hay que estar actualizandose en los diversos tipos de prgs que salen para saltarse los bloqueos tanto del proxy como de los firewalls, espero le haya servido a mas de uno.
UPDATE: 06-04-2010
Pues nada que han lanzado la nueva version del ultrasurf la version 9.95 pero igual las reglas en el firewall lo bloquean, testeado!

yeap como les indicaba el

Imagen de falcom

yeap como les indicaba el ultrasurf se conecta al pto 9666 que es un pto local de la maquina, y hace el scaneo de ptos desde el 9000 al 10000 solucion para bloquear el ultrasurf:

iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 9000:10000 -j DROP
iptables -A INPUT -s 0.0.0.0/0 -p udp --dport 9000:10000 -j DROP

bloqueo de ptos desde el 9000 al 10000 a cualquier red, claro si alguien ocupa el webmin pues antes deberian abrirlo!

Me olvide ademas de las otras

Imagen de falcom

Me olvide ademas de las otras reglas hay q agregar algo en squid

http_access deny CONNECT !SSL_ports

esto sirve para bloquear el resto de programas y obviamente la regla de oro en iptables

iptables -A FORWARD -s dir_ip/mask -i eth0 -j DROP

no se olviden de esa!!
Sobre el ultrasurf miren lo que trata de hacer:
[quote]No. Time Source Destination Protocol Info
2509 60.654297 myproxyip 192.168.2.51 TCP http-alt > dialogic-elmd [ACK] Seq=1 Ack=58 Win=5840 Len=0

Frame 2509 (60 bytes on wire, 60 bytes captured)
Ethernet II, Src: Intel_aa:df:d7 (myproxymac), Dst: Sony_4d:87:ca (08:00:46:4d:87:ca)
Internet Protocol, Src: myproxyip (myproxyip), Dst: 192.168.2.51 (192.168.2.51)
Transmission Control Protocol, Src Port: http-alt (8080), Dst Port: dialogic-elmd (1945), Seq: 1, Ack: 58, Len: 0

No. Time Source Destination Protocol Info
2510 60.655129 myproxyip 192.168.2.51 HTTP HTTP/1.0 403 Forbidden (text/html)

Frame 2510 (1479 bytes on wire, 1479 bytes captured)
Ethernet II, Src: Intel_aa:df:d7 (myproxymac), Dst: Sony_4d:87:ca (08:00:46:4d:87:ca)
Internet Protocol, Src: myproxyip (myproxyip), Dst: 192.168.2.51 (192.168.2.51)
Transmission Control Protocol, Src Port: http-alt (8080), Dst Port: dialogic-elmd (1945), Seq: 1, Ack: 58, Len: 1425
Hypertext Transfer Protocol
Line-based text data: text/html[/quote]
pues como ven mi proxy le dice q esta prohibido y luego trata de resolver varios cientos de dominios pero no lo logra
[quote]No. Time Source Destination Protocol Info
27114 676.911838 192.168.2.51 myproxyip DNS Standard query A sykjqqktjup.biz

Frame 27114 (75 bytes on wire, 75 bytes captured)
Ethernet II, Src: Sony_4d:87:ca (08:00:46:4d:87:ca), Dst: Intel_aa:df:d7 (myproxymac)
Internet Protocol, Src: 192.168.2.51 (192.168.2.51), Dst: myproxyip (myproxyip)
User Datagram Protocol, Src Port: lipsinc (1968), Dst Port: domain (53)
Domain Name System (query)

No. Time Source Destination Protocol Info
27115 676.920314 192.168.2.51 192.168.0.7 DNS Standard query A sqtisfiw.info
[/quote]

AYUDA

Disculpa que contiene la variable CONNECT y la variable SSP_ports
http_access deny CONNECT !SSL_ports

Giancarlo

CONNECT no es una variable,

Imagen de deathUser
CONNECT no es una variable, es la acción en este caso le estas negando la conexión (CONNECT) y SSL_ports, contiene la lista de los puertos sobre los que se aceptan conexiones SSL (HTTPS) y está definida más arriba en el archivo de configuración, normalmente contiene los puertos 443,8443, etc ...

bye

}:-)

ARCHIVO DE CONFIGURACION

Dusculpa, pero no veo el archivo de configuración que mencionas, sinceramente quisiera ver como declaraste el SSL_ports
, espero tu paciencia por favor, no se si me puedes compartir tu archivo de squid de tu configuración

Giancarlo

La ubicación del archivo de

Imagen de deathUser
La ubicación del archivo de configuración dependerá de tu distribución de Linux (o Güin2 incluso) que estés usando, el default es: 
/etc/squid.conf

En este LINK puedes ver un archivo de default de squid, ahí puedes ver el default de la variable SSL_Ports que es 443:

https://wiki.squid-cache.org/Squid-4?highlight=%28SSL_PORTS%29

En este otro LINK, puedes leer sobre el uso que se le da en los ACLS a las variabes, Safe_Ports y SSL_Ports:

https://wiki.squid-cache.org/SquidFaq/SecurityPitfalls?highlight=%28SSL_PORTS%29#The_Safe_Ports_and_SSL_Ports_ACL

Suerte ...

PD: Si tienes dudas específicas, puedes detallar que es lo que estás queirendo hacer y cual es el problema que te da para poder hacerlo.

PD2: STFW!!!

bye
}:-)

JODER la ultima, un user q si

Imagen de falcom

JODER la ultima, un user q si dispone de internet y que corre el programilla en cuestion, puede saltarse las restricciones de squid y bloqueos de pagnas y descarga de archivos.
El bloqueo propuesto sirve para aquellos users q no estan autorizados para navegar, mañana seguire investigando para poner los parches respectivos!!

Páginas