Przechwytywanie ruchu przez sieć WLAN

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:

  1. Znajdź odpowiedni kanał do śledzenia.
  2. Przechwyć ruch.
  3. 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ą.

  1. Adres IP routera znajdziesz w tym przewodniku.
  2. W przeglądarce otwórz adres routera, np. http://192.168.1.1.
  3. Zaloguj się. Nie znasz hasła? Poszukaj tagu na routerze lub skorzystaj z usługi Router Passwords.
  4. 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.

    Widok klienta Netgear

  5. 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:

    Widok kanałów 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)`

Mac WLAN

Nie można znaleźć kanału i szerokości

Jeśli inne metody nie działają, możesz spróbować:

  1. 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.

  2. Wykonaj krótkie (nawet 15-sekundowe) nagranie na każdym z tych kanałów, postępując zgodnie z poniższymi instrukcjami.

  3. Zainstaluj Wireshark (pomoc znajdziesz w artykule Instalowanie Wiresharka).

  4. 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…):

Przechwytywanie WLAN na Macu

Na pasku menu Diagnostyki sieci bezprzewodowej wybierz Okno > Sniffer:

Mac WLAN 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):

Kanał i szerokość sieci WLAN na komputerze Mac

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

  1. 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.
  2. Zapisz ten skrypt. Zastąp <wlan-ifname> nazwą interfejsu Wi-Fi. W tym dokumencie założono, że nazwa skryptu to setup-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 $@
  3. 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
  4. Otwórz Wireshark. Powinno być teraz możliwe przechwytywanie pakietów na interfejsie wlan.

3. Udostępnianie zapisu

  1. 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.

  2. 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 + , **).

  1. W sekcji „IEEE 802.11” w kategorii „Protokoły” sprawdź, czy jest zaznaczona opcja „Włącz odszyfrowywanie”:

    Ustawienia Wiresharka na Macu

  2. Kliknij przycisk Edytuj obok etykiety Klucze deszyfrujące.

  3. W lewym dolnym rogu kliknij przycisk „+” i wybierz opcję „wpa-pwd”.

    Mac Wireshark WPA i hasło

  4. 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 to MyHomeNetwork, a klucz WPA2 PSK to myp4ssword, wpisz myp4ssword:MyHomeNetwork.

    Identyfikator SSID Wireshark na komputerze Mac

  5. 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.