[ Pobierz całość w formacie PDF ]
.Ping Flood);f& IP (distant) adres IP z jakiego został wysłany komunikat;f& Port (distant) port na zdalnym komputerze, z jakiego został wysłanykomunikat;f& IP (local) adres IP odbierającego komputera;f& Port (local) port komputera, na który został wysłany komunikat;f& Message jest to przetłumaczony przez program komunikat, jaki trafił(nie przetłumaczony znajduje się w kolumnie Code) do odbierającego komputera.78 C:\WINDOWS\Pulpit\Szymon\hakerzy\r02a.docRozdział 2.f& Hakowanie systemu 79Aktywne rozsynchronizowaniePołączenie TCP wymaga zsynchronizowanej wymiany pakietów.Jeśli z jakiegośpowodu numery sekwencji pakietu nie zgadzają się z wartościami oczekiwanymiprzez komputer, to zostaną one odrzucone i ponownie nastąpi faza oczekiwania napoprawnie numerowany pakiet.Haker może wykorzystać wymagania dotyczącenumerów sekwencji protokołów TCP i przechwycić połączenie.Reasumując atak polegający na aktywnym rozsynchronizowaniu charakteryzujesię tym, że haker wymusza siłą lub podstępem rozsynchronizowanie dwóch końcówpołączenia TCP w taki sposób, że komputery te nie mogą wymieniać danych.Na-stępnie haker używając trzeciego komputera głównego (przyłączonego do fi-zycznego łącza przesyłającego pakiety TCP) przechwytuje rzeczywiste pakietyi tworzy ich zamienniki, akceptowane przez oba połączone komputery.Pakiety wy-generowane przez trzeci komputer naśladują pakiety oryginalne, które byłyby wy-mienione przez połączone systemy.Przechwycenie po rozsynchronizowaniuJeśli założymy, że haker może podejrzeć każdy pakiet wymieniany pomiędzydwoma komputerami połączonymi protokołem TCP, musimy przyjąć i to, że poprzechwyceniu może on podrobić dowolny pakiet IP i zastąpić nim oryginalny.Pod-robiony pakiet umożliwia włamywaczowi udawanie klienta lub serwera (a wielepodrobionych pakietów umożliwia nawet udawanie klienta przed serwerem i naodwrót).Jeśli haker byłby w stanie to zrobić, to mógłby sprawić, że wszystkietransmisje między klientem a serwerem będą się odbywały za jego pośrednictwem.Przyjmijmy więc, że hakerowi udało się rozsynchronizować sesję TCP i klient wy-syła pakiet zawierający w nagłówku następujący kod:SEG_SEQ = CLT_SEQSEG_ACK = CLT_ACKPierwszy wiersz nagłówka pakietu SEG_SEQ = CLT_SEQ oznacza, że numersekwencji pakietu (SEG oznacza segment danych) jest następny w serii klienta.Drugi wiersz SEG_ACK = CLT_ACK przypisuje wartość potwierdzenia do na-stępnej wartości potwierdzenia.Ponieważ haker rozsynchronizował połączenieTCP, numer sekwencji pakietu klienta (CLT_SEQ) nigdy nie będzie równy poprzed-nio wysłanemu przez serwer potwierdzeniu (SVR_ACK) oczekiwanego numeru se-kwencji i dlatego serwer nie zaakceptuje danych i odrzuci pakiet.Haker natomiastskopiuje ów pakiet odrzucony przez serwer.Na rysunku przedstawiona jest sytuacja, w której serwer odrzuca pakiet, a haker gokopiuje.C:\WINDOWS\Pulpit\Szymon\hakerzy\r02a.doc 7980 Hakerzy.Po niewielkim opóznieniu, dającym serwerowi czas na odrzucenie pakietu, hakerwysyła do niego ponownie ten sam pakiet, co klient, ale ze zmienionymi już pole-ceniami SEG_SEQ i SEG_ACK (i zmienioną wartością sumy kontrolnej pakietu).Na-główek wygląda wtedy następująco:SEG_SEQ = SVR_ACKSEG _ACK = SVR _SEQPonieważ numer sekwencji w nagłówku pakietu jest poprawny (SVR_ACK jest rów-ne SEG_SEQ), serwer akceptuje nagłówek i pakiet, a następnie przetwarza dane.Wtym czasie (zależnie jednak od tego, jak wielu przesłanych pakietów serwer nie zaak-ceptował) prawdziwy klient może ciągle wysyłać dodatkowe pakiety albo transmi-tować pakiety ACK.Na poniższym rysunku przedstawiony jest sposób przechwycenia połączenia powysłaniu przez hakera zmodyfikowanego pakietu TCP
[ Pobierz całość w formacie PDF ]