Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book

Bezpieczeństwo sieci Wi-Fi – część 5. (testowanie WPA i WPA2)

25 listopada 2013, 09:34 | Teksty | komentarzy 11

 

Wstęp

Atakujący sieci Wi-Fi najczęściej wykorzystują podatność PSK na ataki słownikowe, czyli ataki na WPA-Personal. Wszystkie hasła, które można uznać za słownikowe lub generowane z wykorzystaniem pewnych przekształceń słownika, należy uznać za niewystarczająco bezpieczne. Z tego powodu należy używać długich haseł, składających się z co najmniej kilkunastu losowych znaków, zawierających zarówno małe, duże litery, cyfry i znaki specjalne. Atak na takie hasło jest – przynajmniej dziś – nadal praktycznie niewykonalny.

Zainteresowanych tym tematem zapraszamy do lektury sekurakowego Kompendium bezpieczeństwa haseł – atak i obrona (części 1, części 2 oraz części 3).

Dodatkowo wskazane jest nieużywanie popularnych SSID, ustawianych przez producentów z powodu opisanego powyżej ataku za pomocą tęczowych tablic. Oprócz tego zgodnie z zaleceniami należy używać CCMP zamiast TKIP.

W chwili pisania tego artykułu przeprowadzenie ataku na dobrze przygotowaną infrastrukturę WPA-Enterprise można uznać za praktycznie niewykonalne.

Jeśli zastosowano mechanizmy uwierzytelniania serwerów Radiusa, do których się podłączamy, oraz odpowiednio zabezpieczono komunikację pomiędzy AP a serwerem, nie ma możliwości podstawienia fałszywego AP, ponieważ klient i tak się do niego nie podłączy. Wybór odpowiedniej metody EAP zapewnia, że nawet podsłuchanie transmisji pomiędzy klientem a AP, nie ujawni danych dostępowych (hasło i login), ponieważ będą zaszyfrowane, np. w tunelu TLS. Hasło PMK jest także nadawane przez serwer Radius, w ramach szyfrowanego tunelu, zatem atak słownikowy będzie nieskuteczny. W związku z tym widać wyraźnie, że bezpieczeństwo WPA-Enterprise jest znacząco większe niż WPA-Personal. Jednak wdrożenie WPA-Enterprise wymaga dużo większych nakładów pracy oraz kosztów.

 

Atak z przechwyceniem 4-way handshake

Pamiętajmy, że pokazane techniki należy używać tylko w legalny sposób (np. do testów własnej sieci)!

Skupię się teraz na opisie i pokazaniu, jak można przeprowadzić test bezpieczeństwa sieci Wi-Fi zabezpieczonej PSK. Atak jest możliwy zarówno na sieci zabezpieczone WPA jak i WPA2, ponieważ nie dotyczy bezpośrednio zmian wprowadzonych przez WPA2 względem WPA.

1. Przygotowanie do ataku

Wspomniałem, że praktyczny atak na WPA-Personal wymaga przechwycenia 4-way handshake, gdyż potrzebne są wymieniane w nim informacje. Żadna inna część komunikacji nie jest potrzebna. Scenariusz potencjalnego ataku na taką sieć wygląda następująco:

  1. Rozpoczynam nasłuchiwane ruchu w sieci, nastawiając się na przechwycenie 4-way handshake.
  2. Po przechwyceniu 4-way handshake rozpoczynam sprawdzanie haseł dostępnych w słowniku, upewniając się, czy sieć nie była zabezpieczona którymś z nich.

Chociaż scenariusz wygląda na bardzo prosty, na wstępie pojawiają się dwa problemy:

  1. Co zrobić jeśli nie udało mi się przechwycić 4-way handshake.
  2. Jak zdobyć/skonstruować dobry słownik.

Dobry słownik, to klucz do sukcesu i jest to temat na kolejny cykl artykułów, dlatego nie będę się nim tutaj zajmował.

Natomiast jeśli chodzi o problem z przechwyceniem 4-way handshake, to możliwe są następujące przyczyny:

  1. Brak klientów podłączonych do sieci – z tym niestety nie można nic zrobić.
  2. Jesteśmy za daleko od klienta/AP i sygnał do nas nie dociera – można popracować nad poprawą sygnału odbieranego z sieci, zbliżyć się do AP lub zastosować inną antenę.
  3. W sieci widać ruch, ale nie udało się zarejestrować 4-way handshake – oznacza to zapewne, że rozpoczęto nasłuchiwane po tym, jak wszyscy klienci się podłączyli i nie było żadnego nowego. W tej sytuacji można albo oczekiwać dalej, albo wysłać do jednego z klientów informację anulującą jego uwierzytelnienie (ang. deautentykacja), wymuszając tym samym wykonanie 4-way handshake.

