Pentesting sieci WLAN z szyfrowaniem WPA / WPA2
WPA / WPA2 to kolejna ewolucja bezpiecznej sieci bezprzewodowej, która pojawiła się po tym, jak WEP okazał się niezabezpieczony. Algorytmy używane przez te protokoły są znacznie bezpieczniejsze (WPA: TKIP i WPA2: CCMP / AES), przez co niemożliwe jest złamanie sieci przy użyciu tego samego podejścia, które zrobiliśmy z WEP.
Łamanie WPA / WPA2 opiera się na tym samym pomyśle - wąchaniu początkowego 4-kierunkowego uzgadniania i zastosowaniu ataku brute-force w celu złamania zaszyfrowanego hasła.
Aby zilustrować ten przykład, ponownie wykorzystam WLAN „LAB-test”, tym razem zabezpieczony WPA2 przy użyciu następującego klucza - „F8BE4A2C”. Jak pamiętacie z poprzednich rozdziałów, sukces i czas potrzebny na brutalne wymuszenie hasła zależy od złożoności hasła. Hasło, którego tutaj użyłem, jest potencjalnie słabe - na tyle słabe, że można je złamać w stosunkowo rozsądnym czasie. W rzeczywistych środowiskach powinieneś widzieć tylko hasło, które ma ponad 10 znaków i zawiera wszystkie rodzaje znaków alfanumerycznych - w ten sposób brutalne użycie go zajęłoby lata.
Podobnie jak w ostatnim przykładzie, zaczniemy od airodump-ng, aby pasywnie zebrać informacje o sieci WLAN.
Jak widać, rzeczywiście ma SSID "LAB-test" zabezpieczony WPA2 z szyfrowaniem CCMP. Klient podłączony do LAB-test jest obecnie moim drugim komputerem z adresem MAC 84: A6: C8: 9B: 84:76.
Pierwszym krokiem jest włączenie podsłuchiwania ruchu (tym razem nie przejmujemy się zbytnio pakietami danych). LAB-test to polecenie zebrania wstępnego 4-kierunkowego uzgadniania między AP a klientem bezprzewodowym (moim komputerem).
Jak widać poniżej, za każdym razem, gdy nowy użytkownik dołącza do sieci, airodump węszy czterokierunkowy uścisk dłoni.
Ponieważ mamy te uściski dłoni zebrane w pliku, jesteśmy gotowi do złamania hasła. Jedynym brakującym elementem jest plik słownika z możliwymi hasłami. Istnieje wiele narzędzi, których możesz użyć, takich jak john, crunch, a nawet możesz pobrać plik słownika z Internetu. W tym przykładzie pokażę kryzys, ale możesz poeksperymentować ze wszystkimi rozwiązaniami, które możesz znaleźć. Pamiętaj, że niebo jest granicą.
Jak widzisz, crunchmoże stworzyć dla Ciebie słownik. Załóżmy, że chcemy mieć wszystkie hasła zawierające cyfry i litery o długości do 8 znaków. I załóżmy, że liczba może wynosić od 0 do 9 i litery od A do F. Dlaczego robimy te ograniczenia (założenie dotyczące hasła)? - to dlatego, że jeśli chcesz mieć plik ze wszystkimi kombinacjami haseł składającymi się z cyfr 0-9, liter az i AZ, potrzebujesz miejsca 18566719 GB (!!!).
Więc najpierw tworzymy wszystkie kombinacje i umieszczamy je w pliku słownika.
Następnie odwołujemy się do tego pliku słownika przy użyciu rozszerzenia aircrack narzędzie, aby spróbować uzyskać właściwy klucz, w następujący sposób -
Aircrack-ng znalazł w pliku 8 identyfikatorów BSSID, dlatego pyta Cię - która sieć WLAN chcesz złamać - podałem numer 2 - sieć "LAB-test".
Sprawdzanie każdego z haseł po kolei to bardzo długi proces. Czas na znalezienie odpowiedniego hasła zależy od tego, jak daleko w pliku słownika jest umieszczone hasło (jeśli masz szczęście, możesz znaleźć hasło w swoim pierwszym zgadywaniu, jeśli hasło jest umieszczone w pierwszej linii pliku słownika). W tym przykładzie, jak widać, znalazłem hasło, ale zajęło to 8 godzin i 47 minut (!!!). Używanie hasła składającego się z 10 znaków zamiast 8 spowodowałoby prawdopodobnie wydłużenie czasu do kilku dni lub tygodnia.
Należy pamiętać, że im dłuższy słownik, tym dłużej będzie trwało złamanie hasła. I, jak podkreśliłem kilka razy wcześniej, jeśli hasło jest dość złożone i długie, nie jest w ogóle wykonalne obliczeniowo crackowanie (w ograniczonym czasie, powiedzmy poniżej 10 lat).