niedziela, 2 sierpnia 2015

Przechwytywanie ruchu sieci bezprzewodowych pod Windows

Zapewne każdy, kto próbował przechwytywać (lub, mówiąc kolokwialnie i "branżowo" - sniffować) ruch sieci bezprzewodowych, spotkał się z problemem konieczności uruchomienia w karcie sieciowej bezprzewodowej tak zwanego trybu Monitor - czyli możliwości przechwytywania ramek innych, niż skierowane do niej samej.
Wsparcie trybu monitor zależy od rodzaju układu użytego do budowy karty oraz dostępności odpowiednich sterowników. Rzeczywistość jest taka, że takie rzeczy dużo lepiej działają pod systemem Linux, niż Windows. Jednak, z powodów opisanych już w innym poście, często istnieje chęć, lub wręcz potrzeba uruchomienia takiego przechwytywania i pod systemem Microsoftu.

W zasadzie rozwiązań jest kilka:
Tutaj Tony Fortunato opisuje, jak zrobić to przy pomocy microsoftowego oprogramowania NetMon;
- można również użyć narzędzi komercyjnych, typu Omnipeek czy produktów Fluke Networks;
- można użyć darmowego, bardzo popularnego i wręcz doskonałego analizatora pakietów Wireshark z komercyjnym dodatkiem AirPcap (zawierającego sprzęt i oprogramowanie).

Niestety każde tego typu rozwiązanie ma wady i dla mnie żadne z nich nie jest optymalne. Albo nie jest darmowe, albo nie jest wygodne :-P
Rozwiązanie proponowane przez Tony'ego jest najbliżej ideału, ale wymaga korzystania z dwóch aplikacji no chyba, że ktoś lubi microsoftowe narzędzie.

Ale jest jeszcze jedna alternatywa. Firma Acrylic stworzyła sterownik typu NDIS, który z jednej strony współpracuje z kartą bezprzewodową na USB (niestety nie z każdą), zaś z drugiej strony udaje oprogramowanie AirPcap, co pozwala na zobaczenie jej bezpośrednio z Wiresharka.
Jak wspomniałem wyżej, obsługa trybu Monitor jest na tyle rzadka pośród różnych typów kart sieciowych dostępnych na rynku, że bardzo uważnie trzeba wybierać tą, która ma posłużyć do łapania ruchu.

Dodatkową kwestią pozostaje, czy karta ma mieć możliwość jedynie pasywnego podsłuchiwania ruchu, czy też ma mieć również możliwość wstrzykiwania ramek, co będzie się przydawać tym, którzy będą testować zabezpieczenia sieci bezprzewodowych. W tych zastosowaniach najpewniej nieodzownym będzie system Linux, np. w wydaniu przygotowanym do testów penetracyjnych - choćby Kali Linux.
Nie mniej, jeśli istnieje potrzeba pracy pod systemem Windows, sprawa nie jest z góry przegrana, ale trzeba pamiętać o ograniczeniach.