En varias ocasiones he hablado de como evadir aquellos molestos filtros de seguridad, ya sea cifrando las conexiones DNS con dnscrypt o haciendo lo que se conoce como http tunneling sin embargo, hoy quiero compartir una forma mas sencilla para lograr evadir los cortafuegos y poder navegar libremente (como deberia ser siempre).
Esta ves lo haremos gracias a sshuttle una excelente aplicacion que trabaja como un servidor proxy transparente, enviando todo el trafico a traves de una conexion SSH remota (que tengamos previamente).
Para que esto funcione deberemos cumplir los siguientes requisitos:
- Tener un servidor SSH externo disponible, es decir, requerimos un servidor por el cual encaminaremos nuestro trafico y saldremos a internet por alli (si por donde no existen las molestas restricciones).
- Este server remoto debe tener python instalado
- Tener instalada la aplicación sshuttle en la maquina cliente.
Lo primero que debemos hacer es instalar la aplicación shuttle en la maquina cliente, para esto:
apt-get install sshuttle
Generalmente, cuando estamos en redes protegidas o restringidas, bloquean la mayoría de puertos de salida incluyendo el puerto 22 (SSH), por lo cual el siguiente paso sera configurar nuestro server externo para que trabaje sobre un puerto que sabemos nunca pueden bloquear (443,53). Esto lo modificamos en el archivo de configuracion sshd_config en el servidor remoto:
# nano /ssh/sshd_config
y cambiar:
Port 443
Por ultimo reiniciamos el servicio:
# service ssh restart
Ahora que ya tenemos nuestro servidor corriendo sobre el puerto 443, lo único que bastara hacer es lanzar la aplicación sshutle desde el pc que se encuentra en la red restringida:
sshuttle –r ip_ssh_server:443 0/0 (como root)
¿Como funciona?
Esto crea un servidor proxy transparente en la máquina local para todas las direcciones IP que coincidan con 0.0.0.0/0. (Puede utilizar direcciones IP más específicos si quieres;)
Cualquier sesión TCP que se inicia a una de las direcciones IP proxy será capturada por sshuttle y envíada a través de una sesión SSH al servidor remoto, que luego regenera la conexión en ese extremo, y envia de nuevo los datos de un lado a otro a través del tunel ssh.
Otros usos de shuttle
Ya conociendo el funcionamiento de la aplicación, muchos estarán pensando en los otros usos que podríamos darle a esta aplicación, a continuación un par de ellos:
- De esta misma manera podemos saltarnos aquellas zonas wifi que usan portales cautivos para autenticar los usuarios, la diferencia es que en esos casos el puerto que no pueden bloquear es el 53, entonces tendríamos que poner a correr nuestro servidor SSH externo en dicho puerto.
- VPN? Es claro que no seria una vpn para camuflarte y esconder tu IP por que obviamente estarás saliendo con la dirección de tu server, pero si es útil en aquellos casos cuando estas en redes poco “confiables” y quieres cifrar tu trafico.
En conclusión, una de tantas formas de saltarnos estos filtros molestos y absurdos que atentan contra nuestra libertad en la red.
Fuente: rinconinformatico