TunnelVision, en angrepsmetode som avleder VPN-trafikk

TunnelVision: en farlig angrepsmetode

Det ble nylig avslørt at det ble oppdaget en metode som lar en angriper tvinge en brukers trafikk ut av VPN-tunnelen sin ved hjelp av innebygde funksjoner i DHCP-protokollen.

Denne nye angrepsmetoden , kalt «TunnelVision», tillater omdirigering av et offers trafikk gjennom en angripers vert (forutsatt at angriperen har tilgang til det lokale nettverket eller kontrollerer et trådløst nettverk).

Det er viktig å merke seg at ideen om lokale rutingendringer ikke er ny og har blitt brukt ofte i angrep designet for å forfalske DNS-servere. For eksempel påvirket TunnelCrack, som omdirigerte trafikk gjennom en erstatningsstandardgateway, alle testede iOS VPN-klienter, samt macOS-, Windows-, Linux- og Android VPN-er.

Om TunnelVision

Det nevnes at essensen av TunnelVision er at angriperen kan starte sin egen DHCP-server og bruke den til å sende informasjon til klienten for å endre rutingen . Mer spesifikt kan en angriper bruke DHCP-alternativ 121, som er designet for å overføre statisk ruteinformasjon , for å endre rutingstabellen på offerets maskin og dirigere trafikk uten å gå gjennom VPN-et.

Hensikten med denne forskningen var å teste denne teknikken mot moderne VPN-leverandører for å fastslå deres sårbarhet og varsle allmennheten om dette problemet. Dette er grunnen til at vi ble enige med CISA om å sende inn en CVE når vi avslører dem, og hvorfor vi bestemte oss for å navngi sårbarheten.

Omdirigeringen oppnås ved å konfigurere en serie ruter for delnett med prefikset /1 , som har høyere prioritet enn standardruten med prefikset /0. Følgelig vil trafikken bli dirigert gjennom det fysiske nettverksgrensesnittet til angriperens vert på det lokale nettverket i stedet for det virtuelle nettverksgrensesnittet som er konfigurert for VPN-et.

I stedet for å bli sendt gjennom VPN-et, sendes trafikken i ren tekst uten tunnel til angriperens system. Dette problemet påvirker alle VPN-klienter som ikke bruker isolerte nettverksnavnerom for å rute trafikk til tunnelen, eller som ikke etablerer pakkefiltreringsregler som forbyr ruting av VPN-trafikk gjennom eksisterende fysiske nettverksgrensesnitt.

TunnelVision kan utføres på alle systemer som støtter DHCP-alternativ 121 , inkludert Linux, Windows, iOS og macOS, uavhengig av VPN-protokollen som brukes (Wireguard, OpenVPN, IPsec) og krypteringspakken som brukes.

Det nevnes at Android ikke er utsatt for dette angrepet fordi det ikke behandler 121-alternativet i DHCP . Selv om angrepet tillater tilgang til trafikk, tillater det ikke avlytting av tilkoblinger eller bestemmelse av innholdet som overføres gjennom sikre applikasjonsnivåprotokoller, som TLS og SSH. For eksempel kan ikke angriperen bestemme innholdet i forespørsler sendt via HTTPS, men kan forstå hvilke servere forespørslene sendes til.

For å beskytte mot et angrep kan flere tiltak implementeres på pakkefiltreringsnivået: forby sending av pakker som er bestemt for VPN-grensesnittet gjennom andre nettverksgrensesnitt, blokkere DHCP-pakker med alternativ 121, bruke et VPN i en separat virtuell maskin eller container isolert fra det eksterne nettverket, eller bruke spesielle tunnelkonfigurasjonsmoduser som bruker Linux-nettverksnavnerom.

For å forfalske ruter er det også utviklet en spesialdesignet USB-dongle som simulerer driften av et nettverkskort, og som, når den er koblet til en datamaskin via DHCP, erklærer seg selv som en gateway. Videre, når gatewayen er under angriperkontroll (for eksempel når et offer kobler seg til et trådløst nettverk kontrollert av en angriper), er det utviklet en teknikk for å injisere pakker inn i tunnelen som oppfattes som å stamme fra VPN-nettverksgrensesnittet. Flere skript er også publisert for å eksperimentere med disse angrepene.

Til slutt, hvis du er interessert i å lære mer om dette , kan du finne detaljene på følgende lenke.


Legg til som foretrukket kilde i Google