it-swarm-es.com

¿Creando túnel con la mayoría de los puertos cerrados?

¿Cómo puedo crear un túnel proxy desde una red que tiene todos los puertos cerrados, excepto el 80? Supongo que tendría que vincular SSH en mi servidor al puerto 80, pero ¿eso introduciría problemas en mi red doméstica ya que la interfaz del enrutador está en el puerto 80?

¿TOR sería una mejor solución para algo como esto?

8
pootzko

A menudo uso Tor para este tipo de tunelización. Si Tor funciona en su entorno de red, configure un servicio oculto . El directorio /var/lib/tor (GNU/Linux) tiene un subdirectorio para su servicio oculto. Dentro hay un archivo llamado hostname. Agrega una sección en usted .ssh/config:

Host *.onion
  ProxyCommand socat STDIO SOCKS4A:127.0.0.1:%h:%p,socksport=9050

más quizás otras opciones. Ahora puede conectarse a su máquina usando ssh hidden-service-hostname.onion y ningún cortafuegos lo detendrá.

4
qbi

En realidad, es muy fácil crear un túnel de un solo puerto para aprovechar cualquier puerto que esté abierto en un enrutador. Esto sucede mucho en las pruebas de seguridad; tal vez pueda aprovechar una vulnerabilidad en un servidor, pero luego quiero hacer algo útil con ella, como escalar aún más el ataque. Lo que normalmente hago es ejecutar netcat para crear un canal de salida (digamos, en el puerto 80 que mira a un enrutador o firewall como el tráfico web).

No debería importar que el puerto de comando de su enrutador sea el puerto 80; eso solo es relevante si desea conectarse al enrutador, pero en términos de enrutamiento a través de el enrutador esta solución debe hacer lo que necesita.

Seguimiento rápido ya que mi comentario sobre Shewfig posiblemente no sea muy claro:

Puede ejecutar cualquier servicio en cualquier puerto (prácticamente), por lo que ejecutar un servicio cifrado como SSH en el puerto 80 está bien. No lo abrirá a ataques en html ya que no está ejecutando un servidor html en este puerto. También hay una gran diferencia entre los puertos de salida abiertos y los de entrada. Si tiene el puerto 80 abierto de salida, el enrutador/firewall normalmente permitirá respuestas en un puerto alto (es decir, no en el puerto 80)

2
Rory Alsop

Hay un documento antiguo pero todavía parcialmente relevante llamado cómo perforar el cortafuegos . Está dirigido a estudiantes que usan Linux y se encuentran atrapados en algunos lugares de prácticas detrás de un firewall restrictivo que les impide holgazanear con la ayuda de sus herramientas mejoradas de red favoritas. En general, no apruebo eludir las características de seguridad; pero esta es una lectura interesante (aunque algo obsoleta) si desea comprender los problemas de la red.

2
Thomas Pornin

Probablemente podría configurar el reenvío de puertos, p. Ej. para un nombre de host/ruta específico, y enviar solo esos paquetes a la otra máquina para que sean eliminados. Pero esto dependería mucho de su enrutador.


Solo un comentario adicional sobre TOR: tenga en cuenta que, si bien TOR puede ser invaluable para anonimización, en realidad daña enormemente su confianza. Entonces, dependiendo de lo que esté haciendo en el túnel, probablemente no desee que ningún nodo TOR (y seamos sinceros, la mayoría de ellos ahora son maliciosos) que vea y altere sus datos.

0
AviD

La respuesta realmente depende de lo que realmente esté tratando de lograr.

Si está intentando crear una conexión de proxy genérica a su red doméstica desde dentro de esta red hipotética "80 salientes solamente", entonces hay 2 cosas mal: 1) SSL normalmente está alojado en 443: 80 normalmente no está cifrado. Permitir solo el puerto 80 saliente garantiza que navegar desde esa red lo dejará engañado. 2) El enrutador de su hogar está escuchando Internet en el puerto 80, lo que lo apagará.

Si está intentando crear un proxy desde la red "80 solamente" para navegar por la web desde una dirección IP diferente, ya existen muchos proxies públicos para esto.

Si está intentando acceder a su PC doméstica desde la red "80 solamente", existen soluciones como GoToMyPC y LogMeIn que lo hacen mediando la conexión.

Como respuesta genérica, diría que debe configurar el enrutador de su hogar para que deje de escucharse en el puerto 80 (desactive http sin formato, solo SSL), luego reenvíe el puerto 80 a 22 en su servidor doméstico. Puntos de bonificación por configurar iptables en su servidor doméstico para realizar el reenvío de puertos de 80 a 22 si se navega desde la red "80 solamente", y permanecer en 80 para todas las demás redes.

0
Shewfig