Niniejszy artykuł został napisany wyłącznie w celach informacyjnych i badawczych. Zachęcamy do przestrzegania zasad pracy z sieciami oraz prawa, a także do zawsze pamiętania o bezpieczeństwie informacji.
Wprowadzenie
Na początku lat 90-tych, gdy Wi-Fi dopiero się pojawiło, stworzono algorytm Wired Equivalent Privacy, który miał zapewniać poufność sieci Wi-Fi. Niestety, WEP okazał się nieskutecznym algorytmem zabezpieczeń, który można łatwo złamać.
Na jego miejsce pojawił się nowy algorytm zabezpieczeń Wi-Fi Protected Access II, który dziś stosuje większość punktów dostępu Wi-Fi. WPA2 wykorzystuje algorytm szyfrowania AES, który jest niezwykle trudny do złamania.
Gdzie jest więc ta luka?
Wadą WPA2 jest to, że zaszyfrowane hasło jest przesyłane podczas łączenia użytkowników w trakcie tzw. 4-way handshake (czteroetapowe nawiązanie połączenia). Jeśli przechwycimy handshake, dowiemy się o zaszyfrowanym haśle i będziemy musieli je jedynie zdeszyfrować. W tym celu użyjemy aircrack-ng.
Jak więc złamać?
Krok 1. Określenie interfejsu
Na początek musimy ustalić, jaki interfejs sieciowy jest nam potrzebny, w tym celu wprowadzamy polecenie:
$ ifconfigOtrzymujemy odpowiedź:
eth0 brak rozszerzeń bezprzewodowych.
wlan0 IEEE 802.11abgn ESSID:off/any
Tryb:Zarządzany Punkt Dostępu: Nie związany Tx-Power=15 dBm
Limit ponownych prób:7 RTS thr:off Fragment thr:off
Klucz szyfrowania:off
Zarządzanie energią:off
lo brak rozszerzeń bezprzewodowychW moim przypadku są trzy interfejsy, z czego dwa nie mają rozszerzeń bezprzewodowych (brak rozszerzeń bezprzewodowych). Dlatego interesuje nas tylko wlan0.
Krok 2. Przełączanie karty sieciowej w tryb monitorowania
Przełączenie karty sieciowej w tryb monitorowania pozwoli nam widzieć ruch bezprzewodowy w pobliżu. Aby to zrobić, wprowadzamy polecenie:
$ airmon-ng start wlan0Zauważ, że airmon-ng zmienił nazwę Twojego interfejsu (w moim przypadku nazywa się mon0, ale warto to sprawdzić).
Krok 3. Przechwytywanie ruchu
Teraz, gdy nasza karta sieciowa jest w trybie monitorowania, możemy przechwycić ruch, który przechodzi obok nas, używając polecenia airodump-ng. Wprowadzamy:
$ airodump-ng mon0 
Zauważ, że wszystkie widoczne punkty dostępu są wymienione w górnej części ekranu, a klienci — w dolnej części ekranu.
Krok 4. Skupienie się na przechwyceniu konkretnego punktu dostępu.
Nasz następny krok to skoncentrowanie naszych wysiłków na jednym punkcie dostępowym i jego kanale. Interesuje nas BSSID i numer kanału punktu dostępowego, który będziemy łamać. Otwórzmy jeszcze jeden terminal i wpiszmy:
$ airodump-ng --bssid 08:86:30:74:22:76 -c 6 -w WPAcrack mon0 
- 08:86:30:74:22:76 BSSID punktu dostępowego
- -c 6 kanał, na którym działa punkt dostępowy Wi-Fi
- WPAcrack plik, w którym zapisze się handshake
- mon0 adapter sieciowy w trybie monitorowania
Jak widzisz na zrzucie ekranu powyżej, obecnie koncentrujemy się na przechwytywaniu danych z jednego punktu dostępowego z ESSID Belkin276 na kanale 6. Terminal zostawiamy otwarty!
Krok 5. Uzyskanie handshake
Aby przechwycić zaszyfrowane hasło, musimy, aby klient przeszedł autoryzację (połączył się z Wi-Fi). Jeśli jest już autoryzowany, możemy go dezautoryzować (rozłączyć), wtedy system automatycznie ponownie się autoryzuje (połączy), co pozwoli nam uzyskać zaszyfrowane hasło.
To znaczy, że musimy tylko rozłączyć podłączonych użytkowników, aby ponownie się połączyli. W tym celu otwieramy jeszcze jeden terminal i wpisujemy:
$ aireplay-ng --deauth 100 -a 08:86:30:74:22:76 mon0 
- 100 liczba użytkowników, którzy zostaną dezautoryzowani
- 08:86:30:74:22:76 BSSID punktu dostępowego
- mon0 adapter sieciowy
Teraz przy ponownym połączeniu okno, które zostawiliśmy w poprzednim kroku, uchwyci handshake. Wróćmy do naszego terminala airodump-ng i sprawdźmy.

Zauważ górny wiersz po prawej stronie, airodump-ng wyświetlił: „Handshake WPA”. To znaczy, że pomyślnie przechwyciliśmy zaszyfrowane hasło! To pierwszy krok do sukcesu!
Krok 6. Łamiemy hasło
Teraz, gdy mamy zaszyfrowane hasło w naszym pliku WPAcrack, możemy rozpocząć łamanie hasła. Ale do tego potrzebujemy listy haseł, które chcemy użyć. Taką listę można znaleźć w pięć minut w Google. Ja zaś będę używać domyślnej listy haseł, zintegrowanej z aircrack-ng: BackTrack darkcOde.
Otwieramy nowy terminal i wpisujemy:
$ aircrack-ng WPAcrack-01.cap -w /pentest/passwords/wordlists/darkc0de 
- WPAcrack-01.cap plik, do którego zapisaliśmy handshake (airodump-ng dodał na końcu -01.cap)
- /pentest/passwords/wordlist/darkc0de абсолютный путь к списку паролей
Ile to zajmie czasu?
Ten proces może zająć dużo czasu. Wszystko zależy od długości twojej listy haseł, możesz czekać od kilku minut do kilku dni. Na moim dwu rdzeniowym procesorze Intel aircrack-ng łamie nieco ponad 800 haseł na sekundę.
Gdy hasło zostanie znalezione, pojawi się na twoim ekranie. To, czy uda się skutecznie złamać hasło, zależy od twojej listy. Jeśli nie udało ci się złamać hasła przy użyciu jednej listy, nie poddawaj się, spróbuj innej.
Porady dotyczące użytkowania
- Ten rodzaj ataku jest skuteczny w przypadku łamania haseł z listy, ale praktycznie bezużyteczny w przypadku łamania losowego. Wszystko sprowadza się do czasu. Jeśli Wi-Fi jest zabezpieczone średniej trudności hasłem składającym się z liter i cyfr, łamanie losowe zajmie kilka lat.
- Wybierając listę haseł, pamiętaj o czynnikach geograficznych. Na przykład nie ma sensu łamać hasł w restauracji w Paryżu przy użyciu rosyjskiej listy haseł.
- Jeśli łamiesz domowe Wi-Fi, spróbuj dowiedzieć się jakichkolwiek danych osobowych ofiary (imię, nazwisko, data urodzenia, imię psa itd.) i wygenerować dodatkową listę haseł na podstawie tych informacji.
- Po złapaniu handshake'a wyłącz działanie aireplay-ng (nie powoduj cierpienia zwykłych użytkowników).
Źródło: habr.com
