Monday, August 10, 2015

[PL] Z cyklu każdy wie a mało kto używa - Wireshark tips #1

Wireshark to dość potężne narzędzie niestety w wielu przypadkach użytkownicy często zapominają o kilku fajnych dodatkach:

Podążaj za strumieniem a dojdziesz do celu.
Wireshark ma możliwość wyłuskania konkretnych pakietów, które zostały przesłane w obrębie jednego połączenia. Tak więc zamiast aplikować N filtrów, można znaleźć jeden konkretny pakiet i z prawego menu wybrać "Follow TCP Stream". Regułą ta wybiera numer strumienia z wskazanego pakietu i aplikuje odpowiedni filtr: "tcp.stream eq NUMER" (1). Dodatkowo w nowym oknie zostanie otwarty zrzut danych przesłanych w danym strumieniu (2). Za pomocą listy można wybrać, który kierunek komunikacji nas interesuje (3).

Rozwiązywanie PTR w celu łatwiejszej analizy
Zamiast tracić czas na weryfikacje do kogo należy dany adres IP, można zmusić naszego rekina do automatycznego rozwiązywania nazw. Menu (Edit-< Preferences Shift+Ctrl+P), z lewej kolumny wybrać Name Resolution (1) i zaznaczyć Resolve network (IP addresses )(2)

Kreator reguł do kilku rodzajów zapór ogniowych
WireShark za pomocą generatora reguł potrafi nam wygenerować wpisy dla danego typu zapory(2) Jego użycie jest dość proste:) Zaznaczamy wybrany pakiet z menu górnego wybieramy Tool (1) a następnie Firewall ACL Rules. W nowym oknie możemy wybrać rodzaj oprogramowania (2), rodzaj filtru (3) - w tym przypadku adres i numer portu. Na koniec mamy opcję Inbound, Deny (4),  które definiują nam typ ruchu i akcję. 


Modyfikacja wyświetlanych kolumn
Zamiast wyświetlać konkretny typ protokołu można skorzystać z numeru portu lub ewentualnie dodać nową kolumnę z numerem portu źródłowego/docelowego. Wszystkie te zmiany można ustawić za pomocą Column Preferences

Kolorowanie/ markowanie złapanych pakietów
WireShark daje nam możliwość dowolnego kolorowania otrzymanych pakietów. [menu View-> Coloring rules]  Przykłady pakietów, które możemy pokolorować: 
  • Zwrotki http o określonych kodach [http.response.code]
  • Zapytania o rekord SPF [dns.spf]
  • Pakiety z konkretnym user_agentem [http.user_agent]
Tak naprawdę całe kolorowani opiera się na dobraniu odpowiedniego filtru co daje nam bardzo dużą dowolność w przypadku wyłapywania specyficznego typu ruchu.

Powyższe pięć wskazówek to tylko niektóre z opcji, które ułatwiają życie. W kolejnych wpisach postaram się dodać nowe porady, które mogą znacząco ułatwić pracę. 

Thursday, August 6, 2015

Cisco 1000v - vempkt czyli zdalny wireshark.

Kolejne przygody z wirtualnym switchem Nexus 1000v uświadamiają mnie, że Cisco coraz częściej zaczyna dodawać coraz to ciekawsze narzędzia do swoich produktów. Przykładem takiego narzędzia jest vempkt. 

zapożyczone z http://networkstatic.net/


Narzędzie to jest dostarczane podczas instalacji moduły VEM na ESXi. Funkcjonalnością vempkt przypomina tcpdump lub według niektórych mechanizm sesji SPAN dostępnych na przełącznikach Cisco. 

Jak zacząć zabawę z vempkt? 

Zakładając, że mamy skonfigurowany switch Nexus 1000v musimy jeszcze odblokować możliwość logowania się do ESXi za pomocą protokołu SSH (przykładowy opis: dokumentacja vmware). 

Po zalogowaniu się na hosta musimy zidentyfikować numer interfejsu, który chcemy podsłuchać (LTL -  Local Target Logic) i numeru vlan, który nas interesuje. 
Przydatne komendy: 
  • vempkt show info - listuje wszystkie LTL wraz z opisem maszyn, które są zarejestrowane na danym hoście oraz interfejsy nexusa lub portchannel
  • vemcmd show port vlans - listuje porty wraz z numerami vlanów, które są przypisane


Po skompletowaniu wszystkich niezębnych informacji na temat interfejsu, który nas interesuje możemy przystąpić do łapania ruchu:
  1. vempkt capture [ingress | egress | drop| all stages] ltl [id] vlan [nr] -  uwaga w niektórych wersjach vem, niezależnie od wybranego typu ruchu  vempkt łapie ruch każdego typu (all stages).
  2. vempkt show capture info -  wyświetla reguły filtra, który zdefiniowaliśmy w poprzednim kroku.
  3. vempkt start -  uruchamiamy pluskwę
  4. vempkt stop -  zatrzymujemy pluskwę;)
  5. vempkt show info -  komenda przydaje się do wyświetlenia statystyk na temat zebranego ruchu. 
  6. vempkt pcap export file_name.pcap - zapisujemy złapany ruch w formacie PCAP do pliku file_name.pcap, który potem możemy zaimportować do Wiresharka. 
  7. vempkt clear - czyścimy zdefiniowane ustawienia.  
  8. scp root@esxi.ip:/root/file_name.pcap . -  zrzucamy pcap na lokalny komputer w celu dalszej analizy. 
Przypadki użycia? 
  1. Weryfikacja czy ruch przechodzi przez reguły zdefiniowane na VSG 
  2. Złapanie ruchu na interfejsie wejściowym do ESXi
  3. Analiza ruchu, który zostaje dostarczony do hosta  bez potrzeby logowania się na docelową maszynę wirtualną. 
  4. Sprawdzenie czy ruch przechodzi przez sieć szkieletową mając dostęp tylko do serwerów ESXi ( głównie administratorzy VMware w dużych firmach) 
Drobne uwagi? 

  • Jeśli chcemy przechwycić ruch wychodzący lub wchodzący do maszyny wirtualnej , która działa w klastrze VMware,  musimy wiedzieć na którym hoście się ona znajduje. 
  • Automatyczny DR może nam czasem popsuć łapanie ruchu:)
  • Czasem trzeba zwiększyć wielkość łapanego pakietu za pomocą  vempkt size [mtu size]
  • W celu szybkiej analizy pakiety można też zrzucić do pliku txt zamiast pcap: vempkt display detail all > name_file.txt