Recentemente, foi revelado que foi descoberto um método que permite a um atacante forçar o tráfego de um usuário para fora de seu túnel VPN, utilizando recursos integrados do protocolo DHCP.
Apelidado de "TunnelVision", este novo método de ataque permite redirecionar o tráfego da vítima através do host do atacante (desde que o atacante tenha acesso à rede local ou controle uma rede sem fio).
É importante notar que a ideia de alterações de roteamento local não é nova e tem sido comumente usada em ataques projetados para falsificar servidores DNS. Por exemplo, o TunnelCrack, que redirecionava o tráfego por meio de um gateway padrão alternativo, afetou todos os clientes VPN testados para iOS, bem como VPNs para macOS, Windows, Linux e Android.
Sobre TunnelVision
Menciona-se que a essência do TunnelVision reside na capacidade do atacante de iniciar seu próprio servidor DHCP e utilizá-lo para enviar informações ao cliente, alterando o roteamento . Especificamente, um atacante pode usar a opção DHCP 121, projetada para transmitir informações de rotas estáticas , para modificar a tabela de roteamento na máquina da vítima e direcionar o tráfego sem passar pela VPN.
O objetivo desta pesquisa foi testar esta técnica em provedores de VPN modernos para determinar sua vulnerabilidade e notificar o público em geral sobre esse problema. É por isso que concordamos com a CISA em registrar um CVE quando divulgarmos a eles e decidimos nomear a vulnerabilidade.
O redirecionamento é obtido configurando uma série de rotas para sub-redes com o prefixo /1 , que possuem prioridade maior que a rota padrão com o prefixo /0. Consequentemente, em vez da interface de rede virtual configurada para a VPN, o tráfego será direcionado pela interface de rede física para o host do atacante na rede local.
Em vez de ser enviado pela VPN, o tráfego é enviado em texto simples, sem um túnel, para o sistema do atacante. Esse problema afeta qualquer cliente VPN que não utilize namespaces de rede isolados para rotear o tráfego para o túnel ou que não estabeleça regras de filtragem de pacotes que impeçam o roteamento do tráfego VPN por meio de interfaces de rede físicas existentes.
O TunnelVision pode ser executado em qualquer sistema que suporte a opção 121 do DHCP , incluindo Linux, Windows, iOS e macOS, independentemente do protocolo VPN utilizado (Wireguard, OpenVPN, IPsec) e do conjunto de cifras empregado.
É mencionado que o Android não é suscetível a esse ataque porque não processa a opção 121 no DHCP . Embora o ataque permita o acesso ao tráfego, ele não permite a interceptação de conexões nem a determinação do conteúdo transmitido por meio de protocolos seguros de camada de aplicação, como TLS e SSH. Por exemplo, o atacante não pode determinar o conteúdo das requisições enviadas via HTTPS, mas pode entender para quais servidores as requisições estão sendo enviadas.
Para se proteger contra um ataque, diversas medidas podem ser implementadas no nível de filtragem de pacotes: proibir o envio de pacotes destinados à interface VPN por meio de outras interfaces de rede, bloquear pacotes DHCP com a opção 121, usar uma VPN dentro de uma máquina virtual ou contêiner separado e isolado da rede externa, ou usar modos especiais de configuração de túnel que empregam namespaces de rede do Linux.
Para falsificar rotas , foi desenvolvido um dongle USB especialmente projetado que simula o funcionamento de um adaptador de rede e, quando conectado a um computador via DHCP, se declara como um gateway. Além disso, quando o gateway está sob controle do atacante (por exemplo, quando uma vítima se conecta a uma rede sem fio controlada por um atacante), foi desenvolvida uma técnica para injetar pacotes no túnel que são percebidos como originários da interface de rede VPN. Vários scripts também foram publicados para experimentação com esses ataques.
Por fim, se tiver interesse em saber mais sobre isso , você pode encontrar os detalhes no seguinte link.