Postanowiłem zhakować mój nowy router tylko po to aby spróbować i mieć zabawę. Spoiler: to było naprawdę łatwe.
Więc aby wykonać moje testy wypróbowałem znaną dystrybucję Linuksa: Kali Linux. Ta dystrybucja posiada wiele preinstalowanych narzędzi hakerskich, które nam pomagają.
Zainstalowałem Kali Linux w trybie dual-boot ale możesz również użyć go w trybie Live USB lub z wirtualną maszyną jak VirtualBox.
Jak to działa
W tym miejscu użyjemy Aircrack-ng, który jest open-source’owym pakietem oprogramowania używanym do monitorowania sieci bezprzewodowych i „łamania” kluczy WEP i WPA sieci Wi-fi. Atak będzie przebiegał w kilku fazach:
- Przygotowanie karty sieciowej
- Analiza celu Wi-fi
- Przechwycenie handshake’u WPA (połączenia z siecią Wi-fi) poprzez rozłączenie urządzenia na Wi-fi
- Złamanie hasła handshake’u WPA metodą bruteforce
Przygotowanie
Pierwszym krokiem jest włączenie trybu monitora ustawionej karty sieciowej. Aby to zrobić należy wylistować dostępne karty sieciowe za pomocą airmong-ng
. Otwórz terminal i wpisz:
airmon-ng
Jeśli Twoja karta sieciowa nie wyświetla się, to znaczy, że nie jest kompatybilna. Musisz ją dokupić (wystarczy klucz USB Wi-fi).
W naszym przypadku widzimy, że możemy użyć naszej karty sieciowej wlan0. Aktywujemy więc tryb monitora następującą komendą::
airmon-ng start wlan0
Od tego momentu karta sieciowa wlan0 nie jest już dostępna (nie mamy już internetu), a pojawia się nowa karta sieciowa. Można ją znaleźć wykonując ifconfig
. W moim przypadku jest to wlan0mon…
Analiza
Teraz możemy sniffować pakiety sieciowe, które krążą wokół nas za pomocą airodump
:
airodump-ng wlan0mon
Ta komenda znajdzie dodatkowe informacje na temat Wi-fi w tym:
- the BSSID
- the CHannel
- the AUTH, tryb uwierzytelniania
- the ESSID, nazwa routera
Wśród wszystkich wierszy pojawia się moja sieć. Pamiętaj, aby zapisywać informacje, gdyż będą nam przydatne.
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 18:D6:C7:85:7E:A0 -45 6 0 0 2 54e WPA2 CCMP PSK TP-LINK_7EA0
Przechwytywanie handshake’u WPA
Handshake WPA ma miejsce, gdy urządzenie jest podłączone do Wi-fi. Naszym celem jest przechwycenie jednego z nich, aby odzyskać zaszyfrowane hasło.
- sniff the Wi-fi and wait for a device to connect to the Wi-fi
- sniff the Wi-fi and cause a disconnection and wait for the device to reconnect
W celu przetestowania, rozłączę moje Blackberry już do niego podłączone.
Skanowanie Wi-fi
Skanujemy więc sieć za pomocą polecenia airodump-ng
i opcji:
-
-c
opcje określające kanał -
--bssid
, ID mojego routera. -
w
katalog, w którym będą przechowywane pliki wyjściowe
airodump-ng -c 10 --bssid 18:D6:C7:85:7E:A0 -w tplink wlan0mon
Zostawiamy to polecenie w tle, wyprodukuje ono 3 pliki, z których jeden jest typu xml. To właśnie on nas interesuje, ponieważ zawiera więcej szczegółów na temat urządzeń podłączonych do wi-fi. Otwierając ten plik, możemy bardzo łatwo znaleźć informacje o moim Blackberry. Oto fragment pliku:
<client-mac>94:EB:CD:25:E0:C1</client-mac><client-manuf>BlackBerry RTS</client-manuf>
Disconnection
Teraz, gdy mamy już wszystkie informacje, wyślemy pakiet, który zażąda odłączenia mojego Blackberry. Używamy aireplay-ng
z parametrami:
-
-0
do wysłania sygnału de-autentykacji. -
-a
Do BSSID naszego Wi-fi. -
-c
BSSID celu - używana karta sieciowa
aireplay-ng -0 2 -a 18:D6:C7:85:7E:A0 -c 94:EB:CD:25:E0:C1 wlan0mon
Urządzenie rozłącza się i łączy ponownie automatycznie. Wynikiem jest WPA Handshake, który jest zawarty w pliku tplink.cpa.
Łamanie
Teraz, gdy uzyskaliśmy pakiet zawierający zaszyfrowane hasło WPA, musimy po prostu przetestować kilka kombinacji, aż znajdziemy pasującą: nazywa się to bruteforce.
słownik
Aby znaleźć hasło, potrzebujemy… haseł! Można znaleźć wielogigabajtowe pliki tekstowe z najczęściej używanymi hasłami. W moim przypadku wiem, że hasło do mojego Wi-fi składa się z 8 cyfr. Zamierzam więc użyć polecenia crunch
do wygenerowania wszystkich możliwych kombinacji. crunch
używa kilku parametrów:
- długość minimalna (8)
- długość maksymalna (8)
- znaki, które mają być użyte (0123…9)
Wysyłamy to wszystko w pliku passwords.txt.
crunch 8 8 12345678 > passwords.txt
W ciągu kilku sekund otrzymujemy plik o długości 43046721 linii ważący 369 MB!!!!
The bruteforce
Podejmujemy działanie. Tutaj będziemy bruteforce’ować hasło. Aby to zrobić używamy aircrack-ng
, który zaszyfruje hasła jedno po drugim i sprawdzi czy pasuje do hasła z pakietu sieciowego, który przechwyciliśmy (Zrób sobie kawę, bo może być długi).
Aby to zrobić używamy aircrack-ng
.
aircrack-ng -a2 -b 18:D6:C7:85:7E:A0 -w /root/Desktop/passwords.txt /root/Desktop/tplink.cap
I po chwili::
Wnioski
Przez ten mały test widzimy, że bardzo łatwo jest „złamać” Wi-fi z hasłem WPA. Narzędzia, które mamy do dyspozycji są łatwo dostępne i nie jest wymagany żaden konkretny sprzęt. Jednak stosując kilka prostych zasad możemy uniknąć tego typu ryzyka.
Pamiętajmy, że użyte hasło składało się tylko z 8 znaków numerycznych. Taka liczba kombinacji zmieściła się w pliku o rozmiarze 380 MB. Gdyby hasło zawierało znaki alfabetyczne, słownik przekroczyłby terabajt. Bruteforce z pewnością trwałby kilka tygodni.
Stosując więc bardziej złożone hasło, zmniejszamy ryzyko. Zmieniając je regularnie, nie jest możliwe złamanie kombinacji wystarczająco szybko.
Co więcej, możliwe jest dostosowanie sygnału wi-fi tak, aby nie był on widoczny w całym budynku.
Jak tylko to możliwe, używaj kabla Ethernet, który nadal jest najbardziej bezpiecznym rozwiązaniem.
Linki
- Oryginalny artykuł
- Aircrack-ng
- Kali Linux | Penetration Testing and Ethical Hacking Linux Distribution