- WireGuard o Tailscale: diferencias clave para conectarte a tu red local desde fuera
- El fallo de seguridad que pone en jaque a HTTPS: así puedes saber si tu navegador es seguro
Una vulnerabilidad importante sin parchear afecta a Tailscale SSH y podría permitir que un dispositivo comprometido tenga acceso root en otros servidores. Tailscale es una plataforma muy utilizada y que permite conectar ordenadores, servidores y otros dispositivos en una red privada a través de una arquitectura de tipo mesh, la cual se basa en WireGuard. Esto permite acceder de forma remota y segura a otros equipos e infraestructuras en la nube.
Fallos en Tailscale
Este informe se denomina Tailworm y ha sido elaborado por parte de Erica Windisch, de Cyberdione Labs. Analizó, durante tres días, en un entorno de laboratorio, la versión 1.104.2 de Tailscale y la versión 0.29.5 de Headscale (un servidor autohospedado que algunas redes utilizan para ejecutar Tailscale en lugar de recurrir al servicio gestionado por la propia empresa).
Allí encontró esa vulnerabilidad que requiere de dos condiciones para que puedan explotarla:
- Tailscale SSH tiene que estar configurado para permitir el reenvío de puertos.
- El atacante tiene que controlar un dispositivo que ya tenga permiso para conectarse al objetivo.
Hay que mencionar que este informe describe pruebas realizadas sobre ese software, pero no ataques contra redes reales. Por el momento, desde Tailscale no han emitido ningún boletín de seguridad, ni tampoco han asignado un CVE a este fallo. Además, algo a destacar es que no hay parches disponibles. En cualquier caso, puedes acceder al apartado del boletín de seguridad de la web oficial de Tailscale, donde aparecería cualquier cambio al respecto.
En total, el informe recoge 11 hallazgos relacionados con distintos componentes de este ecosistema. No todos son igual de importantes, ni tienen el mismo impacto. Algunos permiten la escalada de privilegios, otros permiten acceder a recursos protegidos.
Sí ha habido respuesta por parte de Mike Shaver, vicepresidente de Tailscale, a través de una publicación en Reddit. En esa publicación ha indicado que había recibido el informe, que ya estaba examinando esas mismas áreas junto con especialistas en seguridad externos y que había detectado problemas en los que ya se está trabajando para ofrecer una solución.
El ataque no requiere de contraseñas
Por la manera en la que funciona Tailscale SSH, que no actúa como un servidor SSH convencional, en lugar de verificar la contraseña o la clave del usuario que intenta conectarse, identifica el dispositivo. Esto hace que el ataque no requiera de contraseñas ni claves robadas.
Para poder llevar a cabo el ataque, lo que necesita es un punto de acceso inicial en un dispositivo. El informe indica que un atacante puede conseguirlo mediante métodos comunes, como una aplicación web vulnerable, un paquete de software malicioso, técnicas de phishing o el robo de credenciales de inicio de sesión.
En cuanto a qué debería hacer un administrador, va a depender de dónde esté alojada la red. En el servicio gestionado por Tailscale, el reenvío de puertos puede desactivarse de forma individual para cada regla. En la versión 0.29.5 de Headscale, no es posible desactivar el reenvío bajo ninguna circunstancia.
Por tanto, el informe señala que cualquier concesión de acceso SSH debe considerarse equivalente a obtener privilegios de superusuario en el sistema de destino.
Mediante el uso de reenvío de puertos SSH estándar, una sesión convencional provocó que el proceso de Tailscale, el cual se ejecuta con privilegios de superusuario, se conectara a un socket del sistema al que solo el usuario root debería tener acceso. La prueba realizada permitió obtener privilegios de superusuario y leer el archivo de contraseñas del sistema casi de inmediato, sin necesidad de contar con derechos de administrador.
Por ahora, las medidas de protección recomendadas son las siguientes:
- Revisar las políticas de acceso SSH.
- Desactivar el reenvío SSH si no es necesario.
- Valorar SSH Check Mode.
- Mantener el software actualizado en todo momento.
