Hace pocos días se presentó la noticia sobre un nuevo método de ataque a conexiones que utilizan las VPN, el cual fue desarrollado en conjunto por investigadores de universidades canadienses y estadounidenses.
Bautizado bajo el nombre de «Port Shadow», este método de ataque permite, al manipular las tablas de traducción de direcciones en el servidor VPN, enviar respuestas a solicitudes dirigidas a otro usuario conectado al mismo servidor. El ataque puede usarse para interceptar o redirigir tráfico cifrado, realizar escaneos de puertos y anonimizar a los usuarios de VPN. Por ejemplo, se puede redirigir el tráfico DNS de un usuario a un host atacante.
¿Cómo funciona un ataque de “Port Shadow”?
Port Shadow se basa en que:
Al enviar solicitudes diseñadas específicamente, un atacante conectado al mismo servidor VPN y usando una NAT compartida puede alterar las tablas de traducción de direcciones. Esto provoca que los paquetes dirigidos a un usuario sean enviados a otro. La información en las tablas NAT sobre qué dirección IP interna está asociada a una solicitud se basa en el número de puerto de origen.
Un atacante puede causar una colisión en la tabla NAT mediante paquetes manipulados y cambios simultáneos en la conexión del cliente al servidor VPN y en el servidor externo del atacante, creando una entrada con el mismo número de puerto de origen, pero asociada a su propia dirección local, haciendo que las respuestas se envíen a la dirección del atacante.
Para ejecutar el ataque, el atacante debe estar conectado al mismo servidor VPN que la víctima, lo cual es factible en servicios VPN públicos que permiten acceso general (OpenVPN, WireGuard, OpenConnect). La vulnerabilidad afecta a servidores VPN que emplean traducción de direcciones (NAT) para gestionar el acceso de los clientes a recursos externos, y donde el servidor usa la misma IP para recibir el tráfico de los clientes y enviar solicitudes a sitios externos.
Sistemas y servicios VPN vulnerables
En el estudio se menciona que se evaluaron los sistemas de traducción de direcciones en Linux y FreeBSD junto con servicios públicos de VPN, tales como OpenVPN, OpenConnect y WireGuard. El estudio reveló que FreeBSD no mostró vulnerabilidad a ataques de redireccionamiento de solicitudes realizados por otros usuarios en la misma VPN, pero los ataques más graves aún son posibles.
La manipulación de las tablas NAT solo fue posible durante un ataque ATIP (Adjacent-to-In-Path), donde un atacante puede interceptar el tráfico entre un usuario y un servidor VPN (por ejemplo, conectándose a una red Wi-Fi controlada por el atacante) o entre el servidor VPN y el destino. Además, NAT en FreeBSD también fue vulnerable a un ataque que permite determinar si un usuario está accediendo a un sitio específico (Connection Inference).
En Linux, el subsistema Netfilter demostró ser susceptible a ataques de sustitución de tablas de traducción de direcciones, lo que permite redirigir paquetes entrantes a otro usuario, enviar paquetes fuera del canal VPN cifrado o detectar puertos de red abiertos en el lado del cliente.
Mitigación
Los investigadores mencionan que para mitigar el ataque, se recomienda a los proveedores de VPN implementar técnicas para aleatorizar los números de puerto de origen en NAT, limitar la cantidad de conexiones simultáneas permitidas al servidor VPN por usuario y restringir la capacidad del cliente para seleccionar el puerto que recibe solicitudes en el servidor VPN.
Un representante de Proton AG comentó que:
El ataque no afecta a los servicios VPN que utilizan direcciones IP distintas para solicitudes entrantes y salientes. Además, existen dudas sobre la viabilidad del ataque en servicios VPN reales, ya que hasta ahora solo se ha demostrado con éxito en pruebas de laboratorio, requiriendo condiciones específicas tanto en el servidor VPN como en el cliente atacado. El ataque también resulta menos efectivo contra tráfico cifrado, como el de TLS y HTTPS, ya que su principal utilidad se encuentra en la manipulación de solicitudes no cifradas, como consultas DNS.
Además, los ataques que manipulan las tablas de traducción de direcciones no solo afectan a las VPN, sino también a redes inalámbricas que usan NAT en el punto de acceso para conectar usuarios a recursos externos. El mes pasado, un estudio reveló que un ataque similar podría interceptar conexiones TCP de otros usuarios en redes inalámbricas, siendo efectivo en 24 de los 33 puntos de acceso inalámbrico probados.
El ataque propuesto para redes Wi-Fi resultó ser mucho más sencillo que el método para VPN. Esto se debe a que muchos puntos de acceso, al emplear optimizaciones, no verifican la precisión de los números de secuencia en los paquetes TCP.
Finalmente, si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.