¿Qué son los túneles SSH?

| Última modificación: 19 de abril de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Los túneles SSH son una funcionalidad que se puede utilizar con el protocolo Secure Shell (SSH) para crear una conexión segura entre un cliente y un servidor a través de una red no segura, como internet. Para conocerlos mejor, en este artículo veremos algunas generalidades respecto a los túneles SSH y su funcionamiento.

túneles SSH

¿Qué son los túneles SSH?

SSH es un protocolo de red que le permite a los usuarios conectarse de forma remota a sistemas informáticos y ejecutar comandos de forma segura. Además de proporcionar una comunicación cifrada y autenticada entre el cliente y el servidor, SSH también permite la creación de túneles SSH.

Los túneles SSH son, a grandes rasgos, una forma de encapsular o envolver otro protocolo de red dentro de una conexión SSH segura. Esto significa que los datos enviados a través de los túneles SSH están protegidos por el cifrado y la autenticación proporcionados por SSH.

Hay dos tipos principales de túneles SSH:

  • Túnel de reenvío local: permite redirigir el tráfico del puerto local del cliente a un puerto remoto en el servidor a través de la conexión SSH.
  • Túnel de reenvío remoto: permite redirigir el tráfico de un puerto remoto en el servidor a un puerto local en el cliente a través de la conexión SSH.

Los túneles SSH se utilizan mucho para proteger y asegurar el tráfico de red, lo que le permite a los usuarios acceder de forma segura a servicios y recursos en redes inseguras.

Uso de proxychains

Proxychains es una herramienta instalada en Kali que permite encadenar diferentes proxies, tanto locales como remotos. Una vez creados los túneles SSH, y teniendo un puerto a la escucha, podemos hacer pasar la comunicación por los túneles SSH y salir por el último de los VPS que hayamos encadenado.

🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴

Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Ciberseguridad por una semana

A continuación puedes ver algunos ejemplos de proxychains:

#Escaneo de la máquina local sobre la que se ha realizado el túnel
$ proxychains nmap -sT -F -sV 127.0.0.1

#Conexión RDP al sistema hacia el que apunta el túnel
$ proxychains rdesktop 127.0.0.1:3389

#Conexión SMB al controlador de dominio con usuario domain admin
$ proxychains smbclient -U dom.local\\ <domainadmin> \\\\ <controlador> \\c$

Creación de los túneles SSH

Durante un ejercicio es probable que sea necesario realizar la creación de túneles SSH en diferentes situaciones, como, por ejemplo, para saltar a través de los servidores VPS contratados o para desplegar persistencia en máquinas internas.

Creación de túnel con VPS

#Túnel de PC a servidor 1:
$ ssh -D <puerto local> <usuario - s1> @ <IP servidor1>

Redirección de tráfico mediante proxychains

#Uso del puerto local puesto a la escucha
$ cp /etc /proxychains.conf ./
$ nano proxychains.conf #(cambiar la última línea + puerto local a la escucha)
$ proxychains <herramienta>

Es posible crear múltiples túneles para encadenar la conexión entre diferentes máquinas y, de ese modo, lograr saltar a través de estas de forma transparente. Se muestra a continuación cómo hacerlo.

Creación de túneles SSH con 2 VPS diferentes

#Túnel de Kali a Servidor 1:
$ ssh -L <puerto local> : 127.0.0.1: <puerto VPS> <usuario - s1> @ <IP servidor1>

#Túnel de Servidor 1 al Servidor 2 (reutilizando conexión abierta):
$ ssh -D <puerto VPS> <usuario - s2> @ <IP servidor2>

Posteriormente, se deberá hacer uso de proxychains para indicar que el puerto local está a la escucha en la máquina local, en este caso Kali.

Encadenamiento de túneles SSH+TOR

Se pueden crear múltiples túneles SSH para encadenar la conexión entre diferentes máquinas y, así, lograr saltar a través de estas de forma transparente. Se muestra a continuación cómo hacerlo:

Creación de túneles SSH con 2 VPS diferentes

#Habilitación del servicio TOR:
$ service tor start

#Editar el archivo para usar proxychains mediante TOR
$ nano proxychains.conf #(cambiar la última línea - socks5 127.0.0.1 9050)

#Creación del túnel SSH mediante TOR:
$ proxychains -f proxychains4.conf ssh -D <puerto local> <usuario> @ <IP servidor>

Una vez hecho esto, será posible utilizar como proxy el puerto <puerto local>. No olvides que habrá que configurar de nuevo en proxychains o en otro nuevo dicho puerto como túnel socks. Otra opción sería encadenar dos proxies directamente mediante proxychains.

¿Cómo seguir aprendiendo sobre ciberseguridad?

Ya hemos visto qué son los túneles SSH. Si te gustaría seguir aprendiendo sobre este tema para convertirte en todo un experto de la materia, accede ya al Ciberseguridad Full Stack Bootcamp. En esta formación íntegra de gran calidad e intensidad, dominarás la teoría y la práctica gracias a la guía de profesores expertos en el mundillo IT. De este modo, en pocos meses, estarás listo para destacar en el mercado laboral tecnológico. ¡Solicita ya mismo más información y atrévete a dar el paso que transformará tu futuro!

Carlos Cilleruelo

CEO and co-founder of Byron Labs & Coordinador del Bootcamp en Ciberseguridad.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Ciberseguridad

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado