TunnelCrack: se descubren vulnerabilidades que afectan a la mayoría de VPN

TunnelCrack: se descubren vulnerabilidades que afectan a la mayoría de VPN

Sergio De Luz

La mayoría de nosotros usamos las VPN para conectarnos de forma remota a nuestro hogar, cuando estamos fuera de casa o para proteger la conexión si nos conectamos a una red WiFi pública. Lo mismo ocurre si usamos servicios de VPN como WARP de Cloudflare, o servicios de VPN comerciales que todos conocemos. Si utilizas VPN, debes saber que tus datos podrían estar en riesgo, ya que se ha descubierto una serie de vulnerabilidades que podrían filtrar información privada. TunnelCrack es el nombre de estas vulnerabilidades que se ha descubierto, y afectan a los clientes VPN, por lo que deberías revisar si realmente estás afectado o no.

Se supone que una VPN protege todos los datos que transmite el usuario, desde el cliente VPN hasta el servidor, de esta forma, se establecerá un túnel cifrado punto a punto. Estos ataques que se han descubierto, son capaces de eludir la protección de una VPN, por ejemplo, se podría filtrar y leer el tráfico de los usuarios, robar información confidencial e incluso atacar los dispositivos de los usuarios.

Cómo me afectan estas vulnerabilidades

Si utilizas un servicio de VPN, o te conectas al servidor VPN de tu hogar, podrían comprometer la comunicación supuesta cifrada. Según las pruebas realizadas, es muy probable que todos los clientes VPN para iOS y macOS estén afectados, también la mayoría de VPN para los sistemas operativos Windows y Linux están afectados, mientras que el sistema operativo Android es el más seguro, solamente una cuarta parte de las aplicaciones VPN son vulnerables en este sistema operativo.

El principal problema es que se pueden explotar estas vulnerabilidades independientemente del protocolo de seguridad usado, es decir, las VPN que disponen de «cifrado de grado militar» también están afectadas, ya que este ataque no se centra en la criptografía que hay en el túnel, sino en realizar varios ataques fuera de este túnel, y que provoca que se pueda exponer información privada a cualquier ciberdelincuente que te esté atacando.

La gran mayoría de fabricantes y empresas relacionadas con las VPN están actualizando sus aplicaciones para resolver este problema tan grave que se ha descubierto, con el objetivo de evitar que un ciberdelincuente pueda forzarnos a enviar tráfico fuera del túnel, algo que permitiría al atacante capturar todos nuestros datos completamente descifrados, e incluso realizar ataques Man in the Middle avanzados modificando el tráfico al vuelo, como si no estuviéramos usando un servicio de VPN.

Qué ataques se pueden hacer con estos fallos de seguridad

El equipo de investigadores de seguridad, ha descubierto un total de dos ataques, el primero es LocalNet que se puede explotar cuando un usuario se conecta a una red WiFi no confiable, y el segundo se llama ServerIP que se puede explotar también en redes WiFi no confiables, e incluso en operadores de Internet. Ambos ataques lo que hacen es manipular la tabla de enrutamiento de la víctima, para engañar al cliente VPN y enviar tráfico fuera del túnel VPN protegido. Por este motivo, un ciberdelincuente podría leer e interceptar el tráfico transmitido.

Elegir la VPN perfecta

En condiciones normales, la tabla de enrutamiento del cliente hace que todo el tráfico de red se envíe directamente a través del túnel VPN protegido por el cifrado, sin embargo, muchos clientes VPN añaden excepciones para enviar dos tipos de tráfico fuera del túnel. Todo el tráfico enviado hacia y desde la red local estará fuera del túnel, y también todo el tráfico hacia y desde el servidor VPN.

La primera regla en la tabla de enrutamiento, permite que, mientras estamos conectados al servidor VPN, podamos comunicarnos con los equipos de la red local sin problemas. Es decir, un usuario podría estar conectado al servidor VPN, pero sigue teniendo acceso a la red local para imprimir, intercambiar archivos por SMB etc. La segunda regla nos asegura que no haya un bucle de enrutamiento, es decir, que los paquetes VPN ya encriptados no vuelvan a encriptarse.

En los dos ataques que se han descubierto, lo que hacen es justamente explotar estas dos excepciones en la tabla de enrutamiento, con el objetivo de desviar el tráfico fuera del túnel VPN y robar información.

Ataque LocalNet

Este ataque se puede explotar de manera muy sencilla cuando un usuario se conecta a una red WiFi que no es de confianza, ya sea abierta o con cifrado WPA2/WPA3. Si un ciberdelincuente actúa como una red WiFi o cableada maliciosa, y engaña a la víctima para que se conecte a esta red, podrá realizar el ataque. Por ejemplo, si un ciberdelincuente clona una red pública, cuando la víctima se conecte a esta red maliciosa, el ciberdelincuente podría asignarle una dirección IP pública con su correspondiente subred, para posteriormente filtrar todo el tráfico sin quererlo.

En la imagen anterior se puede ver que el ciberdelincuente le proporciona a la víctima una dirección IP 1.2.3.0/24, y establece el túnel VPN correctamente. Debido a que esta subred pública se le ha proporcionado como si fuera local, la víctima podrá acceder a esta subred sin necesidad de enviar el tráfico a través del túnel, sino que lo enviará a través de la «red local» sin cifrar el tráfico, por lo que los datos se ven comprometidos.

