- Przechwytywanie i Analiza Ruchu w Sieciach WiFi: Warstwa 1 i 2
- Wprowadzenie
- Warstwa 1: Medium Radiowe i Tryb Monitor
- Access Point jako Koncentrator
- Tryb Monitor (Monitor Mode)
- Złożoność Ramki 802.11 (MAC) w Warstwie 2
- Porównanie Ramki Ethernet (802.3) i WiFi (802.11)
- Trzy Typy Ramek 802.11
- System Czterech Adresów MAC
- Analiza Układów Adresów MAC w Topologiach WiFi
- Topologia 1: Host wysyła dane do Internetu (Host -> AP -> Router)
- Topologia 2: Host odbiera dane z Internetu (Router -> AP -> Host)
- Topologia 3: Host A wysyła dane do Hosta B (w tej samej sieci WiFi)
- Most (Bridge) vs Klient (Client)
- Narzędzia i Praktyczne Przykłady Analizy
- Przykład 1: Uruchomienie Trybu Monitor i Skanowanie Otoczenia (airodump-ng)
- Przykład 2: Zmiana Adresu MAC w Sieci WiFi (macchanger)
- Przykład 3: Dogłębna Analiza Ramek Danych i Adresów (tcpdump)
- Przykład 4: Przechwytywanie Nieszyfrowanego Ruchu HTTP (Sieć Otwarta)
- Przykład 5: Analiza Sesji TCP (SSH/HTTPS) w Sieci *Chronionej* (iptraf-ng)
- Podsumowanie
Przechwytywanie i Analiza Ruchu w Sieciach WiFi: Warstwa 1 i 2
Wprowadzenie
Sieci bezprzewodowe (WiFi, 802.11) zrewolucjonizowały sposób, w jaki łączymy się z internetem, ale ich natura – transmisja danych przez otwarte medium radiowe – wprowadza fundamentalne różnice w porównaniu do tradycyjnych sieci kablowych (Ethernet, 802.3). Podczas gdy w sieci Ethernet (w trybie przełączania) nasza komunikacja jest w dużej mierze prywatna między portem komputera a portem przełącznika, w WiFi każde urządzenie w zasięgu „słyszy” transmisje innych. Ta cecha sprawia, że analiza i przechwytywanie ruchu w warstwie 1 (fizycznej) i 2 (łącza danych) są znacznie bardziej złożone, ale też oferują głębszy wgląd w działanie sieci.
Ten artykuł skupia się na technicznych aspektach analizy ramek 802.11, ze szczególnym uwzględnieniem budowy nagłówka MAC i jego implikacji dla bezpieczeństwa oraz diagnostyki. Zrozumienie, jak działają adresy MAC w WiFi, jest kluczowe do pojęcia, dlaczego tradycyjne narzędzia sieciowe zachowują się inaczej i dlaczego potrzebne są wyspecjalizowane techniki do monitorowania tego środowiska.
Uwaga: Informacje zawarte w tym artykule mają charakter wyłącznie edukacyjny. Opisane techniki i narzędzia służą do diagnostyki, analizy wydajności i audytów bezpieczeństwa we własnych sieciach lub za wyraźną zgodą właściciela. Przechwytywanie i analizowanie ruchu w sieciach, do których nie masz uprawnień, jest nielegalne i nieetyczne.
Warstwa 1: Medium Radiowe i Tryb Monitor
Access Point jako Koncentrator
W klasycznej sieci Ethernet z przełącznikiem (switchem), każde urządzenie podłączone do portu ma dedykowaną „ścieżkę” komunikacji. Przełącznik inteligentnie kieruje ramki tylko do portu docelowego, bazując na swojej tablicy adresów MAC. Inne urządzenia w sieci nie widzą tej transmisji. W sieci WiFi jest zupełnie inaczej. Wszystkie urządzenia podłączone do jednego punktu dostępowego (Access Point – AP) na tym samym kanale radiowym (np. kanał 6 w paśmie 2.4 GHz) współdzielą to samo medium transmisyjne. Działa to bardziej jak stary koncentrator (hub) niż przełącznik.
Oznacza to, że gdy jedno urządzenie nadaje, wszystkie inne muszą czekać. Protokół dostępu do medium w WiFi to CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance), który w przeciwieństwie do Ethernetowego CSMA/CD (Collision Detection) próbuje *unikać* kolizji, zamiast je tylko wykrywać. Każde urządzenie „nasłuchuje” czy kanał jest wolny, zanim rozpocznie transmisję. Ta współdzielona natura medium jest pierwszym powodem, dla którego przechwytywanie ruchu jest w ogóle możliwe – wystarczy „dostroić” naszą kartę radiową do odpowiedniego kanału, a będziemy odbierać *wszystkie* ramki przesyłane w powietrzu, a nie tylko te adresowane do nas.
Tryb Monitor (Monitor Mode)
Domyślnie, karta sieciowa WiFi w komputerze działa w trybie „Managed” (zarządzanym) lub „Client” (klienckim). Oznacza to, że jest skojarzona z jednym AP (BSSID), filtruje cały ruch i przekazuje do systemu operacyjnego tylko te ramki, które są adresowane bezpośrednio do jej adresu MAC (lub są broadcastem/multicastem). Aby móc przechwycić *cały* ruch na danym kanale – w tym ramki przesyłane między innymi klientami a AP – musimy przełączyć kartę w specjalny tryb zwany „Monitor Mode” (tryb monitorowania). Nie każda karta i nie każdy sterownik na to pozwalają, ale jest to absolutnie fundamentalny wymóg dla zaawansowanej analizy WiFi.
W trybie monitorowania karta sieciowa staje się pasywnym odbiornikiem. Przestaje być skojarzona z jakimkolwiek AP, a zamiast tego „skanuje” określony kanał radiowy i przekazuje do systemu *wszystkie* ramki 802.11, które uda jej się odebrać, niezależnie od adresata. To właśnie na interfejsie w trybie monitorowania będziemy używać narzędzi takich jak `tcpdump` czy Wireshark, aby zobaczyć surowy ruch w warstwie 2.
Złożoność Ramki 802.11 (MAC) w Warstwie 2
Porównanie Ramki Ethernet (802.3) i WiFi (802.11)
Fundamentalna różnica, która dezorientuje wielu analityków przyzwyczajonych do sieci kablowych, leży w budowie nagłówka ramki.
- Ramka Ethernet (802.3) jest prosta. Posiada dwa adresy MAC: adres docelowy (Destination Address, DA) i adres źródłowy (Source Address, SA). Każdy po 6 bajtów. To wszystko, co jest potrzebne do komunikacji punkt-punkt w sieci lokalnej (lub od hosta do bramy).
- Ramka WiFi (802.11) jest znacznie bardziej złożona, ponieważ musi obsługiwać skomplikowane scenariusze w medium radiowym. W zależności od typu ramki (Zarządzania, Kontrolna, Danych), jej nagłówek może zawierać aż cztery 6-bajtowe adresy MAC.
Trzy Typy Ramek 802.11
Ruch w WiFi to nie tylko przesyłanie danych (jak w Ethernet). To także ciągła „rozmowa” o stanie sieci:
- Ramki Zarządzania (Management Frames): Służą do nawiązywania i utrzymywania połączenia. Najważniejsze z nich to Beacon (sygnał rozgłaszany przez AP, informujący o istnieniu sieci i jej parametrach), Probe Request (wysyłane przez klienta szukającego sieci) i Probe Response (odpowiedź AP na Probe Request), a także Association/Authentication Request/Response.
- Ramki Kontrolne (Control Frames): Służą do zarządzania dostępem do medium. Najważniejsze to ACK (Acknowledgement), czyli potwierdzenie odbioru ramki (krytyczne w zawodnym medium radiowym), oraz RTS/CTS (Request to Send/Clear to Send) używane do rezerwacji kanału dla większych transmisji.
- Ramki Danych (Data Frames): To one przenoszą właściwy ładunek, czyli pakiety IP (TCP, UDP, ICMP itd.). To właśnie te ramki są najczęściej analizowane pod kątem treści, ale to one mają też najbardziej skomplikowaną strukturę adresów.
System Czterech Adresów MAC
W nagłówku ramki danych 802.11 znajdują się cztery pola na adresy MAC (Address 1, Address 2, Address 3, Address 4) oraz dwie flagi (To DS, From DS), które określają znaczenie tych adresów. „DS” oznacza Distribution System, czyli w praktyce sieć „za” punktem dostępowym (najczęściej sieć kablową Ethernet, do której AP jest podłączony).
| To DS | From DS | Znaczenie | Adres 1 (RA) | Adres 2 (TA) | Adres 3 | Adres 4 (SA) |
|---|---|---|---|---|---|---|
| 0 | 0 | IBSS (Ad-Hoc) / Ramki Zarządzania | Odbiorca (DA) | Nadajnik (SA) | BSSID | (Nieużywane) |
| 1 | 0 | Klient -> AP (Infrastructure Mode) | Odbiorca (AP) | Nadajnik (Klient) | Cel (DA) | (Nieużywane) |
| 0 | 1 | AP -> Klient (Infrastructure Mode) | Odbiorca (Klient) | Nadajnik (AP) | Źródło (SA) | (Nieużywane) |
| 1 | 1 | WDS (Wireless Bridge) | Odbiorca (AP2) | Nadajnik (AP1) | Cel (DA) | Źródło (SA) |
W skrócie:
- Adres 1 (RA – Receiver Address): Zawsze adres MAC urządzenia, które ma fizycznie odebrać ramkę radiową.
- Adres 2 (TA – Transmitter Address): Zawsze adres MAC urządzenia, które fizycznie nadaje ramkę radiową.
- Adres 3 (DA/SA): Zmienia znaczenie. Może to być docelowy adres MAC (DA) lub źródłowy adres MAC (SA) z „oryginalnego” pakietu.
- Adres 4 (SA/DA): Używany tylko w trybie WDS (Wireless Distribution System), gdy ramka jest przesyłana między dwoma punktami dostępowymi.
Analiza Układów Adresów MAC w Topologiach WiFi
Przeanalizujmy najczęstsze przypadki w typowej sieci domowej (Infrastructure Mode), gdzie hosty łączą się z routerem WiFi (będącym jednocześnie AP).
Topologia 1: Host wysyła dane do Internetu (Host -> AP -> Router)
Klient (Host A) chce wysłać pakiet do google.com. Pakiet IP musi być opakowany w ramkę.
- Logiczny pakiet IP:
SRC_IP=Host_A,DST_IP=Google - Logiczna ramka L2:
SRC_MAC=MAC_Host_A,DST_MAC=MAC_Bramy(Bramą jest router WiFi)
Jednak ta ramka musi być wysłana *radiowo* do AP.
- Flagi: To DS = 1 (ramka idzie DO systemu dystrybucji), From DS = 0
- Adres 1 (Odbiorca Radiowy):
MAC_AP - Adres 2 (Nadajnik Radiowy):
MAC_Host_A - Adres 3 (Cel Logiczny):
MAC_Bramy(w tym przypadku to to samo coMAC_AP, ale gdyby AP był tylko „mostem”, te adresy mogłyby być różne)
Topologia 2: Host odbiera dane z Internetu (Router -> AP -> Host)
Google.com odpowiada do Host A. Pakiet dociera do routera WiFi. Router wysyła go do Host A.
- Logiczny pakiet IP:
SRC_IP=Google,DST_IP=Host_A - Logiczna ramka L2 (na wejściu do AP od routera):
SRC_MAC=MAC_Bramy,DST_MAC=MAC_Host_A
AP musi teraz wysłać tę ramkę *radiowo* do klienta.
- Flagi: To DS = 0, From DS = 1 (ramka idzie Z systemu dystrybucji)
- Adres 1 (Odbiorca Radiowy):
MAC_Host_A - Adres 2 (Nadajnik Radiowy):
MAC_AP - Adres 3 (Źródło Logiczne):
MAC_Bramy
Topologia 3: Host A wysyła dane do Hosta B (w tej samej sieci WiFi)
To ciekawy przypadek. W sieciach WiFi w trybie Infrastructure, ruch między dwoma klientami nie odbywa się bezpośrednio (jak w trybie Ad-Hoc). Ruch ten *zawsze* przechodzi przez Access Point, który działa jak przekaźnik. Jest to funkcja zwana często „AP Isolation” (choć domyślnie jest wyłączona, ruch i tak idzie przez AP).
Krok 1 (Host A -> AP):
- Logiczny pakiet IP:
SRC_IP=Host_A,DST_IP=Host_B - Flagi: To DS = 1, From DS = 0
- Adres 1 (Odbiorca Radiowy):
MAC_AP - Adres 2 (Nadajnik Radiowy):
MAC_Host_A - Adres 3 (Cel Logiczny):
MAC_Host_B
Krok 2 (AP -> Host B): AP odbiera ramkę, widzi, że Adres 3 (MAC_Host_B) to inny klient WiFi, i nadaje ją z powrotem na to samo medium radiowe.
- Flagi: To DS = 0, From DS = 1
- Adres 1 (Odbiorca Radiowy):
MAC_Host_B - Adres 2 (Nadajnik Radiowy):
MAC_AP - Adres 3 (Źródło Logiczne):
MAC_Host_A
W rezultacie, prosta wymiana pakietów między dwoma hostami w tej samej sieci WiFi generuje *dwukrotnie* większe obciążenie kanału radiowego, niż gdyby komunikowały się po kablu przez przełącznik.
Most (Bridge) vs Klient (Client)
Użytkownik podłączający się do WiFi (np. laptopem) działa w trybie „Client” (Infrastructure Mode). Z perspektywy sieci L2, jego adres MAC jest widoczny. Jednak istnieją urządzenia (np. niektóre routery, adaptery do gier), które działają w trybie „Wireless Bridge” (most bezprzewodowy) lub „Client Bridge”.
Różnica jest subtelna, ale kluczowa. W standardowym trybie „Client”, urządzenie WiFi (np. laptop) ma jeden adres MAC i jest jednym klientem. W trybie „Wireless Bridge”, urządzenie (np. „Most WiFi-Ethernet”) łączy się z głównym AP, ale *przekazuje* ruch z wielu urządzeń podłączonych do jego portów Ethernet *z ich oryginalnymi adresami MAC*. Aby to było możliwe, musi korzystać ze specjalnego trybu (np. WDS), który wykorzystuje wszystkie cztery adresy MAC w ramce (jak w tabeli, ToDS=1, FromDS=1). Umożliwia to transparentne „przedłużenie” sieci kablowej przez łącze radiowe, co jest niemożliwe w standardowym trybie klienckim (który używa tylko 3 adresów i często „maskuje” adresy MAC urządzeń za sobą, podobnie jak NAT adresy IP).
Narzędzia i Praktyczne Przykłady Analizy
Do poniższych przykładów niezbędna jest karta WiFi wspierająca tryb monitor oraz odpowiednie narzędzia, najczęściej dostępne w dystrybucjach Linuksa takich jak Kali Linux. Podstawowy pakiet to aircrack-ng (do zarządzania trybem monitor) oraz tcpdump (do przechwytywania).
OSTRZEŻENIE: Poniższe polecenia przełączają kartę sieciową w specjalny tryb. Używaj ich tylko w celach edukacyjnych i diagnostycznych we własnej sieci. Pamiętaj, że przechwytywanie danych w sieciach WPA2/WPA3, do których nie masz klucza, jest niemożliwe (zobaczysz tylko zaszyfrowane ramki). Próby łamania kluczy są nielegalne.
Przykład 1: Uruchomienie Trybu Monitor i Skanowanie Otoczenia (airodump-ng)
Scenariusz: Pierwszym krokiem każdego audytu lub analizy jest „mapowanie terenu”. Chcemy zobaczyć wszystkie punkty dostępowe w okolicy, ich kanały, siłę sygnału, metody szyfrowania oraz – co najważniejsze – wszystkich klientów (ich adresy MAC) i to, z którym AP są połączeni. Jest to pasywne skanowanie, które nie wysyła żadnych pakietów, a jedynie słucha ramek typu Beacon i Probe.
Krok 1: Identyfikacja interfejsu. Najpierw sprawdzamy, jak nazywa się nasz interfejs bezprzewodowy.
iw dev
# Przykładowy wynik:
# phy#0
# Interface wlan0
# ifindex 3
# wdev 0x1
# addr 00:11:22:33:44:55
# type managed
# txpower 20.00 dBm
Krok 2: Uruchomienie trybu monitor. Użyjemy do tego narzędzia `airmon-ng` (z pakietu aircrack-ng), które automatycznie radzi sobie z procesami mogącymi zakłócać pracę.
sudo airmon-ng start wlan0
To polecenie zazwyczaj utworzy nowy, wirtualny interfejs (np. wlan0mon) już działający w trybie monitor. Możemy to zweryfikować poleceniem iw dev, które teraz pokaże type monitor dla wlan0mon.
Krok 3: Uruchomienie skanowania. Uruchamiamy airodump-ng na nowym interfejsie. Narzędzie to automatycznie zacznie „skakać” po wszystkich kanałach, zbierając informacje.
sudo airodump-ng wlan0mon
Analiza wyników: Na ekranie pojawią się dwie tabele.
Górna tabela (Access Points):
- BSSID: To jest adres MAC punktu dostępowego (AP).
- PWR: Siła sygnału (im mniejsza wartość ujemna, tym lepiej).
- Beacons: Licznik odebranych ramek Beacon (jak często AP się ogłasza).
- #Data: Licznik przechwyconych ramek danych (pokazuje, czy sieć jest „żywa”).
- CH: Kanał, na którym nadaje AP.
- ENC/CIPHER/AUTH: Informacje o szyfrowaniu (np. WPA2, CCMP, PSK).
- ESSID: Nazwa sieci (SSID), którą widzą użytkownicy.
Dolna tabela (Clients):
- STATION: To jest adres MAC urządzenia klienckiego (laptopa, telefonu itp.).
- BSSID: Adres MAC punktu dostępowego, z którym dany klient jest połączony.
- PWR, Rate, Lost, Frames: Statystyki połączenia dla tego klienta.
Ten prosty skan dał nam pełną mapę adresów MAC (L2) w naszym otoczeniu radiowym, pokazując relacje AP-Klient, jeszcze zanim przechwyciliśmy jakąkolwiek ramkę danych.
Przykład 2: Zmiana Adresu MAC w Sieci WiFi (macchanger)
Scenariusz: Administrator sieci wdrożył filtrowanie adresów MAC jako „zabezpieczenie” (co jest bardzo słabą praktyką). Nasz nowy, autoryzowany laptop nie został dodany do „białej listy”. Aby uzyskać dostęp w celu dokończenia konfiguracji, musimy tymczasowo „podszyć się” pod adres MAC starego, autoryzowanego urządzenia (np. AA:BB:CC:DD:EE:FF), który zdobyliśmy legalnie z inwentaryzacji.
Krok 1: Wyłączenie interfejsu. Podobnie jak w sieci Ethernet, zmiana adresu MAC wymaga, aby interfejs był wyłączony. Musimy też upewnić się, że żadne usługi (jak NetworkManager) nie będą próbowały automatycznie nim zarządzać i przywracać domyślnego MACa.
# Zatrzymujemy usługi, które mogą przeszkadzać
sudo systemctl stop NetworkManager
# Wyłączamy interfejs radiowy
sudo ip link set wlan0 down
Krok 2: Zmiana adresu MAC. Używamy macchanger z opcją -m (manual) na fizycznym interfejsie wlan0 (nie na interfejsie monitor!).
sudo macchanger -m AA:BB:CC:DD:EE:FF wlan0
# Przykładowy wynik:
# Current MAC: 00:11:22:33:44:55 (Intel Corporate)
# Permanent MAC: 00:11:22:33:44:55 (Intel Corporate)
# New MAC: AA:BB:CC:DD:EE:FF (Unknown)
Można też użyć opcji -r, aby ustawić całkowicie losowy adres MAC w celu anonimizacji w publicznych hotspotach.
Krok 3: Włączenie interfejsu. Po zmianie adresu, ponownie uruchamiamy interfejs i usługi.
sudo ip link set wlan0 up
sudo systemctl start NetworkManager
Analiza: Nasz laptop będzie teraz łączył się z siecią, prezentując się adresem MAC AA:BB:CC:DD:EE:FF. Z punktu widzenia punktu dostępowego, jesteśmy legalnym, autoryzowanym urządzeniem. To pokazuje, że filtrowanie MAC nie jest mechanizmem bezpieczeństwa, a jedynie prostą kontrolą dostępu, którą można obejść w mniej niż minutę. Każdy w zasięgu sieci może użyć airodump-ng (z Przykładu 1), aby zobaczyć listę *wszystkich* połączonych klientów (ich adresy MAC) i wybrać dowolny, pod który chce się podszyć.
Przykład 3: Dogłębna Analiza Ramek Danych i Adresów (tcpdump)
Scenariusz: Chcemy zweryfikować teorię z początku artykułu. Chcemy na własne oczy zobaczyć trzy adresy MAC w ramce danych przesyłanej od klienta do AP. Uruchomimy skanowanie na kanale 6, na którym działa nasza testowa sieć.
Krok 1: Uruchomienie trybu monitor na konkretnym kanale. airodump-ng skacze po kanałach. Do stabilnego przechwytywania danych musimy „zablokować” naszą kartę na jednym kanale (np. --channel 6).
# Tworzymy interfejs monitor, jeśli jeszcze nie istnieje
sudo airmon-ng start wlan0
# Ustawiamy kanał (opcjonalne, ale zalecane)
sudo iwconfig wlan0mon channel 6
Krok 2: Uruchomienie tcpdump. Użyjemy tcpdump z kluczowymi flagami:
-i wlan0mon: Nasłuchuj na interfejsie w trybie monitor.-e: Pokaż nagłówki L2 (Ethernet/802.11) – to jest kluczowe, aby zobaczyć adresy MAC.-n: Nie rozwiązuj nazw (pokaż surowe IP i porty).'type data': Filtr BPF (Berkeley Packet Filter) specyficzny dla 802.11, który każe przechwytywać tylko ramki danych (ignoruje Beacony, ACK, itp.).
sudo tcpdump -i wlan0mon -e -n 'type data'
Analiza wyników: Gdy klient w tej sieci wygeneruje ruch, zobaczymy coś takiego (uproszczone):
14:30:01.123456 SA:MAC_Klienta DA:MAC_AP BSSID:MAC_AP (ToDS) ... IP 192.168.1.100.51234 > 8.8.8.8.53: ... 14:30:01.123999 SA:MAC_AP DA:MAC_Klienta BSSID:MAC_AP (FromDS) ... IP 8.8.8.8.53 > 192.168.1.100.51234: ...
tcpdump w sprytny sposób próbuje tłumaczyć nagłówek 802.11 na format „ethernetowy”.
SA:MAC_Klienta(Source) iDA:MAC_AP(Destination) to odpowiedniki Adresu 2 (Nadajnik) i Adresu 1 (Odbiorca).BSSID:MAC_APto Adres 3.- W pierwszej linii (ToDS) widzimy ruch od klienta (
192.168.1.100) do AP. Adresy radiowe to Klient->AP, a logiczny adres (BSSID) to AP. - W drugiej linii (FromDS) widzimy odpowiedź od AP do klienta. Adresy radiowe to AP->Klient, a logiczny adres (BSSID) to nadal AP (pełniąc rolę Adresu 3 jako źródła logicznego).
Aby zobaczyć wszystkie 4 adresy (jeśli są), najlepiej użyć tcpdump z opcją -xx (hex) lub otworzyć zrzut w Wiresharku, który pięknie parsuje wszystkie cztery pola adresowe i flagi To/From DS.
Przykład 4: Przechwytywanie Nieszyfrowanego Ruchu HTTP (Sieć Otwarta)
Scenariusz: Siedzimy w kawiarni oferującej „Darmowe WiFi” bez hasła (sieć otwarta). Chcemy zademonstrować, dlaczego jest to niebezpieczne. Uruchomimy przechwytywanie na kanale tej sieci, filtrując ruch HTTP (port 80).
Krok 1: Znalezienie kanału sieci. Używamy airodump-ng (z Przykładu 1), aby znaleźć sieć „KAWIARNIA_WIFI” i zobaczyć, że działa na kanale 11.
Krok 2: Uruchomienie tcpdump w trybie monitor. Przełączamy nasz interfejs wlan0mon na kanał 11 i uruchamiamy tcpdump z flagą -A (wyświetl zawartość pakietu w ASCII), filtrując tylko ruch na porcie 80.
sudo iwconfig wlan0mon channel 11
sudo tcpdump -i wlan0mon -n -A 'port 80'
Analiza: Gdy jakikolwiek użytkownik w tej sieci wejdzie na stronę http:// (nieszyfrowaną), zobaczymy cały jego ruch. Jeśli spróbuje się zalogować na starym forum, które nie używa HTTPS, zobaczymy coś takiego:
... POST /login.php HTTP/1.1 Host: stare-forum.com User-Agent: Mozilla/5.0 ... Content-Type: application/x-www-form-urlencoded Content-Length: 45 username=JanKowalski&password=MojeTajneHaslo123&login=Zaloguj
Właśnie przechwyciliśmy w czystym tekście login i hasło innego użytkownika sieci. Dzieje się tak, ponieważ w sieci otwartej ramki danych 802.11 nie są szyfrowane. Każdy w zasięgu może je odczytać. To dlatego absolutnie kluczowe jest korzystanie z HTTPS i VPN w publicznych sieciach WiFi – szyfrują one dane w wyższych warstwach, zanim zostaną one wysłane przez niezabezpieczone medium radiowe.
Przykład 5: Analiza Sesji TCP (SSH/HTTPS) w Sieci *Chronionej* (iptraf-ng)
Scenariusz: Co w przypadku, gdy sieć jest chroniona (np. WPA2-PSK)? Jeśli uruchomimy tcpdump w trybie monitor (wlan0mon), nie zobaczymy niczego wartościowego. Wszystkie ramki danych będą opisane jako „Protected Data” lub „802.11 data, encrypted”. Nie możemy ich odczytać bez znajomości klucza sesji.
Jednak jeśli jesteśmy legalnym użytkownikiem tej sieci (znamy hasło WPA2), możemy użyć innego podejścia. Zamiast trybu monitor, po prostu łączymy się z siecią normalnie. Nasz system operacyjny i karta sieciowa zajmą się deszyfracją ruchu przeznaczonego *dla nas*. Teraz możemy użyć standardowych narzędzi, takich jak iptraf-ng, na naszym *normalnym* interfejsie (np. wlan0), aby monitorować *nasz własny* ruch.
Krok 1: Połączenie z siecią. Łączymy się z naszą siecią WPA2 „DOM_WIFI” jak zwykle. Nasz interfejs to wlan0.
Krok 2: Uruchomienie iptraf-ng. To narzędzie TUI jest idealne do monitorowania sesji w czasie rzeczywistym. Musi być uruchomione z uprawnieniami roota.
sudo iptraf-ng
Krok 3: Wybór monitora. W menu TUI, które się pojawi, wybieramy: „IP traffic monitor” Następnie wybieramy nasz interfejs bezprzewodowy: „wlan0”.
Analiza: iptraf-ng wyświetli listę wszystkich aktywnych połączeń TCP i UDP z naszego komputera. Gdy otworzymy przeglądarkę i wejdziemy na stronę https://google.com, zobaczymy sesje:
TCP 192.168.1.100:51234 <-> 142.250.74.78:443(HTTPS)
Gdy połączymy się z serwerem przez SSH:
TCP 192.168.1.100:49876 <-> 104.248.1.1:22(SSH)
Co to oznacza? iptraf-ng pokazuje nam metadane sesji: nasz IP/port, zdalny IP/port oraz liczbę przesyłanych pakietów i bajtów. Jest to możliwe, ponieważ system operacyjny *już odszyfrował* dla nas ramki 802.11. Jednak sama zawartość tych sesji (dane przesyłane przez HTTPS lub SSH) jest *nadal szyfrowana* przez protokoły wyższych warstw (TLS/SSL). iptraf-ng nie pokaże nam przesyłanych komend SSH ani danych formularzy HTTPS. Pokazuje to kluczową, warstwową naturę bezpieczeństwa: WPA2 chroni naszą komunikację radiową (L2) przed sąsiadami, a HTTPS/SSH chroni naszą treść (L7) przed każdym „po drodze” (w tym przed administratorem sieci lub kimś, kto podszywa się pod AP).
Podsumowanie
Analiza sieci WiFi w warstwach L1 i L2 jest znacznie bardziej skomplikowana niż w przypadku sieci Ethernet. Współdzielone medium radiowe (L1) sprawia, że AP działa jak koncentrator, a do pasywnego nasłuchu wymagany jest tryb monitor. Struktura ramek (L2) jest radykalnie inna, wykorzystując system trzech (a czasem czterech) adresów MAC do zarządzania komunikacją między stacjami klienckimi a systemem dystrybucji (AP).
Narzędzia takie jak airodump-ng pozwalają na mapowanie otoczenia radiowego i identyfikację adresów MAC, macchanger na trywialne obejście filtrowania MAC, a tcpdump na interfejsie monitorującym pozwala na głęboką analizę surowych ramek 802.11. Jak wykazano, w sieciach otwartych (nieszyfrowanych) przechwycenie wrażliwych danych, jak hasła HTTP, jest trywialne. W sieciach chronionych (WPA2/WPA3) ruch jest szyfrowany na L2, chroniąc przed pasywnym podsłuchem. Jednak nawet wtedy, stosowanie protokołów wyższych warstw, takich jak HTTPS i VPN, pozostaje absolutnie kluczowe do ochrony *treści* naszej komunikacji.
