r   e   k   l   a   m   a
r   e   k   l   a   m   a

Ruch IP po ICMP: hakerska metoda na omijanie bramek w hotspotach Wi-Fi

Strona główna AktualnościBEZPIECZEŃSTWO

Mieliśmy już okazję przekonać się, jakim zagrożeniem dla bezpieczeństwa są otwarte hotspoty. Atak typu Evil Twin, polegający na uruchomieniu fałszywego punktu dostępowego o takich samych parametrach jak oryginalny, a silniejszym sygnale, otwiera drogę do przejęcia połączenia internetowego, podsłuchu, a nawet zdalnej instalacji złośliwego oprogramowania na komputerze ofiary. Z otwartymi punktami dostępowymi jest jednak jeszcze jeden problem. Stosowane w nich zabezpieczenia dostępu (logowanie w przeglądarce przez serwer proxy pytający o dane uwierzytelniające) bardzo często niczego nie zabezpieczają. Napastnik nie musi znać loginu i hasła, by wykorzystać je do uzyskania anonimowego dostępu do Sieci. Wszystko za sprawą protokołu ICMP (Internet Control Message Protocol).

Z ICMP miał do czynienia chyba każdy, kto interesuje się tematyką poruszaną w naszym cyklu artykułów o ofensywnym bezpieczeństwie. Służy on do kontroli transmisji w sieci – można myśleć o nim jako o protokole serwisowym do wykrywania problemów w warstwie internetowej. Dwa najważniejsze narzędzia, które z niego korzystają, to dobrze znane ping i traceroute. To jednak nie wszystko. Konstrukcja tego protokołu pozwala na założenie ukrytego tunelu, który za pomocą zwykłych pingów przeniesie cały ruch TCP/IP, dając przenikający prze zaporę sieciową dostęp do Internetu.

Do tego ataku potrzebne są dwa komputery: serwer (np. jakaś instancja Debiana czy CentOS-a działająca w chmurze) oraz klient – np. laptop z zainstalowanym w maszynie wirtualnej Kali Linuksem (może to być oczywiście inna dystrybucja, ale Kali nie robi tu żadnych niespodzianek). Na obu z nich należy mieć oprogramowanie do zakładania tunelu po ICMP. Nosi ono nazwę icmptx – i instaluje się je w Debianie czy Kali poleceniem apt-get install icmptx (na obu komputerach, zarówno na serwerze jak i kliencie).

r   e   k   l   a   m   a

Przygotowanie serwera

Pierwszym krokiem będzie uruchomienie serwera proxy, działającego pomiędzy napastnikiem, klientem i celem w sieci. Icmptx może działać w dwóch trybach, jako klient i jako serwer. By uruchomić go jako serwer, należy po zalogowaniu się do swojego serwera wydać polecenie sudo icmptx -s [adres IP serwera].

Proxy uruchamia się w tle, nie zobaczymy żadnych komunikatów.

Drugi krok to zestawienie tunelu. To, czy system obsługuje tunelowanie, można sprawdzić poleceniem ifconfig tun0. Jeśli pojawi się odpowiedź podobna do tej jak na zrzucie ekranu, to wszystko działa poprawnie.

Tunel tworzy się poleceniem:

ifconfig tun0 mtu 65535 up 10.0.1.1 netmask 255.255.255.0

(oczywiście 10.0.1.1 może być innym adresem lokalnym, ten akurat jest proponowany przez twórców icmptx).

Tunel działa, teraz należy sprawić, by serwer zaczął zachowywać się trochę inaczej, niż normalny host w sieci. Musi on ignorować żądania ICMP (aby nie udzielać na nie normalnej odpowiedzi echo) oraz przekierowywać przechodzący do niego ruch sieciowy. Najlepiej zrobić to edytując plik /etc/sysctl.conf i dodając do niego na końcu wiersze:

net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.ip_forward = 1

A następnie wydać polecenie sysctl -p.

Po stronie klienta

Przygotowany w ten sposób host w sieci będzie teraz czekał na hakera, który będzie się chciał z nim połączyć przez takie otwarte Wi-Fi z proxy uwierzytelniającym. By to zrobić, napastnik po zalogowaniu musi uruchomić na swoim laptopie icmptx w trybie klienta – wydając polecenie:

icmptx -c [zewnętrzny adres IP serwera proxy]

Następnie należy ustawić tunel, poleceniem

ifconfig tun0 mtu 65535 up 10.0.1.2 netmask 255.255.255.0

Pozostaje zestawić trasę do proxy. Należy znać adres bramki, do sprawdzenia poleceniem route -n, wyświetlającym tablicę trasowania kernela. Najczęściej będzie to 192.168.0.1 lub 192.168.1.1 – ale w grę wchodzi każdy adres, oznaczony w tablicy flagą UG.

Właściwą trasę zestawią polecenia:

route del default
route add -host [zewnętrzny adres IP serwera proxy] gw 192.168.1.1 dev wlan0
route add default gw 10.0.1.1 tun0

Teraz w przeglądarce komputera podłączonego do hotspotu bramka uwierzytelnienia może sobie czekać na hasło. Napastnik łącząc się po swoim tunelu ze zdalnym serwerem może pozostać praktycznie niewykrywalnym, cały ruch jest przekierowywany po ICMP przez proxy.

Minusem rozwiązania jest to, że przepustowość połączenia jest niewielka – ale do wysłania e-maila, połączenia po ssh czy otworzenia lekkiej strony internetowej powinno wystarczyć. Jedną z działających metod przyspieszenia połączenia może być pingowanie końca tunelu po stronie proxy – ping -f 10.0.1.1.

Kowal zawinił, więc kogo powiesić?

Hakerzy po prostu od dawna wykorzystują możliwości tkwiące w dokumencie RFC792, opisującym działanie protokołu ICMP. Dopuszcza on dowolnej długości pakiety ICMP. Aktualna wersja tego narzędzia do tunelowania ruchu IP stworzona została siedem lat temu przez Johna Plaxco, korzystał on jednak z kodu dostępnego już na początku XXI wieku. Jak widać, niewiele się pod tym względem zmieniło.

Sensownie działające rozwiązanie tego starego problemu (które nie blokuje ruchu ICMP) przedstawili badacze z Georgia Institute of Technology. Artykuł ICMP Tunnelling: Defense Against the Vulnerability opisuje, jak można niewielkim kosztem filtrować pakiety ICMP wg rozmiaru poprzez zapory sieciowe. Rozwiązania takie są jednak w praktyce bardzo rzadko stosowane. W praktyce najlepszym sposobem na zabezpieczenie hotspota jest wykorzystanie szyfrowania WPA2. Jeśli zaś niemożliwe jest wydanie wszystkim tego samego klucza, pozostaje sięgnąć po serwer Radius.

Warto zauważyć, że icmptx nie jest jedynym narzędziem do tunelowania ruchu IP po pakietach ICMP. Innym wartym uwagi narzędziem jest icmptunel. Co więcej zablokowanie ICMP nie oznacza wcale, że z otwartej sieci Wi-Fi nie skorzysta nikt nieupoważniony. Zawsze pozostaje możliwość zrobienia tunelu IP po… DNS. Wykorzystywane w tym celu narzędzie Iodine, choć trudniejsze w konfiguracji i wymagające posiadania własnego serwera z przypisaną mu domeną, działa zaskakująco dobrze. Przedstawimy je w kolejnym odcinku naszej serii o ofensywnym bezpieczeństwie.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.