El ciberdelincuente podría asignar subredes más grandes a la red local, para filtrar casi todo el tráfico de la víctima. El objetivo de este ataque es filtrar todo el tráfico fuera del túnel VPN, e incluso se podría hacer un ataque de denegación de servicio para que la víctima no tenga conectividad a Internet. El equipo de investigadores ha probado más de 66 aplicaciones de VPN en cinco sistemas operativos, y han descubierto que casi todas las aplicaciones de VPN de iOS son vulnerables, la mayoría en Windows y Linux son vulnerables, y solamente el 20% son vulnerables en Android.

Para defenderse de este ataque, la aplicación VPN debería desactivar automáticamente el acceso a la red local cuando la red local usa IPs públicas.

Ataque ServerIP

En este ataque, el atacante podría suplantar las respuestas de DNS antes de que se establezca el túnel de VPN, y poder ver todo el tráfico hacia el servidor VPN. En este caso, el ciberdelincuente también podría actuar como red WiFi o cableada para realizar el ataque, además, un operador de Internet malicioso podría hacerlo a gran escala sin muchos problemas. La idea es que el atacante falsifique la dirección IP del servidor VPN, por ejemplo, si el servidor VPN tiene un determinado nombre de host que apunta a 2.2.2.2, entonces el atacante podría cambiar esta dirección IP por la suya propia que fuera 1.2.3.4, para que así el cliente VPN se conecte al atacante, y este a su vez al servicio de VPN, «colándose» en el medio de la comunicación sin que el cliente lo sepa. Por supuesto, todo el tráfico que reciba del cliente VPN, se reenviará al servidor VPN real para que el cliente crea que la conexión se ha realizado correctamente.

Cuando la víctima visite una web, la enviará a 1.2.3.4 en lugar de al servidor VPN «real», y debido a la regla de enrutamiento para evitar que los paquetes se vuelvan a cifrar en el servidor VPN, la solicitud se envía fuera del túnel VPN protegido, así que todo el tráfico se ve comprometido.

El equipo de investigadores ha descubierto que los clientes VPN integrados en Windows, macOS y iOS son vulnerables. Android 12 y superior no se ve afectado por este problema. Además, bastantes VPN en Linux también son vulnerables. Otro aspecto importante, es que, la mayoría de servicios de VPN usan un dominio para establecer la conexión, en lugar de usar una dirección IP pública, por tanto, podrían verse afectadas por este ataque.

Para evitar este ataque, los clientes VPN deben actualizarse y enviar todo el tráfico a través del túnel VPN, excepto el tráfico generado por la propia aplicación.

En el siguiente vídeo se puede ver una demostración de cómo se realizarían los ataques:

Como podéis ver, la mayoría de VPN están en jaque debido a estos fallos de seguridad, y es que podrían comprometer nuestra privacidad y seguridad de forma bastante sencilla. No es necesario un ordenador muy potente, cualquier persona con acceso a la red puede realizar estos ataques, y son independientes del protocolo VPN usado, ya que no se ataca el cifrado ni el establecimiento de la conexión, sino la tabla de enrutamiento.

¿Se ha corregido ya el problema?

Con la finalidad de proteger a los usuarios, se han lanzado días atrás las correspondientes actualizaciones de seguridad durante una divulgación coordinada de 90 días, en colaboración con CERT/CC y varios proveedores de VPN. Por ejemplo, Mozilla VPN, Surfshark, Malwarebytes, Windscribe y WARP de Cloudflare ya están parcheadas. Muy pronto muchas otras empresas también lanzarán parches para solucionar o mitigar el problema en el lado del cliente VPN. En el caso de que no tengas actualizaciones para tu VPN, se podría mitigar el ataque de LocalNet deshabilitando el acceso a la red local. Por supuesto, el problema se mitiga usando siempre HTTPS para todas las comunicaciones, pero lamentablemente solamente los sitios web que tengan HSTS nos garantizan que siempre la conexión será por HTTPS.

HTTPS Everywhere

Mientras que la mayoría de los fabricantes y empresas han reaccionado muy rápido para resolver este problema, debemos destacar que Microsoft no planea lanzar ningún parche para solucionar esta vulnerabilidad, porque creen que esto realmente no es un fallo, que es un comportamiento por diseño y que de ninguna forma se puede filtrar información una vez que se ha establecido el túnel. El equipo de investigadores ha demostrado que esto no es cierto, y creen que Microsoft no ha entendido bien los ataques.

En el caso de los DNS, teniendo en cuenta que la mayoría de peticiones todavía se usa DNS puro y no las alternativas privadas como DNS over TLS o DNS over HTTPS, en este caso, la solución pasaría por usar DoT o DoH para protegernos y evitar que un ciberdelincuente pueda ver y manipular las peticiones DNS que realicemos. En muchos casos, se usan las VPN para encapsular otros protocolos que no son seguros, como el protocolo RDP, FTP o Telnet entre otros. En estos casos, un ciberdelincuente podría eliminar la protección que ofrecen las VPN, y hacerse con las credenciales de acceso de estos protocolos inseguros, por lo tanto, debes tener mucho cuidado a partir de ahora.

En el caso de que utilices OpenVPN para conectarte de forma remota a tu red local doméstica, la recomendación de los investigadores de seguridad es que uses el cliente de Windscribe, ya que es el único cliente OpenVPN de código abierto que no tiene este problema de seguridad en las últimas versiones. Si usas la aplicación o programa oficial de OpenVPN, tendrás que esperar unas semanas para estar completamente seguros a la hora de conectarte, por tanto, debes tenerlo muy en cuenta si piensas conectarte a redes WiFi públicas y usar este túnel VPN porque ahora mismo no es nada seguro.

Os recomendamos visitar la web oficial de esta vulnerabilidad TunnelCrack donde encontraréis todos los detalles técnicos, incluyendo el paper con toda la investigación y pruebas de los diferentes servicios de VPN.