TunnelVision, un método de ataque que desvía el tráfico VPN
Se dio a conocer la noticia de que recientemente fue descubierto un método que permite a un atacante forzar el tráfico de un usuario fuera de su túnel VPN utilizando características integradas del protocolo DHCP.
Bautizado bajo el nombre de «TunnelVision», este nuevo método de ataque permite redirigir el tráfico de una víctima a través de un host del atacante (esto siempre y cuando el atacante tenga acceso a la red local o controle una red inalámbrica).
Es importante señalar que la idea del cambio de enrutamiento local no es nueva y ha sido utilizada comúnmente en ataques destinados a falsificar servidores DNS. Por mencionar un ataque similar, TunnelCrack, que redirigía el tráfico a través de una puerta de enlace predeterminada de reemplazo, el problema afectó a todos los clientes VPN de iOS probados, VPN de macOS, de Windows, de Linux y de Android.
Sobre TunnelVision
Se menciona que la esencia de TunnelVision, es que el atacante puede iniciar su propio servidor DHCP y utilizarlo para enviar información al cliente con el fin de cambiar el enrutamiento. Específicamente, un atacante puede usar la opción DHCP 121, la cual está diseñada para transmitir información sobre rutas estáticas, para modificar la tabla de enrutamiento en la máquina de la víctima y dirigir el tráfico sin pasar por la VPN.
El propósito de esta investigación fue probar esta técnica contra los proveedores modernos de VPN para determinar su vulnerabilidad y notificar al público en general sobre este problema. Es por eso que acordamos con CISA presentar una CVE cuando les revelamos y por qué decidimos nombrar la vulnerabilidad.
La redirección se realiza configurando una serie de rutas para subredes con el prefijo /1, que tienen una prioridad más alta que la ruta predeterminada con el prefijo /0. En consecuencia, en lugar de la interfaz de red virtual configurada para la VPN, el tráfico se dirigirá a través de la interfaz de red física al host del atacante en la red local.
En lugar de enviarse a través de la VPN, el tráfico se envía en texto claro sin túnel al sistema del atacante. Este problema afecta a cualquier cliente VPN que no utilice espacios de nombres de red aislados para enrutar el tráfico al túnel o que no establezca reglas de filtrado de paquetes que prohíban enrutar el tráfico VPN a través de interfaces de red físicas existentes.
TunnelVision puede llevarse a cabo en cualquier sistema que admita la opción 121 de DHCP, incluidos Linux, Windows, iOS y macOS, independientemente del protocolo VPN utilizado (Wireguard, OpenVPN, IPsec) y del conjunto de cifrado empleado.
Se menciona que Android no es susceptible a este ataque porque no procesa la opción 121 en DHCP. Aunque el ataque permite obtener acceso al tráfico, no permite interceptar conexiones ni determinar el contenido transmitido mediante protocolos seguros a nivel de aplicación, como TLS y SSH. Por ejemplo, el atacante no puede determinar el contenido de las solicitudes enviadas a través de HTTPS, pero puede entender a qué servidores se están enviando las solicitudes.
Para protegerse contra un ataque, se pueden implementar varias medidas en el nivel de filtro de paquetes: prohibir el envío de paquetes dirigidos a la interfaz VPN a través de otras interfaces de red, bloquear paquetes DHCP con la opción 121, usar una VPN dentro de una máquina virtual o contenedor separado y aislado de la red externa, o utilizar modos de configuración de túnel especiales que empleen espacios de nombres de red de Linux.
Para sustituir rutas, también se ha diseñado el uso de una llave USB especialmente diseñada que simula el funcionamiento de un adaptador de red y, al conectarse a una computadora mediante DHCP, se declara como una puerta de enlace. Además, cuando hay control de la puerta de enlace (por ejemplo, cuando una víctima se conecta a una red inalámbrica controlada por un atacante), se ha desarrollado una técnica para inyectar paquetes en el túnel que se perciben como provenientes de la interfaz de red VPN. Además, se han publicado varios scripts para experimentar con la realización de estos ataques.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.