Przechwytywanie ruchu przez sieć WLAN

Przechwytywanie pakietów Wi-Fi pozwala zobaczyć szczegóły i interakcje, które w innym przypadku są maskowane, zanim dotrą do oprogramowania działającego na urządzeniu. Dzięki temu przechwytywanie jest ważnym narzędziem do wykrywania niektórych rodzajów błędów.

Główne kroki:

  1. Znajdź odpowiedni kanał do przechwytywania.
  2. Przechwyć ruch.
  3. Udostępnij przechwycony ruch i skrót hasła do sieci WLAN.

1. Określ odpowiedni kanał i szerokość

Sieci WLAN działają:

  • na kanale, zwykle oznaczonym numerem. 1–13 to kanały 2,4 GHz, 36–200 to kanały 5 GHz
  • z określoną 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 informacje o tym, jakiego kanału i szerokości używają.

  1. Znajdź adres IP routera, korzystając z tego przewodnika.
  2. W przeglądarce otwórz adres routera, np. http://192.168.1.1.
  3. Zaloguj się. Nie znasz hasła? Poszukaj etykiety na routerze lub użyj Router Passwords.
  4. Poszukaj strony o nazwie takiej jak „klienci” lub „podłączone urządzenia”. Na przykład strona routera Netgear może wyglądać tak jak poniżej lub w przypadku urządzeń Eero.

    Widok klienta Netgear

  5. Może być konieczne sprawdzenie innych ustawień, aby przypisać informacje z kroku 4 do konkretnego kanału i pasma. Na przykład router Netgear:

    Widok kanałów Netgear

Korzystanie z Maca, jeśli jest już połączony z tym samym kanałem

Przytrzymaj klawisz Option na klawiaturze, a następnie kliknij ikonę WLAN w prawym górnym rogu paska stanu Maca. Powinno się wyświetlić zwykłe menu WLAN z kilkoma dodatkowymi opcjami i informacjami. Sprawdź niedostępne elementy menu i poszukaj tego, który 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. Wypisz wszystkie kanały używane przez punkty dostępu (zwykle 2 dla każdego punktu dostępu lub węzła sieci mesh).

    a. Zalecane Na telefonie z Androidem możesz użyć aplikacji takiej jak Wifiman lub Aruba Utilities.

    a. Na Macu możesz użyć polecenia /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport-s, aby wyświetlić listę opcji.

  2. Wykonaj krótkie (nawet 15-sekundowe) przechwytywanie na każdym z tych kanałów, korzystając z instrukcji poniżej.

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

  4. Otwórz każdy z przechwyconych plików w Wiresharku, zastosuj filtr wyświetlania wlan.addr == YOUR_DEVICE'S_MAC i sprawdź, czy pojawiają się jakieś pakiety.

2. Rozpocznij przechwytywanie

Ważne: przechwytywanie procedury „4-way handshake”

Jeśli Wi-Fi jest zabezpieczone, musisz znać klucze szyfrowania, aby odszyfrować przechwycone pakiety. Klucze szyfrowania są generowane na podstawie procedury „4-way handshake”, która występuje, gdy urządzenie łączy się z siecią. Są one unikalne dla każdego połączenia między urządzeniem a AP.

Z tego powodu MUSISZ przechwycić procedurę „4-way handshake”, aby odszyfrować ładunki Wi-Fi. Jeśli urządzenie jest już połączone z siecią, gdy rozpoczynasz przechwytywanie, rozłącz i połącz urządzenie (lub uruchom je ponownie) po rozpoczęciu przechwytywania.

Przechwytywanie na Macu

Przytrzymaj klawisz Option na klawiaturze, kliknij ikonę WLAN, a następnie wybierz „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, które zostały wcześniej pobrane (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 przechwytujesz procedurę „4-way handshake” z połączenia zgodnie z opisem w sekcji Przechwytywanie procedury „4-way handshake”.

Gdy skończysz, naciśnij Stop. W folderze /var/tmp znajdziesz nowy plik *.pcap, który zawiera cały ruch. Przykładowa nazwa pliku: (null)_ch100_2018-11-06_10.52.01.pcap.

Przechwytywanie w systemie Linux

  1. Wyłącz Wi-Fi. Możesz to zrobić:

    • za pomocą graficznego interfejsu użytkownika (zalecane),
    • za pomocą 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, dostosuj ustawienia odpowiednio.
  2. Zapisz ten skrypt. Zastąp <wlan-ifname> nazwą interfejsu Wi-Fi. W tym dokumencie zakłada się, że skrypt ma nazwę 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 poprzedni skrypt i przekaż kanał oraz najwyższą szerokość pasma do przechwytywania, np. kanał 153 z szerokością pasma 80 MHz:

    ./setup-wifi-capture chan 153 80 MHz
  4. Otwórz Wiresharka. Powinna być teraz możliwość przechwytywania pakietów na interfejsie wlan.

3. Udostępnij przechwycony ruch

  1. Użyj generatora WPA PSK (Raw Key) aby wygenerować skrót hasła. Dzięki temu możesz odszyfrować przechwycony ruch bez znajomości hasła w postaci zwykłego tekstu.

  2. Musisz też udostępnić wygenerowany PSK, aby inni mogli odszyfrować przechwycony ruch.

Dodatek

Instalowanie Wiresharka

Wiresharka możesz zainstalować za pomocą polecenia `apt install wireshark` w systemie Linux lub pobrać go online ze strony Wiresharka.

Konfigurowanie Wiresharka do odszyfrowywania ruchu

Nie jest to konieczne do udostępniania plików przechwyconego ruchu. Zrób to tylko wtedy, gdy chcesz samodzielnie sprawdzić odszyfrowany ruch w Wiresharku.

W przypadku zabezpieczeń WPA2 w Wi-Fi WPA2-PSK nie jest używany bezpośrednio do szyfrowania i odszyfrowywania ruchu. Jest on używany w procedurze „4-way handshake”, którą musisz przechwycić, aby odszyfrować pakiety. Jeśli jednak chcesz przechwycić tylko problemy z połączeniem z Wi-Fi lub utratą łączności, które można odczytać z ramek zarządzania Wi-Fi, nie musisz przechwytywać 4-way handshake. W każdym przypadku warto go przechwycić.

Otwórz Wiresharka i stronę Ustawienia (Menu Wiresharka > Ustawienia lub **Cmd + , **).

  1. W sekcji „Protokoły” znajdź sekcję „IEEE 802.11” i upewnij się, że jest zaznaczone pole „Włącz odszyfrowywanie”:

    Ustawienia Wiresharka na Macu

  2. Obok etykiety Klucze odszyfrowywania kliknij przycisk Edytuj.

  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 (bezpośrednio obok ciągu wpa-pwd), wpisz WPA2 PSK i SSID w formacie <password>:<ssid>. Jeśli na przykład nazwa sieci to MyHomeNetwork, a WPA2 PSK to myp4ssword, wpisz myp4ssword:MyHomeNetwork.

    Identyfikator SSID Wireshark na komputerze Mac

  5. Aby potwierdzić, kliknij OK.

Więcej informacji znajdziesz w oficjalnym przewodniku Wiresharka (ze zrzutami ekranu) w artykule How to Decrypt 802.11.

Jeśli używasz tshark, przekaż te argumenty:

tshark -o wlan.enable_decryption:TRUE -o 'uat:80211_keys:"wpa-pwd","<psk>:<ssid>"'

Dostosowywanie kolorów danych 802.11 w Wiresharku

Na stronie metageek.com znajduje się przydatny profil kolorów 802.11: Wireshark Configuration Profile.