2. Przykładowy atak

Przejdźmy więc w końcu do czynów. Konfiguracja sprzętowa i softwarowa jest taka sama, jak w przykładach omówionych w poprzednich częściach cyklu.

1. Rozpoczynam nasłuchiwane obecnych sieci Wi-Fi, aby zebrać dane dotyczące testowanej sieci. Przełączam kartę w tryb monitor nasłuchujący na wszystkich kanałach:

root@debian:~# airmon-ng start wlan1
root@debian:~# airodump-ng mon0

wpa01

2. Wybieram do testowania sieć z SSID: „WPA-test”, zapisując jej parametry.

3. Wyłączam tryb monitor dla wszystkich kanałów i przełączam kartę w tryb monitor tylko dla kanału 11, na którym działa analizowana sieć.

root@debian:~# airmon-ng stop mon0
root@debian:~# airmon-ng start wlan1 11

4. Rozpoczynam nasłuchiwanie ruchu sieciowego dla analizowanej sieci, oczekując na 4-way handshake.

airodump-ng -c 11 --bssid 5C:4C:A9:6B:EC:CD -w wpa-test mon0

wpa02

Na zrzucie poniżej wpisu „STATION” pojawią się dane, gdy w sieci będzie znajdował się klient. W tym momencie nie ma żadnego. Zebrane dane zostaną zapisane w plikach rozpoczynających się „wpa-test”, tak jako podano w opcji „-w”.

5. Na poniższym zrzucie widać, że pojawił się klient: dowodzi tego wyświetlenie jego danych w sekcji „STATION”. W prawym górnym rogu pojawił się komunikat, że przechwycono 4-way handshake wraz z informacją od jakiego klienta.

wpa03

6. Gdyby w analizowanej sieci znajdował się już klient, a nie udało się przechwycić handshake, wynik będzie wyglądał analogicznie do poniższego zrzutu.

wpa04

7. W tej sytuacji można spróbować wykonać deautentykację klienta przy pomocy następującego polecenia:

root@debian:~# aireplay-ng -0 1 -a 5C:4C:A9:6B:EC:CD -c BC:CF:CC:FD:82:D3 mon0
22:04:50 Waiting for beacon frame (BSSID: 5C:4C:A9:6B:EC:CD) on channel 11
22:04:50 Sending 64 directed DeAuth. STMAC: [BC:CF:CC:FD:82:D3] [ 5|65 ACKs]

Doprowadzi to do przechwycenia handshake. Opcją -a podaję MAC AP, a opcją -c MAC klienta, którego chcę odłączyć od sieci.

wpa05

8. Przechwycone 4-way handshake można podejrzeć, np. przy pomocy wiresharka, otwierając w nim plik wpa-test-01.cap, utworzony w katalogu, w którym uruchomiłem wcześniej airodump-ng. Wpisując w górne okienko filtrowania frazę „eapol”, uzyskuję wynik prezentujący poszczególne etapy handshake (zrzut poniżej).

wpa06

9. Atak słownikowy na przechwycone handshake wykonuje się przy pomocy polecenia:

root@debian:~# aircrack-ng -w slownik -b 5C:4C:A9:6B:EC:CD wpa-test-01.cap

Co w moim przypadku zakończyło się sukcesem i uzyskaniem hasła.

wpa07

Uprzedzając komentarze, od razu zaznaczam, że słownik był przygotowany specjalnie na cele tej prezentacji. W praktyce, słowniki mogą być bardzo duże i atak przy ich użyciu może trwać dość długo.

Jednym z rozwiązań na duże słowniki jest przechowywanie ich w postaci spakowanej i rozpakowywanie w locie z wrzuceniem bezpośrednio na wejście aircrack-ng. Można to zrobić np. tak:

root@debian:~# xzcat slownik.xz | aircrack-ng -w - -b 5C:4C:A9:6B:EC:CD wpa-test-01.cap

 

Ataki na WPA z użyciem GPU

Istota ataku słownikowego na WPA polega na wykorzystaniu mocy obliczeniowej do przeszukiwania słownika z hasłami. Ta operacja bardzo łatwo podlega zrównoleglaniu, osiągając bardzo wysoki jego współczynnik.

Operacje matematyczne używane podczas obliczeń tworzących klucze WPA mogą być w pełni wykonywane przy użyciu procesorów kart graficznych. Dzisiejsze GPU są wielokrotnie szybsze od CPU w zakresie pewnych wybranych operacji matematycznych i pozwalają znacząco poprawić skuteczność ataku słownikowego na WPA.

