Jak rozpoznać problemy sieciowe

  • Kamil Folga,

WireShark - przykłady analizy

Pierwszym przykładem do analizy będzie sprawdzenie protokołów, w których dane uwierzytelniające są przesyłane czystym tekstem - informacje dostępowe do urządzeń sieciowych, a także nieszyfrowane protokoły FTP czy Telnet. Warto spróbować przechwycić sesję Telnet. W tym celu w menu Filter wpisz lub wybierz z listy protokół telnet, a następnie kliknij Apply. Jeżeli pojawi się ruch Telnet w sieci, powinien zostać przechwycony przez WireSharka i wyświetlony w głównym oknie aplikacji. Następnie kliknij wiersz pakietu Telnet i z menu kontekstowego wybierz opcję Follow TCP Stream. Po przeprowadzeniu analizy aplikacja wyświetli okno zawierające zdekodowany zapis sesji wraz z hasłami. To dobry sposób na pokazanie użytkownikom, dlaczego warto korzystać z SSH.

Dość często spotykanym atakiem jest rozproszony DoS (Disturbed Denial of Service). Atak charakteryzuje się dużą liczbą otwieranych sesji, które nigdy nie zostają zakończone. Zazwyczaj wykonywany jest także z określonej i stałej puli adresów. W WireSharku w menu Analyse jest funkcja Flow Graph, która w graficzny sposób przedstawi połączenia i ułatwi analizę ataków typu DDoS.

WireShark – analiza graficzna przepływów

Innym ciekawym sposobem wykorzystania WireSharka jest analiza zachowania wrogiego oprogramowania (malware). Taką analizę najlepiej zrealizować na wirtualnej maszynie z zainstalowanym systemem i oprogramowaniem WireShark oraz zarażenie tak przygotowanej konfiguracji szkodliwą aplikacją. Aplikacje tego typu nawiązują dziesiątki połączeń z różnymi serwisami, atakując jednocześnie komputery znajdujące się w sąsiadujących klasach adresowych. Poprzez realizację śledzenia strumieni można sprawdzić, z jakimi serwisami łączyła się dana aplikacja oraz jakie działania podejmowała. Potencjalnie może to ułatwić identyfikację malware’u oraz wypracowanie sposobu przeciwdziałania takim zagrożeniom w postaci odpowiedniej konfiguracji zapory sieciowej.

A skoro mowa o firewallu - warto zwrócić uwagę na interesującą funkcję WireSharka noszącą nazwę Firewall ACL Rules (jest w menu Tools). Jeżeli oznaczysz pakiet w głównym oknie, a następnie wybierzesz wskazaną opcję, zostanie wygenerowana reguła blokująca lub dopuszczająca wskazany ruch. Co więcej, ta reguła może zostać wygenerowana dla kilku ważnych systemów zapory, przykładowo Cisco IOS, iptables, ipfw.

Właściwie znacząca liczba analiz może zostać przeprowadzona z wykorzystaniem odpowiednich filtrów oraz funkcjonalności śledzenia protokołów. Przykładowa reguła analizująca skanowanie NetBIOS w sieci:

dst port 135 or dst port 445 and tcp[tcpfl ags] & (tcp-syn) != 0 and

tcp[tcpflags] & (tcp-ack) = 0 and src net 10.0.50.0/24

WireShark posiada także moduł ekspercki, który samodzielnie analizuje ruch i wskazuje potencjalne problemy w sieci. Funkcjonalność można wywołać z poziomu menu Analyse | Expert Info. W nowszych wersjach WireShark otrzymujemy także możliwość analizy protokołów telefonicznych. W rzeczywistości narzędzie pozwala identyfikować rozmowy przeprowadzane z wykorzystaniem różnych protokołów sygnalizacyjnych, a także analizować strumienie głosowe, m.in. RTP.

W każdym przypadku, jeżeli analiza manualna zagrożenia nie przynosi oczekiwanych efektów, możemy zapisać przechwytywany ruch do pliku, aby następnie automatycznie przeanalizować dane w systemie IDS, przykładowo Snort.