Atak TunnelVision, umożliwiająca przekierowanie ruchu VPN poprzez manipulacje z DHCP

Upublicznie przedstawiono metodę ataku TunnelVision, która umożliwia, mając dostęp do sieci lokalnej lub kontrolując sieć bezprzewodową, przekierowanie ruchu ofiary na własny host z ominięciem VPN (zamiast przesyłania przez VPN, ruch będzie wysyłany w otwarty sposób bez tunelowania do systemu atakującego). Problem ten dotyczy wszelkich klientów VPN, które nie korzystają z izolowanych przestrzeni nazw subsystemu sieciowego (network namespace) przy kierowaniu ruchu do tunelu lub nie ustalają zasad filtrowania pakietów, które zabraniają kierowania ruchu VPN przez istniejące fizyczne interfejsy sieciowe.

Istota ataku polega na tym, że atakujący może uruchomić własny serwer DHCP i wykorzystać go do przesyłania klientowi informacji do zmiany routingu. W szczególności atakujący może skorzystać z opcji 121 protokołu DHCP (RFC-3442, przyjęta w 2002 roku), przeznaczonej do przesyłania informacji o statycznych trasach, aby wprowadzić zmiany w tabeli routingu na maszynie ofiary i kierować ruch z ominięciem. VPNPrzekierowanie odbywa się poprzez ustawienie serii tras dla podsieci z prefiksem /1, które mają wyższy priorytet niż stosowana domyślnie trasa z prefiksem /0 (0.0.0.0/0), w związku z czym ruch zamiast do ustawionego dla VPN wirtualnego interfejsu sieciowego, będzie kierowany przez fizyczny interfejs sieciowy na host atakującego w sieci lokalnej.

Atak może być przeprowadzony na dowolnych systemach operacyjnych, które obsługują opcję 121 DHCP, w tym Linux, Windows, iOS i macOS, niezależnie od używanego protokołu VPN (Wireguard, OpenVPN, IPsec) i zestawu algorytmów szyfrujących. Platforma Android nie jest podatna na atak, ponieważ nie przetwarza opcji 121 w DHCP. Atak ten umożliwia dostęp do ruchu, ale nie daje możliwości wniknięcia w połączenia i określenia zawartości przesyłanej z użyciem zabezpieczonych protokołów aplikacyjnych, takich jak TLS i SSH, na przykład atakujący nie może określić treści zapytań HTTPS, ale może zrozumieć, do jakich serwerów są one przesyłane.

Aby chronić się przed atakami, można zablokować na poziomie filtracji pakietów wysyłanie pakietów kierowanych do interfejsu VPN przez inne interfejsy sieciowe; zablokować pakiety DHCP z opcją 121; używać VPN w osobnej maszynie wirtualnej (lub kontenerze), izolowanej od sieci zewnętrznej, lub zastosować specjalne tryby konfiguracji tuneli, korzystające z przestrzeni nazw w systemie Linux (network namespace). Został opublikowany zestaw skryptów do eksperymentów związanych z przeprowadzaniem ataków.

Odtwarzaj wideo

Zauważyć można, że pomysł lokalnej zmiany routingu nie jest nowy i był wcześniej stosowany w atakach ukierunkowanych na podmienianie serwera DNS. W podobnym ataku TunnelCrack, w którym przekierowanie ruchu realizowano przez zmianę domyślnego bramy, problem dotyczył wszystkich sprawdzonych klientów VPN dla iOS, 87,5% klientów VPN dla macOS, 66,7% dla Windows, 35,7% dla Linux oraz 21,4% dla Androida. W kontekście VPN i DHCP metoda była również wcześniej wspomniana, na przykład w jednym z referatów na zeszłorocznej konferencji USENIX 2023 (badanie wykazało, że 64,6% z 195 testowanych klientów VPN jest podatnych na atak).

Do wstawiania tras wcześniej proponowano również specjalnie zaprojektowany breloczek USB, symulujący działanie adaptera sieciowego, który po podłączeniu do komputera przez DHCP ogłasza się jako brama. Ponadto, przy kontroli nad bramą (na przykład przy podłączeniu ofiary do kontrolowanej przez atakującego sieci bezprzewodowej) opracowano technikę wstawiania pakietów do tunelu, postrzeganą w kontekście interfejsu sieciowego VPN.

Przepływy danych przy użyciu VPN:

Atak TunnelVision, umożliwiająca przekierowanie ruchu VPN poprzez manipulacje z DHCP

Przepływy danych po przeprowadzeniu ataku:

Atak TunnelVision, umożliwiająca przekierowanie ruchu VPN poprzez manipulacje z DHCP


Źródło: opennet.ru
Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster