Techniki Stealth

ITpedia

Bardziej zaawansowane są techniki ukrytego skanowania, zwane Stealth, są oparte na nieudokumentowanych zachowaniach systemów otrzymujących pakiety stanowiące część połączenia TCP.

Przeprowadzanie ukrytego skanowania ma na celu:

  1. Ominięcie reguł filtrów pakietów chroniących systemy.
  2. Ukrycie przed systemowymi programami rejestrującymi połączenia.
  3. Ukrycie ich w typowym ruchu w sieci.

Do technik tych należą: SYN/ACK, FIN, XMAS i NULL. Wszystkie wykorzystują zalecenie RFC793, określające, że zamknięty port powinien odpowiedzieć pakietem RST na każdy pakiet niezgodny z kolejnością nawiązywania połączenia TCP.

Technika SYN/ACK polega na wysłaniu pakietu SYN/ACK w drugim kroku połączenia TCP. Wartości ACK w tym pakiecie odnoszą się do fikcyjnego połączenia. Atakowany system, jeżeli odbierze go na porcie nasłuchującym, zignoruje i uzna pakiet za błędny. Jeżeli zostanie odebrany na porcie zamkniętym - wyśle pakiet RESET, informując, że port jest zamknięty.

Znacznie bardziej wymyślną techniką jest zastosowanie pakietów z flagą FIN. Jest ona pozbawiona wad poprzedniej metody - jest bardzo trudna zarówno do wykrycia, jak i zablokowania. Polega na wysłaniu pakietu TCP z flagą FIN. Podobnie jak w poprzednim przypadku port zamknięty odpowie pakietem RST, a otwarty zignoruje ją.

Metoda ta wykorzystuje dość powszechny błąd w obsłudze stosu TCP/IP, nie zawsze jest jednak skuteczna - niektóre implementacje (np. Windows) są odporne na tego typu skanowanie.

Inną techniką jest wysłanie pakietu XMAS - Christmas Tree (pakietu choinkowego), który ma ustawione wszystkie dostępne flagi: URG, ACK, PST, RST, SYN i FIN. Może on posłużyć do skanowania zdalnego hosta - oczekiwana odpowiedś jest identyczna jak w poprzednich przypadkach, ale nie ma wady techniki FIN - systemy Windows też odpowiadają pakietem RST.

Bardzo podobna do pozostałych jest technika polegająca na wysyłaniu pakietu bez żadnej flagi - tzw. Pakiet NULL. Wszystkie hosty po otrzymaniu takiego pakietu powinny - zgodnie z zaleceniami RFC 793 - odpowiedzieć pakietem RST na zamkniętym porcie. Jednak wiele systemów ma wadliwą implementację. TCP/IP po otrzymaniu tego pakietu na otwartym porcie także odpowiadają pakietem RST.

Technika RESET z kolei ma na celu sprawdzenie topologii sieci - określenie, jakie hosty istnieją w danej podsieci. W typowym przypadku ruter, po otrzymaniu pakietu skierowanego do celu, który nie istnieje, wysyła pakiet ICMP HOST UNREACHABLE lub TIME EXCEEDED. Można do tego celu wykorzystać dowolny pakiet IP, ale jeżeli będzie on typowy (np. SYN/ACK czy ICMP ECHO REQUEST), to zostanie odnotowany. Jeżeli będzie wysłany pakiet z flagą RST z losowym numerem ACK, to prawdopodobnie nie zostanie zauważony, a wygeneruje interesującą napastnika odpowiedś.

Inną metodą skanowania jest technika FTP Bounce Scanning. Wykorzystuje ona właściwość protokołu FTP, określoną przez RFC959, polegającą na tym, że serwery FTP mogą wysyłać dane do hosta innego niż źródłowy.

Do skanowania portów zostaje użyta komenda PORT, precyzująca port docelowy w trybie pasywnego połączenia. Jeżeli następnie zostanie wydana komenda LIST FTP, to wynik będzie przesłany do klienta (atakującego).

Jest to skuteczna metoda ukrywająca adres źródłowy atakującego. Jedną z wad jest to, że nie wszystkie serwery FTP mają zaimplementowaną lub aktywną usługę PROXY. Inną jej wadą jest powolność.

Oprócz skanowania portów dla agresora ważne są również uprawnienia, z jakimi pracuje dana usługa. Do tego celu używana jest technika Reverse Ident Scanning.

Do określenia, z prawami jakiego użytkownika pracuje dana usługa, wykorzystuje ona właściwości protokołu ident (RFC1413). To bardzo ważna informacja dla agresora - największe znaczenie mają dla niego usługi pracujące na prawach superużytkownika, a to dlatego że atak na taką usługę (np. Przez przepełnienie bufora lub nadpisanie stosu) umożliwi mu otrzymanie uprawnień równych użytkownikowi danego procesu. Sposób jej użycia nie różni się zasadniczo od standardowych działań ident - po połączeniu się z daną usługą zostaje wysłane zapytanie do ident o zidentyfikowanie połączenia - w odpowiedzi będzie ujawniony użytkownik, z którego uprawnieniami pracuje serwer danej usługi.

Zobacz także

-
-