Przechwytywanie pakietów Wi-Fi umożliwia wyświetlanie szczegółów i interakcji, które są w innej sytuacji zamaskowane, zanim dotrą do oprogramowania działającego na urządzeniu. Dzięki temu przechwytywanie jest ważnym narzędziem do wykrywania niektórych typów błędów.
Główne kroki to:
- Znajdź odpowiedni kanał do skanowania.
- Przechwyć natężenie ruchu.
- Udostępnij zrzut ekranu i hash hasła do sieci WLAN.
1. Określ odpowiedni kanał i szerokość
Sieci WLAN działają w zakresie:
- kanał, zwykle oznaczany numerem; 1–13 to kanały 2,4 GHz, 36–200 to kanały 5 GHz
- o określonej szerokości (20 MHz, 40 MHz, 80 MHz, 160 MHz)
Każdy punkt dostępu (np. router, węzeł sieci mesh) w Twojej sieci ma zwykle unikalny kanał 2,4 GHz i 5 GHz. Musisz sprawdzić, z którym z nich jest połączone urządzenie. Jest kilka możliwości:
Używanie panelu sterowania routera
Jeśli używasz Nest WiFi, pomiń tę opcję – informacje nie są widoczne.
Większość routerów ma listę połączonych urządzeń oraz informacje o tym, którego kanału i częstotliwości używają.
- Znajdź adres IP routera za pomocą tego przewodnika.
- W przeglądarce otwórz adres routera, np. http://192.168.1.1.
- Zaloguj się. Nie znasz hasła? Poszukaj tagu na routerze lub użyj haseł do routera.
Poszukaj strony o nazwie „Klienci” lub „Podłączone urządzenia”. Na przykład strona routera Netgear może wyglądać tak, jak na poniższym obrazku, lub tak, jak w przypadku urządzeń Eero.
Aby przypisać informacje z kroku 4 do konkretnego kanału i szerokości pasma, może być konieczne sprawdzenie innych ustawień. Na przykład router Netgear:
Użyj komputera Mac, jeśli jest on już połączony z tym samym kanałem.
Naciśnij i przytrzymaj klawisz Option, a następnie kliknij ikonę WLAN w prawym górnym rogu paska stanu na Macu. Powinieneś zobaczyć zwykłe menu WLAN z kilkoma dodatkowymi opcjami i informacjami. Spójrz na niedostępne pozycje menu i znajdź tę, która dotyczy kanału:
`Channel 60 (DFS, 5GHz, 40MHz)`
Nie można znaleźć kanału i szerokości
Jeśli inne metody nie zadziałają, możesz spróbować:
Wymień wszystkie kanały używane przez punkty dostępu (zazwyczaj 2 kanały na punkt dostępu lub punkt dostępu w sieci mesh).
a. Zalecany sposób – na telefonie z Androidem możesz użyć aplikacji takiej jak Wifiman lub Aruba Utilities.
a. Na komputerze Mac możesz użyć
/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport-s
, aby wyświetlić opcje.Wykonaj krótkie (wystarczy nawet 15 sekund) nagranie każdego z tych kanałów, postępując zgodnie z instrukcjami podanymi poniżej.
Zainstaluj Wireshark (pomoc znajdziesz w artykule Instalowanie Wiresharka).
Otwórz każdą z przechwyconych transmisji za pomocą Wiresharka, zastosuj filtr wyświetlania
wlan.addr == YOUR_DEVICE'S_MAC
i sprawdź, czy pojawiają się jakieś pakiety.
2. Rozpocznij nagrywanie
Ważne: rejestrowanie 4-stronnego uścisku dłoni
Jeśli zabezpieczenia Wi-Fi są włączone, musisz znać klucze szyfrowania, aby odszyfrować przechwycone pakiety. Klucze szyfrowania są wyprowadzane z 4-stronnego uścisku dłoni, który ma miejsce, gdy urządzenie łączy się z siecią. Są one unikalne dla każdego połączenia między urządzeniem a punktami dostępu.
Z tego powodu MUSISZ przechwycić 4-way handshake, aby odszyfrować dane ładunku w Wi-Fi. Jeśli urządzenie jest już połączone z siecią, gdy rozpoczynasz przechwytywanie, rozłącz je i połącz ponownie (lub uruchom ponownie), gdy rozpocznie się skanowanie.
Rejestrowanie na Macu
Przytrzymując klawisz Option na klawiaturze, kliknij ikonę WLAN, a następnie wybierz „Otwórz diagnostykę sieci bezprzewodowej…”:
Na pasku menu diagnostyki sieci bezprzewodowej wybierz Okno > Sniffer:
Ustaw kanał i szerokość na wartości, które zostały wcześniej pobrane (na zrzucie ekranu przykładowo wybrano kanał 60 i szerokość 40 MHz):
Naciśnij Start
i wpisz hasło. Teraz spróbuj odtworzyć problem.
Upewnij się, że rejestrujesz 4-kierunkowe uzgadnianie połączenia z urządzenia, jak opisano w artykule Rejestrowanie 4-kierunkowego uzgadniania połączenia.
Gdy skończysz, naciśnij Stop
. W folderze /var/tmp
znajdziesz nowy plik *.pcap
, który zawiera cały ruch. Przykładowa nazwa pliku to:
(null)_ch100_2018-11-06_10.52.01.pcap
.
Rejestrowanie w Linuksie
Wyłącz Wi-Fi. Możesz to zrobić na 2 sposoby:
- Za pomocą interfejsu graficznego (zalecane)
- Użycie interfejsu wiersza poleceń Network Manager do zaprzestania zarządzania interfejsem WLAN:
sudo nmcli dev set <wlan-ifname> managed on
- Jeśli używasz innego menedżera sieci, dokonaj odpowiednich zmian.
Zapisz ten skrypt. Zastąp
<wlan-ifname>
nazwą interfejsu Wi-Fi. Ten dokument zakłada, że nazwa skryptu tosetup-wifi-capture
.#!/usr/bin/env bash sudo ifconfig <wlan-ifname> down sudo rfkill unblock wifi sudo iwconfig <wlan-ifname> mode monitor sudo ifconfig <wlan-ifname> up sudo iw dev <wlan-ifname> set channel $@
Wykonaj poprzedni skrypt i podaj kanał oraz najwyższą przepustowość do skanowania, np. kanał 153 z przepustowością 80 MHz:
./setup-wifi-capture chan 153 80 MHz
Otwórz Wiresharka. Teraz powinieneś mieć możliwość przechwytywania pakietów na interfejsie wlan.
3. Udostępnianie zapisu
Aby wygenerować hasz hasła, użyj generatora WPA PSK (klucza surowego). Dzięki temu możesz odszyfrować dane bez znajomości hasła w postaci zwykłego tekstu.
Musisz też udostępnić wygenerowany klucz PSK, aby inni użytkownicy mogli odszyfrować nagranie.
Dodatek
Instalowanie Wireshark
Możesz zainstalować Wireshark za pomocą apt install wireshark w systemie Linux lub pobrać go online ze strony Wireshark.
Konfigurowanie Wiresharka do odszyfrowywania ruchu
Nie jest to konieczne do udostępniania plików z przechwyconymi pakietami. Zrób to tylko wtedy, gdy chcesz samodzielnie analizować odszyfrowany ruch w Wiresharku.
W przypadku zabezpieczeń WPA2 w sieci Wi-Fi klucz WPA2-PSK nie jest używany bezpośrednio do szyfrowania i odszyfrowywania ruchu. Jest on używany w 4-way handshake, który musisz przechwycić, aby odszyfrować pakiety. Jeśli jednak chcesz tylko uchwycić problemy z połączeniem z Wi-Fi lub utratą połączenia, które można uzyskać z ramek zarządzania Wi-Fi, nie musisz uchwycić 4-stronnego procesu nawiązywania połączenia. W obu przypadkach warto je jednak wykonać.
Otwórz Wiresharka i otwórz stronę Ustawienia (menu Wireshark > Ustawienia lub **Cmd + , **).
W kategorii „Protokoły” odszukaj sekcję „IEEE 802.11” i upewnij się, że zaznaczona jest opcja „Włącz deszyfrowanie”:
Kliknij przycisk Edytuj obok etykiety Klucze odszyfrowywania.
W lewym dolnym rogu kliknij przycisk „+” i wybierz opcję „wpa-pwd”.
Kliknij kolumnę klucza w nowo utworzonym wierszu (obok ciągu wpa-pwd), wpisz klucz PSK WPA2 i SSID w formacie
<password>:<ssid>
. Jeśli na przykład nazwa sieci toMyHomeNetwork
, a klucz PSK WPA2 tomyp4ssword
, wpiszmyp4ssword:MyHomeNetwork
.Kliknij OK, aby potwierdzić.
Więcej informacji znajdziesz w oficjalnym przewodniku Wireshark (ze zrzutami ekranu) na stronie Jak odszyfrować 802.11.
Jeśli używasz tshark
, podaj te argumenty:
tshark -o wlan.enable_decryption:TRUE -o 'uat:80211_keys:"wpa-pwd","<psk>:<ssid>"'
Kolorowanie danych Wireshark 802.11
Na stronie metageek.com znajduje się przydatny profil kolorów 802.11: Profil konfiguracji Wireshark.