CEUPE UCAM - Curso Hacking Ético

"Nuestro Curso en Hacking Ético y Ciberinteligencia es de referencia internacional, escogido por empresas Multinacionales y Gobiernos como el más completo de su categoría"

Seguridad de redes¿Cómo puedes crear un túnel SSH en la red?

¿Cómo puedes crear un túnel SSH en la red?

SSH es un protocolo que permite la conexión a un host, todo ello de forma remota y cualquier usuario lo puede hacer.

SOLICITA MÁS INFORMACIÓN

Curso Hacking Ético

    RECIBE EN TU EMAIL:

    El precio y facilidades de pago.
    Postulación a la BECA 20% dcto.
    Complemento de Herramienta de Networking Profesional.

    ¿Ya sabes cómo crear un túnel SSH en tus redes? Pues bien, en este artículo sabrás cómo hacerlo en distintos sistemas operativos. Para empezar, el Secure Shell, o SSH, se utiliza para crear un canal seguro entre una computadora local y uno remoto. Aunque el SSH se utiliza habitualmente para el acceso seguro a terminales y la transferencia de archivos.

    También puede utilizarse para crear un túnel SSH seguro entre ordenadores para reenviar otras conexiones de red que normalmente no están cifradas. Los túneles SSH también son útiles para permitir el acceso externo a los recursos de la red interna.

    Antes de crear un túnel SSH, debes saber esto

    En primer lugar, SSH es un protocolo que permite la conexión a un host. Todo ello de forma remota y cualquier usuario lo puede hacer. Entre otras cosas, otorga un escudo, llamado Shell, el cual es interactivo. Además, proporciona también un terminal (prompt) para escribir comandos. De igual manera, una gran cantidad de servidores que se basan en Linux ya tienen un servidor SSH instalado. Igualmente, tanto el SO Windows como cualquier distro de Linux, ya tienen un cliente de este tipo completamente instalado. Ahora bien, el protocolo cliente / servidor que más se utiliza, es el llamado OpenSSH.

    Implicaciones del Firewall

    Debido a que crear un túnel SSH facilita el control remoto de un host, el servidor SSH debería estar siempre configurado con algunas reglamentaciones de firewall que deberían incluir una lista blanca de conexiones desde un host específico. Esto es validado correctamente si se puede acceder al servidor SSH directamente desde Internet. Sería un fallo importante si la infraestructura de operaciones estuviera comprometida o incluso fuera accesible para los adversarios.

    Crear un túnel SSH a partir de la autenticación

    Las conexiones SSH pueden establecerse con solo un nombre de usuario y una contraseña para la autenticación. Además, el protocolo SSH permite la creación de dos claves públicas y privadas que pueden utilizarse posteriormente en vez de usar una contraseña. Estas claves ofrecen un fuerte cifrado asimétrico configurable.

    De tal manera que los usuarios tiene que asegurar el acceso a su clave privada, como un secreto de Estado. La clave pública generada se añade al archivo SSH authorized_keys del host de destino.

    Para crear un túnel SSH necesitas lo siguiente

    Para crear un túnel SSH, necesitarás de varias herramientas, protocolos y puertos para acceder a tu red sin intromisiones. Por ello, verás a continuación lo que necesitas para crearlo.

    • Un servidor de destino que ofrezca servicios de red (http, vnc, etc.) al cliente.
    • El Servidor SSH a la “escucha” de las conexiones del cliente.
    • Un cliente SSH configurado para que pueda hacer el reenvío del tráfico. Todo ello a través de un puerto local. Además, tiene que configurarse a través del servidor SSH para que conecte con el servidor de destino.

    Del mismo modo, el servidor SSH puede ejecutarse en la misma computadora que el servidor de destino o en una diferente. Debes saber que las comunicaciones de red entre el servidor SSH y el servidor de destino no están encriptadas por el túnel. Por lo que si los servidores se ejecutan en equipos diferentes, deberían estar conectados desde una misma red segura. Al menos, esta sería la situación ideal.

    Igualmente, la configuración de un servidor SSH dispone de múltiples opciones vistas para poder crearlo; las cuales incluyen: OpenSSH  para sistemas basados en UNIX y Bitvise SSH Server  para el sistema operativo Windows.

    Por lo general, el servidor SSH tendrá que tener acceso al puerto de escucha en el servidor de destino. Los clientes SSH más comunes incluyen OpenSSH (Linux) y PuTTY para Windows.

    Conexión a un servicio inseguro

    En este escenario, un cliente desea conectarse a un servicio que no utiliza cifrado de forma nativa, pero no quiere que el tráfico se envíe sin cifrar a través de Internet. El entorno para este tipo de servicio seguro estaría configurado de la siguiente manera:

    Servidor de destino: El servicio VNC está configurado en el puerto 5900 en la dirección IP 1.2.3.4.

    Servidor SSH: El servicio SSH está configurado en el puerto 22 en la dirección IP 1.2.3.5.

    Máquina cliente: Clientes SSH y VNC instalados.

    Creación de un túnel SSH mediante PuTTY:

    Para el sistema operativo Windows, puedes crear un túnel SSH utilizando la herramienta PuTTY. ¿No sabes cómo hacerlo? No te preocupes, aquí tienes la forma de lograrlo paso a paso.

    En primer lugar, tienes que abrir la interfaz de usuario del cliente PuTTY. Ahora, en la ventana Sesión, en “Opciones básicas para su sesión PuTTY”, introduce la dirección IP y el puerto de escucha del servidor SSH.

    En el panel izquierdo, selecciona la siguiente ruta: Conexión->SSH->Túnel. Luego, en “Opciones que controlan el reenvío de puertos SSH”, escribe la siguiente configuración:

    • Puerto de origen: escoge un puerto arbitrario y que no esté en uso en tu cliente. Por ejemplo, utiliza el puerto 15900.
    • Destino: Dirección IP y puerto de escucha del servidor de destino, 1.2.3.4:5900.
    • Ahora, deja seleccionados los botones de opción “Local” y “Auto”.
    • Haz clic en “Añadir” para guardar esta configuración.
    • Luego, haz clic en “Abrir” para crear el túnel SSH. Escribe tu nombre de usuario y contraseña para el servidor SSH cuando se te solicite.

    Crear un túnel SSH utilizando OpenSSH:

    En el sistema operativo Linux, puedes crear un túnel SSH mediante comandos desde el terminal. El siguiente comando se puede utilizar para crear los túneles SSH utilizando el cliente OpenSSH: ssh -L 15900:1.2.3.4:5900 1.2.3.5 –N.

    Ahora bien, La opción del puerto 15900:1.2.3.4:5900 especifica el puerto local, 15900, que será reenviado al puerto remoto, 5900, en el servidor de destino, 1.2.3.4. El puerto local puede ser cualquiera que la máquina configurada como cliente, no esté utilizando. Ahora, debes escribir tu nombre de usuario y contraseña SSH cuando se te solicite. A menos que hayas configurado tu servidor SSH para la autenticación de clave pública.

    ¿Cómo puedes conectarte al servicio a través del túnel SSH?

    Para conectarte en el servidor de destino, debes configurar tu cliente para conectarte a la computadora cliente. Esto se hace utilizando el puerto de escucha local. Este puerto ya está determinado en la configuración del túnel SSH. Utiliza la dirección de bucle local, 127.0.0.1. De esta manera, el tráfico se va a reenviar por el túnel SSH al servidor de destino.

    Utiliza un cliente que soporte nativamente los túneles SSH como alternativa

    Algunos clientes para servicios de red no encriptados, como FTP, VNC, entre otros, soportan nativamente conexiones usando túneles SSH. En este caso, no es necesario crear manualmente el túnel SSH utilizando un cliente como OpenSSH o PuTTY. Basta con introducir la información del servidor SSH directamente en el cliente VNC que soporta los túneles SSH.

    ¿Existen riesgos al crear un túnel SSH?

    Cuando se habla de redes e Internet, las medidas de seguridad no son 100% impenetrables. Por esta razón, existen algunos riesgos de seguridad al crear un túnel SSH. Si bien no supone una amenaza automática cuando lo creas, debes tener precaución cuando estás en este proceso. Los hackers están en todas partes y no dudarían en entrar a tu red, así tengas un túnel SSH blindado.

    1. Servidores SSH no aprobados

    Si tienes usuarios y administradores que habilitan el acceso al servidor SSH en sistemas en los que no se hace necesario. Estás ampliando su superficie de ataque, debido a que los cibercriminales tendrán una mayor posibilidad de acceder de forma remota a estos sistemas.

    2. Software SSH sin parches

    Para los sistemas en los que el uso del túnel SSH está justificado, si el software de servidor y cliente SSH no se mantiene al día con correcciones y actualizaciones. Puede exponer los sistemas y los datos que está diseñado para proteger y hacerlos vulnerables a una intromisión por parte de hackers.

    3. Configuración SSH vulnerable

    La mayoría de las implementaciones de servidores y clientes SSH, por ejemplo, OpenSSH. Incluyen un número importante de parámetros de configuración que afectan al funcionamiento y a la seguridad. Incluyendo opciones de autenticación, acceso root, reenvío de puertos y localización de archivos.

    Afortunadamente, a lo largo de los años, la mayoría de los desarrolladores de implementaciones de SSH han seleccionado configuraciones por defecto que son más seguras. Sin embargo, hay un par de valores por defecto, como el reenvío de puertos y la ubicación de los archivos de claves autorizadas, que no son óptimos.

    Además, si los usuarios y administradores cambian arbitrariamente esas configuraciones sin considerar las implicaciones de seguridad, pueden abrir esos sistemas a ataques más amplios y que conllevan a más problemas si comprometen la información almacenada en los equipos de tu red.

    4. Reenvío de puertos SSH

    Si te remontas a los días en que el cifrado no estaba disponible para todos los protocolos, SSH cuenta con la capacidad de reenviar el tráfico que va a un puerto local en un cliente SSH. El tráfico se reenvía a través de la sesión SSH cifrada, al servidor SSH o incluso más allá.

    El problema es que esto permite que las comunicaciones no aprobadas atraviesen los Firewall. Si el usuario de un cliente SSH al que se le ha concedido acceso SSH a un servidor situado al otro lado de un Firewall, puede habilitar el reenvío local de puertos. Con esto, se abre la posibilidad de que un atacante pueda acceder a sistemas y dispositivos que de otro modo no serían accesibles.

    Al explotar el reenvío de puertos, un cibercriminal puede eludir los Firewall que has configurado para limitar el acceso a la red del servidor. Del mismo modo, los atacantes evitan la detección porque están operando a través de una conexión SSH cifrada.

    5. Crear un túnel SSH: compromiso de la clave privada

    Cuando se configura el protocolo SSH para la autenticación de clave pública, las claves privadas permiten el acceso a las cuentas. Si una clave privada se ve comprometida, un atacante puede autenticarse en las cuentas en las que se confía la clave privada. Estos son algunos de los riesgos que plantean las claves privadas SSH:

    • Usuarios descuidados: Cuando dichos usuarios tienen autorización para usar la autenticación de clave pública SSH. Pueden equivocarse y ser algo descuidados al tener que manejar sus propias claves privadas. Ya sea colocándolas en lugares inseguros, copiándolas en varios ordenadores, y no protegiéndolas con contraseñas fuertes.
    • Rotación de administradores: Cuando está implementada la autenticación de clave pública en los procesos de automatización, uno o varios administradores del proceso serán responsables de gestionar la clave privada del proceso. Los administradores pueden hacer copias de esas claves privadas y, si son reasignados o cesados, pueden utilizar las claves para autenticarse en los servidores de destino.
    • Claves débiles: Debido a que muchas claves SSH no han sido cambiadas en años, las claves de menor longitud; por ejemplo, claves de 512 o 768 bits todavía están en uso. Haciendo posible que un hacker especializado pueda derivar el valor de la clave privada. Además, ha habido fallos en las bibliotecas criptográficas. Por ejemplo, en la distribución Debian en el 2006. Que han dado lugar a la generación de claves débiles y fáciles de romper.

    6. Acceso no autorizado a SSH

    Dado que SSH proporciona acceso remoto a los sistemas, es fundamental que el acceso sea rastreado y controlado. Dado que muchas organizaciones no tienen una supervisión y control centralizados de SSH, el riesgo de acceso no autorizado está aumentando. Estos son algunos de estos riesgos al crear un túnel SSH:

    • Relaciones de confianza no rastreadas: Al igual que con cualquier método de acceso, no mantener un inventario de dónde están instaladas las claves SSH y las relaciones de confianza que establecen entre los sistemas y las cuentas, es una receta para el acceso no autorizado. Con los administradores que van y vienen a lo largo del tiempo, muchas organizaciones han acumulado un gran número de claves SSH. Pero no tienen visibilidad del acceso que proporcionan.
    • Empleados despedidos: Si los usuarios de SSH -ya sean empleados o contratistas externos- cambian de función o son despedidos y su acceso a los servidores SSH no se actualiza o cancela adecuadamente, estas personas pueden tener acceso continuo aunque no autorizado a los sistemas de misión crítica.
    • Claves de puerta trasera: Por defecto, la mayoría de las implementaciones de SSH, por ejemplo, OpenSSH. Permiten a los usuarios configurar sus propios archivos de claves autorizadas; colocando una clave pública en una cuenta para que puedan acceder a ella utilizando una clave privada. Si las organizaciones no mantienen un inventario actualizado de las claves autorizadas y lo revisan regularmente, los usuarios e incluso los atacantes pueden colocar claves autorizadas en lugares inesperados para un futuro acceso.

    7. Escalada de privilegios al crear un túnel SSH

    EL protocolo SSH está generalmente integrado con otros componentes para permitir el acceso a, por ejemplo, permisos del sistema operativo, sudo, PAM y gestión de identidades. Ya es bastante difícil orquestar de forma centralizada la configuración segura de todos estos componentes. Esto para evitar que un atacante consiga escalar privilegios durante un ataque. 

    Es aún más desafiante cuando tienes múltiples administradores individuales, cada uno tomando decisiones sobre la implementación de SSH sin ninguna supervisión o revisión central. Sin esta supervisión, te enfrentarás a un mayor potencial de escalada de privilegios, especialmente porque los atacantes que acceden remotamente a los sistemas a través de SSH tienen una sesión cifrada dentro de la cual pueden ocultar sus acciones.

    8. Claves de host conocidas por los hackers

    Si un usuario o administrador que establece inicialmente una conexión desde un cliente SSH a un servidor SSH no comprueba la autenticidad de la clave pública de ese servidor. Puede aceptar la clave pública de un atacante y permitir un ataque de man-in-the-middle.

    9. Riesgo en el soporte al crear un túnel SSH

    Una vez que los atacantes consiguen una entrada inicial en una red, ya sea a través de phishing o de otros medios. Su siguiente movimiento suele ser entrar en otros sistemas. Si estas acciones no son controladas y si no se gestionan de forma estricta, el túnel SSH puede permitir ese movimiento o pivote entre sistemas. Esto debido a las relaciones de confianza persistentes creadas con las claves SSH.

    El pivoteo habilitado por crear un túnel SSH puede ser el más dañino. Esto se debe a que los usuarios de SSH y el proceso automatizado suelen tener privilegios elevados. Muchas organizaciones se exponen al pivoteo basado en SSH porque no tienen un inventario de claves SSH desplegadas que permitan el acceso persistente entre sistemas.

    La lista anterior es un resumen de los riesgos de SSH que existen en la Tecnología de la Información que se utiliza cotidianamente. Así como en los entornos de la nube. Como puedes ver, aunque el protocolo SSH es un importante activo de seguridad, puede convertirse rápidamente en una pesadilla si no se gestiona con cuidado.

    ¿Quieres crear estas herramientas de red y proteger tu organización? Con el Curso en Hacking Ético lograrás tu cometido y tendrás tus sistemas bien protegidos. Todo ello gracias a este excelente programa de estudios avanzados.

    ¡Comparte!

    ¡Déjanos tu comentario!

    DEJA UNA RESPUESTA

    Por favor ingrese su comentario!
    Por favor ingrese su nombre aquí

    Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.

    Te puede interesar 👇

    SOLICITA MÁS INFORMACIÓN

    Curso Hacking Ético

      RECIBE EN TU EMAIL:

      El precio y facilidades de pago.
      Postulación a la BECA 20% dcto.
      Complemento de Herramienta de Networking Profesional.