Jednym z najlepszych narzędzi do tego celu jest hashcat, który określany jest jako najszybszy kraker WPA/WPA2 na świecie. Siła hashcata tkwi w jego zaawansowanej optymalizacji, pozwalającej w pełni wykorzystać możliwości kart GPU. Używanie hashcata jest bardzo proste i wygodne, a wszystkie potrzebne informacje są dostępne na stronie projektu.

 

Podsumowanie

W tej części serii pokazałem nowe elementy bezpieczeństwa sieci Wi-Fi wprowadzone w ramach standardu 802.11i, czyli WPA/WPA2. Widać wyraźnie, że bezpieczeństwo WPA jest nieporównywanie wyższe niż WEP. Opisane podatności w nieznacznej mierze mają charakter podatności kryptograficznych czy błędów na poziomie architektury, oczywiście przy założeniu, że używane jest zalecane aktualnie WPA2 z CCMP.

Przedstawiony atak ma charakter ataku siłowego i ze względu na rozgłoszeniowy charakter sieci Wi-Fi bardzo ciężko jest się przed nim chronić. Problem będzie się z czasem powiększał ze względu na wzrost mocy obliczeniowej CPU i GPU.

 

Istnieje jednak jeszcze pewien zakres bezpieczeństwa dla „normalnych” użytkowników. Jedyne co można jeszcze w warunkach domowych zrobić, to ustawić odpowiednio długie hasło PSK, aby atak stał się po prostu niepraktyczny.W przypadku firm, zalecane jest wdrożenie dobrze skonfigurowanego WPA-Enterprise, które dziś, można jeszcze uznać za bezpieczne.

 

 

Bibliografia

Adam Smutnicki

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. Adrian

    Wszystko ladnie, pieknie. Tylko zastanawia mnie co da komus dostep do sieci? Co taki czlowiek moze zrobic? O tym chcialbym przeczytać w nast. artykule.

    Odpowiedz
    • Zobaczymy co na to autor, ale generalnie kolejne części są w trakcie pisania (choć raczej tematyka WPA2-Enterprise).

      Odpowiedz
  2. Alojz

    Dodajcie to, że hashcat jest mniej wydajny od pyrita.

    Odpowiedz
    • Sam nie wiem jak z tą wydajnością – masz może jakieś benchmarki porównawcze?

      Odpowiedz
  3. Adrian, na przykład ktoś może popełnić przestępstwo wykorzystując dostęp przez Twoją sieć. Nie chciałbyś mieć na głowie imprezy z gośćmi w kominiarkach, prawda? :)

    Odpowiedz
  4. Adrian

    @Adrian. Z fajniejszych to podmiana DNS, podsłuchiwanie rozmów telefonicznych (oczywiscie wiadomo kiedy), próba zarazenia wirusami, kontrola sprzędtu AGD (;D) i wiele wiele innych.

    Odpowiedz
  5. @Adrian

    Btw: Fajne imię;)
    Ale wiesz, dużo jest informacji o tym jak ludzie łamią WEP/WPA, a nie ma nic o tym co dalej mogą z tym zrobić i (z tego co piszecie) mogą być tego konsekwencje.

    Odpowiedz
  6. SilenceThanatos

    Pomyślcie że nie wszyscy mają możliwość korzystania z własnego neta, jak się „poprosi” sąsiada o hasło, to w tedy można jakoś funkcjonować – pozdrawiam.

    Drugą możliwością jest wykorzystanie przejętego internetu jako proxy.

    Trzecią jest możliwość wykorzystania tego w ataku man in the middle.

    Czwartą to wykorzystanie cudzego internetu do darmowego poboru (zwłaszcza jak ma szybsze łącze) np. po antence dzięki wirtualnej maszynie.

    Odpowiedz
  7. Freund

    Dziwne, że do tej pory nikt jeszcze nie zauważył problemu tzw. routerów wypożyczanych przez Toyę. Każdy z nich ma domyślnie ustawione hasło składające się z ośmiu cyferek a żeby było śmieszniej urządzenia te nie mają panelu admina (albo to ja jestem taki głupi i go nie umiałem znaleźć) więc niemożliwa jest też jego zmiana. Oczywiście identyfikacja takiego „celu” jest banalnie prosta.

    Odpowiedz
  8. Michał

    Cześć,
    Nie orientujesz sie może o ile krótszy jest czas porównywania z hasłami z rozpakowanego już wcześniej słownika w formie tekstowej niż z słownika spakowanego, rozpakowywanego w locie ?

    Odpowiedz
  9. www

    radeon r9 290x , i jedziemy 200000 kombinacji na sekunde z hashcatem ;0

    Odpowiedz

Odpowiedz