Przechwytywanie ruchu przez sieć WLAN

Przechwytywanie pakietów Wi-Fi pozwala zobaczyć szczegóły i interakcje, które w przeciwnym razie 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 typów błędów.

Główne etapy to:

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

1. Określanie odpowiedniego kanału i szerokości

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

Korzystanie z 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 kanałów i szerokości, których używają.

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

    Widok klienta Netgear

  5. Być może musisz poszukać w ustawieniach, aby zmapować informacje z kroku 4 na konkretny kanał i przepustowość. Na przykład router Netgear:

    Widok kanałów Netgear

użyć 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 komputera Mac. Powinno się wyświetlić zwykłe menu sieci WLAN z kilkoma dodatkowymi opcjami i informacjami. Przejrzyj niedostępne pozycje menu i znajdź tę, 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, których używają punkty dostępu (zwykle 2 na każdy punkt dostępu lub punkt siatki).

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

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

  2. Wykonaj krótkie (wystarczy 15 sekund) przechwytywanie na każdym z tych kanałów, postępując zgodnie z instrukcjami poniżej.

  3. Zainstaluj Wireshark (aby uzyskać pomoc, zobacz Instalowanie Wireshark).

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

2. Rozpocznij rejestrowanie

Ważne: przechwytywanie 4-etapowego uzgadniania

Jeśli zabezpieczenia Wi-Fi są włączone, musisz znać klucze szyfrowania, aby odszyfrować przechwycone pakiety. Klucze szyfrowania są generowane podczas 4-etapowego uzgadniania, które ma miejsce, gdy urządzenie łączy się z siecią, i są unikalne dla każdego połączenia między urządzeniem a punktem dostępu.

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

Przechwytywanie na Macu

Przytrzymując klawisz Option na klawiaturze, kliknij ikonę WLAN, a następnie wybierz „Otwórz Diagnostykę sieci bezprzewodowej…”:

Przechwytywanie danych WLAN na Macu

Na pasku menu Diagnostyka sieci bezprzewodowej wybierz Okno > Sniffer:

Sniffer WLAN na Macu

Ustaw kanał i szerokość na wartości uzyskane wcześniej (na zrzucie ekranu pokazano przykład dla kanału 60 i szerokości 40 MHz):

Kanał i szerokość sieci WLAN na Macu

Naciśnij Start i wpisz hasło. Teraz spróbuj odtworzyć problem. Upewnij się, że przechwycisz 4-etapowe uzgadnianie połączenia, jak opisano w sekcji Przechwytywanie 4-etapowego uzgadniania.

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ć na 2 sposoby:

    • Za pomocą interfejsu GUI (zalecane)
    • Użyj interfejsu wiersza poleceń Network Managera, 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 przyjęto, ż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 poprzedni skrypt i podaj kanał oraz najwyższą przepustowość do przechwycenia, na przykład 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 w interfejsie wlan.

3. Udostępnij zapis

  1. Aby wygenerować skrót hasła, użyj generatora WPA PSK (Raw Key). Dzięki temu możesz odszyfrować przechwycone dane bez znajomości hasła w formie zwykłego tekstu.

  2. Musisz też udostępnić wygenerowany klucz PSK, aby inni mogli odszyfrować przechwycone dane.

Dodatek

Instalowanie Wireshark

Możesz zainstalować Wireshark, używając polecenia 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 przechwytywania. Zrób to tylko wtedy, gdy chcesz samodzielnie sprawdzić odszyfrowany ruch w 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, które musisz przechwycić, aby odszyfrować pakiety. Jeśli jednak chcesz przechwycić tylko problemy z połączeniem z Wi-Fi lub spadki jakości połączenia, które można odczytać z ramek zarządzania Wi-Fi, nie musisz przechwytywać 4-etapowego uzgadniania. W obu przypadkach warto jednak zarejestrować te dane.

Uruchom Wireshark i otwórz stronę Ustawienia (Menu Wireshark > Ustawienia lub **Cmd + , **).

  1. Znajdź sekcję „IEEE 802.11” w kategorii „Protocols” i upewnij się, że opcja „Enable decryption” jest zaznaczona:

    Ustawienia Wireshark na Macu

  2. Kliknij przycisk Edytuj obok etykiety Klucze odszyfrowywania.

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

    Mac Wireshark WPA and Password

  4. Kliknij kolumnę klucza nowo utworzonego wiersza (tuż 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 Macu

  5. Kliknij OK, aby potwierdzić.

Więcej informacji znajdziesz w oficjalnym przewodniku po Wireshark (ze zrzutami ekranu) w artykule How to Decrypt 802.11 (Jak odszyfrować 802.11).

Jeśli używasz tshark, przekaż 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 znajdziesz przydatny profil kolorów 802.11: Wireshark Configuration Profile.