Przechwytywanie pakietów Wi-Fi pozwala zobaczyć szczegóły i interakcje, które w inny sposób są maskowane, zanim dotrą do oprogramowania działającego na urządzeniu. Dzięki temu przechwytywanie jest ważnym narzędziem w przypadku niektórych rodzajów błędów.
Główne etapy tego procesu to:
- Znajdź odpowiedni kanał do śledzenia.
- Przechwyć ruch.
- Udostępnij zrzut i hash hasła do sieci WLAN.
1. Określanie odpowiedniego kanału i szerokości
Sieci WLAN działają w zakresie:
- kanał, zwykle oznaczony 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 lub 160 MHz),
Każdy punkt dostępu (np. router, węzeł sieci mesh) w Twojej sieci ma zwykle unikalny kanał 2,4 GHz i kanał 5 GHz. Musisz sprawdzić, z którym z nich połączone jest urządzenie. Jest kilka możliwości:
Korzystanie z panelu sterowania routera
Jeśli używasz Nest WiFi, pomiń tę opcję – informacje nie są udostępniane.
Większość routerów ma listę połączonych urządzeń oraz informację o tym, jakiego kanału i jakiej szerokości pasma używają.
- Adres IP routera znajdziesz w tym przewodniku.
- W przeglądarce otwórz adres routera, np. http://192.168.1.1.
- Zaloguj się. Nie znasz hasła? Poszukaj tagu na routerze lub skorzystaj z usługi Router Passwords.
Poszukaj strony o nazwie np. „Klienci” lub „Podłączone urządzenia”. Na przykład strona routera Netgear może wyglądać tak, jak na tym obrazie, lub tak, jak w przypadku urządzeń Eero.
Aby zmapować informacje z kroku 4 na konkretny kanał i pasmo, może być konieczne poszukanie odpowiednich ustawień w innych miejscach. Na przykład router Netgear:
Użyj Maca, jeśli jest już połączony z tym samym kanałem.
Przytrzymaj klawisz Option na klawiaturze, a następnie kliknij ikonę sieci WLAN w prawym górnym rogu paska stanu na Macu. Powinno pojawić się zwykłe menu WLAN z kilkoma dodatkowymi opcjami i informacjami. Sprawdź niedostępne pozycje menu i poszukaj tej, która zawiera słowo „Kanał”:
`Channel 60 (DFS, 5GHz, 40MHz)`
Nie można znaleźć kanału i szerokości
Jeśli inne metody nie działają, możesz spróbować:
Wymień wszystkie kanały, z których korzystają punkty dostępu (zwykle 2 na każdy punkt dostępu lub punkt sieci mesh).
a. Zalecane Na telefonie z Androidem możesz użyć aplikacji takich jak Wifiman lub Aruba Utilities.
a. Na komputerze Mac możesz użyć
/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport-s
, aby wyświetlić listę opcji.Wykonaj krótkie (nawet 15-sekundowe) nagranie na każdym z tych kanałów, postępując zgodnie z poniższymi instrukcjami.
Zainstaluj Wireshark (pomoc znajdziesz w artykule Instalowanie Wiresharka).
Otwórz każdy z zapisów 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: przechwytywanie 4-kierunkowego uzgadniania
Jeśli zabezpieczenia Wi-Fi są włączone, musisz znać klucze szyfrowania, aby odszyfrować przechwycone pakiety. Klucze szyfrowania są uzyskiwane w wyniku 4-krotnego uzgadniania, które ma miejsce, gdy urządzenie łączy się z siecią. Są one unikalne dla każdego połączenia między urządzeniem a punktem dostępu.
Z tego powodu MUSISZ przechwycić 4-krotne uzgadnianie, aby odszyfrować ładunki Wi-Fi. Jeśli urządzenie jest już połączone z siecią, gdy rozpoczynasz przechwytywanie, rozłącz i połącz ponownie urządzenie (lub uruchom je ponownie) po rozpoczęciu przechwytywania.
Zrzut ekranu na Macu
Przytrzymując klawisz Option na klawiaturze, kliknij ikonę WLAN, a następnie wybierz „Open Wireless Diagnostics…” (Otwórz diagnostykę sieci bezprzewodowej…):
Na pasku menu Diagnostyki sieci bezprzewodowej wybierz Okno > Sniffer:
Ustaw kanał i szerokość na wartości uzyskane wcześniej (przykład na zrzucie ekranu dotyczy kanału 60 i szerokości 40 MHz):
Naciśnij Start
i wpisz hasło. Teraz spróbuj odtworzyć problem.
Upewnij się, że rejestrujesz 4-etapowe uzgadnianie połączenia zgodnie z instrukcjami w sekcji
Rejestrowanie 4-etapowego uzgadniania połączenia.
Gdy skończysz, naciśnij Stop
. Nowy plik *.pcap
znajdziesz w /var/tmp
, gdzie
są wszystkie dane o ruchu. Przykładowa nazwa pliku:(null)_ch100_2018-11-06_10.52.01.pcap
.
Przechwytywanie w Linuksie
Wyłącz Wi-Fi. Możesz to zrobić na 2 sposoby:
- Korzystanie z GUI (zalecane)
- Użyj interfejsu wiersza poleceń Network Manager, aby zatrzymać zarządzanie interfejsem WLAN:
sudo nmcli dev set <wlan-ifname> managed on
- Jeśli używasz innego menedżera sieci, odpowiednio dostosuj ustawienia.
Zapisz ten skrypt. Zastąp
<wlan-ifname>
nazwą interfejsu Wi-Fi. W tym dokumencie założono, ż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 $@
Uruchom powyższy skrypt i przekaż do niego kanał oraz najwyższą przepustowość do przechwytywania, np. kanał 153 o przepustowości 80 MHz:
./setup-wifi-capture chan 153 80 MHz
Otwórz Wireshark. Powinno być teraz możliwe przechwytywanie pakietów na interfejsie wlan.
3. Udostępnianie zapisu
Użyj generatora WPA PSK (Raw Key), aby wygenerować skrót hasła. Umożliwia to odszyfrowanie przechwyconych danych bez znajomości hasła w postaci zwykłego tekstu.
Musisz też udostępnić wygenerowany klucz PSK, aby inne osoby mogły odszyfrować przechwycone dane.
Dodatek
Instalowanie Wiresharka
Wiresharka możesz zainstalować za pomocą polecenia apt install wireshark w systemie Linux lub pobrać go online ze strony internetowej Wiresharka.
Konfigurowanie programu Wireshark do odszyfrowywania ruchu
Nie jest to konieczne w przypadku udostępniania plików z zapisem. Zrób to tylko wtedy, gdy chcesz samodzielnie sprawdzić odszyfrowany ruch w programie Wireshark.
W przypadku zabezpieczeń WPA2 w sieci Wi-Fi standard WPA2-PSK nie jest używany bezpośrednio do szyfrowania i odszyfrowywania ruchu. Jest on używany w 4-etapowym uzgadnianiu połączenia, które musisz przechwycić, aby odszyfrować pakiety. Jeśli jednak chcesz zarejestrować tylko problemy z połączeniem z Wi-Fi lub spadki łączności, które można odczytać z ramek zarządzania Wi-Fi, nie musisz rejestrować 4-krotnego uzgadniania. W każdym razie warto go zarejestrować.
Otwórz Wireshark i stronę Ustawienia (menu Wireshark > Ustawienia lub **Cmd + , **).
W sekcji „IEEE 802.11” w kategorii „Protokoły” sprawdź, czy jest zaznaczona opcja „Włącz odszyfrowywanie”:
Kliknij przycisk Edytuj obok etykiety Klucze deszyfrujące.
W lewym dolnym rogu kliknij przycisk „+” i wybierz opcję „wpa-pwd”.
Kliknij kolumnę klucza nowo utworzonego wiersza (obok ciągu wpa-pwd), wpisz klucz WPA2 PSK i identyfikator SSID w formacie
<password>:<ssid>
. Jeśli na przykład nazwa sieci toMyHomeNetwork
, a klucz WPA2 PSK tomyp4ssword
, wpiszmyp4ssword:MyHomeNetwork
.Kliknij OK, aby potwierdzić
Więcej informacji znajdziesz w oficjalnym przewodniku po Wiresharku (ze zrzutami ekranu) na stronie How to Decrypt 802.11 (w języku angielskim).
Jeśli używasz tshark
, przekaż te argumenty:
tshark -o wlan.enable_decryption:TRUE -o 'uat:80211_keys:"wpa-pwd","<psk>:<ssid>"'
Kolorowanie danych 802.11 w Wiresharku
Na stronie metageek.com znajdziesz przydatny profil kolorów 802.11: Profil konfiguracji Wireshark.