Wireshark stał się praktycznie standardem w dziedzinie analizy ruchu w sieci. Niestety, w miarę wzrostu ilości przechwytywanych pakietów, jego wydajność może znacznie spadać. Rozwiązaniem tego problemu jest Rondo, które może znacznie poprawić Twoją efektywność pracy w Wireshark.
Wireshark jest znakomity, ale…
Wireshark to doskonałe oprogramowanie typu open source, które znajduje zastosowanie zarówno wśród amatorów, jak i profesjonalistów na całym świecie do diagnozowania problemów z siecią. Przechwytuje on dane przesyłane przez kable lub bezprzewodowo. Po przechwyceniu ruchu, Wireshark oferuje możliwość filtrowania i przeszukiwania danych, a także monitorowania komunikacji między urządzeniami w sieci i wiele więcej.
Mimo że Wireshark jest niezwykle użyteczny, ma jedną istotną wadę. Pliki z przechwyconymi danymi sieciowymi (znane jako ślady sieciowe lub przechwytywanie pakietów) mogą bardzo szybko stawać się ogromne. Jest to szczególnie problematyczne, gdy analizowany problem jest złożony, sporadyczny lub gdy sieć jest rozbudowana i intensywnie używana.
Im większy plik przechwytywania (PCAP), tym większe opóźnienia w działaniu Wireshark. Otwieranie i ładowanie bardzo dużego (powyżej 1 GB) śladu może trwać tak długo, że można odnieść wrażenie, że program przestał działać.
Praca z tak dużymi plikami to prawdziwe wyzwanie. Każda operacja wyszukiwania czy zmiana filtrów wymaga odczekiwania na aktualizację danych na ekranie. Każde opóźnienie utrudnia skupienie, co może spowolnić postępy w analizie.
Rondo jest rozwiązaniem tego problemu. Działa jako interaktywny preprocesor i interfejs do Wireshark. Gdy chcesz zobaczyć szczegóły, jakie oferuje Wireshark, Brim natychmiast otworzy je dla Ciebie, koncentrując się na odpowiednich pakietach.
Jeżeli regularnie zajmujesz się przechwytywaniem i analizą pakietów, Brim zrewolucjonizuje Twój sposób pracy.
Instalacja Rondo
Rondo jest nowym narzędziem, które jeszcze nie pojawiło się w repozytoriach oprogramowania wielu dystrybucji Linuksa. Na stronie pobierania Rondo znajdziesz pakiety DEB i RPM, co ułatwia instalację na systemach Ubuntu czy Fedora.
Jeśli korzystasz z innej dystrybucji, możesz pobrać kod źródłowy z GitHub i samodzielnie skompilować aplikację.
Brim korzysta z narzędzia wiersza poleceń zq, które obsługuje logi platformy Zeek, więc musisz także pobrać plik ZIP z zawartością binarną zq.
Instalacja Rondo na Ubuntu
Jeżeli używasz Ubuntu, pobierz plik pakietu DEB oraz plik ZIP zq dla systemu Linux. Kliknij dwukrotnie na pobrany plik DEB, a otworzy się aplikacja Ubuntu Software. Zauważ, że licencja Rondo jest omyłkowo oznaczona jako „Zastrzeżona” – w rzeczywistości używa licencji BSD 3-klauzulowej.
Kliknij „Zainstaluj”.
Po zakończeniu instalacji kliknij dwukrotnie na plik ZIP zq, aby otworzyć menedżer archiwów. Plik ZIP zawiera jeden katalog; przeciągnij go do miejsca na komputerze, na przykład do katalogu „Pobrane”.
W terminalu wpisz następujące polecenie, aby utworzyć lokalizację dla plików binarnych zq:
sudo mkdir /opt/zeek
Następnie skopiuj pliki binarne z wyodrębnionego katalogu do nowo utworzonej lokalizacji. Zastąp ścieżkę i nazwę wyodrębnionego katalogu w poniższym poleceniu:
sudo cp Downloads/zq-v0.20.0.linux-amd64/* /opt/zeek
Musimy dodać tę lokalizację do ścieżki, więc edytujemy plik BASHRC:
sudo gedit .bashrc
Otworzy się edytor gedit. Przewiń do końca pliku i dodaj następujący wiersz:
export PATH=$PATH:/opt/zeek
Zapisz zmiany i zamknij edytor.
Instalacja Rondo w Fedorze
Aby zainstalować Rondo w Fedorze, pobierz plik pakietu RPM (zamiast DEB), a następnie wykonaj te same kroki, które omówiliśmy dla instalacji na Ubuntu.
Ciekawe jest to, że plik RPM w Fedorze jest poprawnie identyfikowany jako licencjonowany na zasadach open source, a nie zastrzeżony.
Uruchamianie Rondo
Kliknij „Pokaż aplikacje” w doku lub naciśnij Super + A. Wpisz „brim” w polu wyszukiwania, a następnie wybierz „brim”, gdy się pojawi.
Rondo uruchomi się, wyświetlając główne okno. Możesz kliknąć „Wybierz pliki”, aby otworzyć przeglądarkę plików lub przeciągnąć plik PCAP do obszaru oznaczonego czerwonym prostokątem.
Rondo obsługuje zakładki, co pozwala na jednoczesne otwieranie wielu kart. Aby otworzyć nową kartę, kliknij znak plus (+) u góry, a następnie wybierz inny plik PCAP.
Podstawy Rondo
Rondo ładuje i indeksuje wybrany plik. Indeksacja to jeden z powodów, dla których Rondo jest tak szybkie. Główne okno wyświetla histogram pakietów w czasie oraz listę „przepływów” sieciowych.
Plik PCAP zawiera uporządkowany w czasie strumień pakietów dla wielu połączeń. Pakiety dla różnych połączeń są przeplatane, ponieważ mogą być otwierane jednocześnie. Pakiety dla każdej „rozmowy” sieciowej są mieszane z pakietami innych rozmów.
Wireshark pokazuje strumień pakietów jeden po drugim, podczas gdy Rondo stosuje koncepcję „przepływów”. Przepływ to cała wymiana danych między dwoma urządzeniami. Każdy typ przepływu jest klasyfikowany, oznaczony kolorami i oznaczony według rodzaju. Możesz zobaczyć przepływy takie jak „dns”, „ssh”, „https”, „ssl” i inne.
Jeśli przewiniesz ekran z podsumowaniem przepływu w lewo lub w prawo, zobaczysz więcej kolumn. Możesz także dostosować zakres czasu, aby wyświetlić interesujący Cię podzbiór informacji. Oto kilka sposobów na przeglądanie danych:
Kliknij słupek na histogramie, aby przybliżyć aktywność sieci w tym okresie.
Kliknij i przeciągnij, aby zaznaczyć zakres na histogramie i przybliżyć. Rondo wyświetli dane z wybranej sekcji.
Możesz również określić konkretne okresy w polach „Data” i „Godzina”.
Rondo może wyświetlać dwa panele boczne: jeden po lewej, a drugi po prawej. Mogą być one ukryte lub widoczne. Lewy panel pokazuje historię wyszukiwania i listę otwartych plików PCAP, znanych jako przestrzenie. Naciśnij Ctrl + [ aby przełączać lewy panel.
Prawy panel zawiera szczegółowe informacje o zaznaczonym przepływie. Naciśnij Ctrl + ] aby przełączyć prawy panel.
Kliknij „Conn” na liście „UID Correlation”, aby zobaczyć schemat połączeń dla zaznaczonego przepływu.
W głównym oknie możesz także zaznaczyć przepływ i kliknąć ikonę Wireshark, co spowoduje uruchomienie Wireshark z widocznymi pakietami dla zaznaczonego przepływu.
Wireshark otworzy się, wyświetlając interesujące pakiety.
Filtrowanie w Rondo
Wyszukiwanie i filtrowanie w Rondo są bardzo elastyczne i wszechstronne, a nie musisz uczyć się nowego języka filtrowania, jeśli tego nie chcesz. Możesz stworzyć poprawny składniowo filtr, klikając odpowiednie pola w oknie podsumowania i wybierając opcje z menu.
Na przykład klikając prawym przyciskiem myszy pole „dns”, wybierz „Filtr = wartość” z menu kontekstowego.
Po tym działaniu następuje kilka rzeczy:
Tekst _path = „dns” zostaje dodany do paska wyszukiwania.
Ten filtr zostaje zastosowany do pliku PCAP, pokazując jedynie przepływy związane z protokołem DNS.
Tekst filtru jest również dodawany do historii wyszukiwania w lewym panelu.
W podobny sposób możemy dodać kolejne klauzule do wyszukiwanego hasła. Klikając prawym przyciskiem myszy pole adresu IP (np. „192.168.1.26”) w kolumnie „Id.orig_h”, wybieramy „Filtr = wartość” z menu kontekstowego.
Wynikiem tego działania będzie dodanie kolejnej klauzuli jako klauzuli AND. Wtedy wyświetlacz będzie filtrowany tak, aby pokazać przepływy DNS pochodzące z tego adresu IP (192.168.1.26).
Nowy termin filtru zostanie dodany do historii wyszukiwania w lewym panelu. Możesz przechodzić między wyszukiwaniami, klikając elementy na liście historii.
Docelowy adres IP dla większości przefiltrowanych danych to 81.139.56.100. Aby zobaczyć przepływy DNS, które były kierowane do różnych adresów IP, kliknij prawym przyciskiem myszy „81.139.56.100” w kolumnie „Id_resp_h” i wybierz „Filtr! = Wartość” z menu kontekstowego.
Ostatecznie, tylko jeden przepływ DNS, pochodzący z 192.168.1.26, nie został wysłany do 81.139.56.100, a odkryliśmy go bez konieczności ręcznego wpisywania filtru.
Przypinanie klauzul filtrów
Kiedy klikniesz prawym przyciskiem myszy przepływ „HTTP” i wybierzesz „Filtr = wartość” z menu kontekstowego, panel podsumowania wyświetli wyłącznie przepływy HTTP. Możemy następnie kliknąć ikonę przypięcia obok klauzuli filtru HTTP.
Klauzula HTTP jest teraz przypięta, co oznacza, że wszelkie inne filtry i hasła wyszukiwania będą stosowane z dołączoną klauzulą HTTP.
Jeśli wpiszesz „GET” w pasku wyszukiwania, wyniki będą ograniczone do przepływów, które zostały już przefiltrowane przez przypiętą klauzulę. Możesz przypinać dowolną liczbę klauzul filtrów.
Aby wyszukać pakiety POST w przepływach HTTP, po prostu wyczyść pasek wyszukiwania, wpisz „POST”, a następnie naciśnij Enter.
Przewijając w bok, ujawnisz identyfikator zdalnego hosta.
Wszystkie użyte terminy wyszukiwania i filtrowania zostaną dodane do listy „Historia”. Aby ponownie zastosować jakikolwiek filtr, wystarczy go kliknąć.
Możesz również wyszukiwać zdalne hosty po nazwie.
Edycja wyszukiwanych haseł
Jeżeli chcesz coś wyszukać, ale nie widzisz odpowiedniego przepływu, możesz kliknąć dowolny przepływ i edytować wpis w pasku wyszukiwania.
Na przykład, mamy pewność, że przynajmniej jeden przepływ SSH powinien znajdować się w pliku PCAP, ponieważ użyliśmy rsync do przesłania plików na inny komputer, ale nie możemy go znaleźć.
W takim przypadku klikniemy prawym przyciskiem myszy inny przepływ, wybierzemy „Filtr = wartość” z menu kontekstowego, a następnie zmienimy tekst w pasku wyszukiwania na „ssh” zamiast „dns”.
Naciskamy Enter, aby wyszukać przepływy SSH i odnajdujemy tylko jeden.
Naciskając Ctrl + ], otworzy się prawy panel, który pokazuje szczegóły tego przepływu. Jeśli w trakcie przepływu plik został przesłany, skróty MD5, SHA1 i SHA256 będą dostępne.
Kliknij prawym przyciskiem myszy dowolny z nich i wybierz „VirusTotal Lookup” z menu kontekstowego, aby otworzyć przeglądarkę na stronie VirusTotal i sprawdzić hasz.
VirusTotal gromadzi skróty znanych złośliwych programów i innych niebezpiecznych plików. Jeśli masz wątpliwości co do bezpieczeństwa pliku, możesz to łatwo sprawdzić, nawet jeśli nie masz do niego już dostępu.
Jeśli plik okaże się bezpieczny, zobaczysz ekran pokazany na poniższym obrazku.
Idealne uzupełnienie dla Wireshark
Rondo sprawia, że praca z Wireshark jest jeszcze szybsza i prostsza, umożliwiając efektywne zarządzanie bardzo dużymi plikami przechwytywania pakietów. Przetestuj Rondo już dziś!
newsblog.pl