Atak Mitnicka

Mitnick atak to nazwa nadana do ataku komputerowego wykonanego przez Kevin Mitnick na25 grudnia 1994w sieci eksperta ds. bezpieczeństwa IT Tsutomu Shimomury . Jest to jeden z najbardziej znanych przypadków włamań do bezpieczeństwa komputerów . W teorii był znany w środowisku akademickim od połowy lat osiemdziesiątych, ale nigdy nie został jeszcze wprowadzony w życie. W związku z tym jego pierwotny aspekt w znacznym stopniu przyczynił się do jego dystrybucji. Używał dwóch różnych technik: zalewania żądań SYN i kradzieży sesji TCP .

Rama teoretyczna

Identyfikowanie zaufanego powiązania

Aby zaimplementować atak, konieczne jest, aby maszyna docelowa utrzymywała zaufane łącze z inną maszyną, innymi słowy, aby istniał host, który może łączyć się z maszyną docelową bez konieczności uwierzytelniania . Spoofing IP jest następnie nadużywanie maszynę docelową stanowią dla tej zaufanego hosta przez fałszowanie jego adres IP .

W praktyce, na UNIX stacji roboczych , to wiązanie zaufanie odbywa się za pomocą plików /etc/hosts.equivoraz .rhostsw katalogu domowym użytkownika. Składnia pliku /etc/hosts.equivedytowanego przez użytkownika root jest następująca:

site.equivalent.1 site.equivalent.2 site.equivalent.3

W tym przypadku, jeśli ktoś próbuje połączyć się z witryną z rlogin, rshlub rcp, system sprawdza, czy wiadomość pochodzi z serwisu wymienionego w /etc/hosts.equiv. Jeśli tak, następnie sprawdza plik, /etc/passwdaby sprawdzić, czy ma konto o tej samej nazwie użytkownika, co zdalny użytkownik systemu. Jeśli odpowiedź jest twierdząca, dostęp zdalny jest możliwy bez konieczności podawania hasła do konta. Jeśli zdalny użytkownik spróbuje zalogować się przy użyciu innej nazwy użytkownika, plik /etc/hosts.equivnie zostanie wyświetlony. Ten plik nie jest wystarczający do bezpośredniego połączenia jako root.

Składnia pliku .rhostsw katalogu domowym użytkownika jest następująca:

site.autorise.1 tux site.autorise.2

W tym przykładzie użytkownik tuxma prawo zalogować się na konto ze strony site.autorise.1. Druga linia oznacza, że ​​tylko ta sama nazwa użytkownika, co właściciel pliku, .rhostsbędzie miała prawo do logowania site.autorise.2.

Podaj numer kolejny

Być może najbardziej delikatna część ataku polega na przewidywaniu numeru sekwencji podczas żądania połączenia TCP . Nawiązanie połączenia TCP odbywa się w trzech etapach:

Połączenie jest następnie ustanawiane. Klient i serwer mogą rozpocząć wymianę danych.

Kiedy atakujący wykona pierwszy krok tego procesu, umieści adres IP zaufanego hosta celu jako adres źródłowy w nagłówku IP pakietu SYN. Ale kiedy cel odpowie pakietem SYN|ACK, zostanie on wysłany do prawdziwego właściciela adresu, a mianowicie do zaufanego hosta. Dlatego atakujący ignoruje numer sekwencyjny wysłany przez cel lub potrzebuje go do nawiązania połączenia. Rzeczywiście, jeśli numer potwierdzenia jest nieprawidłowy, cel wyśle ​​pakiet, który kończy procedurę. Z tego powodu ten atak jest kwalifikowany jako „atak na ślepo”. RST

Dlatego atakujący musi przewidzieć numer sekwencyjny wysłany przez cel w oparciu o początkowy numer sekwencyjny wysłanego pakietu. Ale jeśli uda mu się odgadnąć zakres możliwych wartości, może ostatecznie „zalać” cel pakietami ACKi mieć nadzieję, że jeden z nich będzie miał poprawny numer potwierdzenia. Jeśli napastnik włamał się już na maszynę znajdującą się w tej samej sieci lokalnej co jego cel, może na przykład przeprowadzić podsłuch, aby przechwycić ten pakiet i uzyskać prawidłowy numer sekwencyjny.

Wyciszanie zaufanego hosta

W tym momencie nadal istnieje mały problem praktyczny. Ponieważ cel odsyła pakiet z powrotem SYN/ACKdo zaufanego hosta, a zaufany host nie wysłał żądania połączenia, wyśle ​​pakiet RSTżądania przerwania połączenia do celu . Dlatego atakujący musi odpowiedzieć, zanim ten pakiet dotrze do celu. Jednak pojawia się problem, na przykład jeśli te dwie witryny znajdują się w tej samej sieci lokalnej , ale nie atakujący, czas odpowiedzi tej ostatniej będzie prawdopodobnie dłuższy niż zaufanego hosta. Dlatego osoba atakująca musi tak zarządzać, aby zaufany host nie mógł odpowiedzieć na pakiet wysłany przez cel.

Dlatego osoba atakująca wyłączy zaufany host z usługi na czas trwania procedury połączenia z celem. Na przykład może wysłać dużą liczbę pakietów SYN do tego ostatniego, ale nie może wykonać ostatniego kroku procedury żądania połączenia. Host nie będzie wtedy mógł przetwarzać dalszych żądań połączenia przez pewien czas, ponieważ wszystkie dostępne zasoby są już zajęte. Ten atak nazywa się SYN flood . Zwróć uwagę, że atakujący nie jest zobowiązany do umieszczania swojego prawdziwego adresu IP w wysyłanych pakietach, aby móc ukryć swoje ślady.

(hors service) ┌────────────┐ ┌────────────┐ SYN/ACK │ HOTE │ │ CIBLE ╞════════>>═════════╡ de │ └─────┬──────┘ │ CONFIANCE │ │ └────────────┘ │ │ │ │ │ inondation de SYN │ │ │ │ │ SYN ┌────────────┐ └─────────────<<───────────┤ ATTAQUANT │ └────────────┘

Opis ataku

Data ataku wybrana przez Mitnicka, a mianowicie Boże Narodzenie 1994 r., Nie jest banalna. W ten sposób można być prawie pewnym, że nikt nie zostanie podłączony do sieci docelowej, co da jej większą swobodę podczas próby włamania. Najpierw zajmie się zbieraniem informacji o sieci, do której chce się włamać. Rozpoczyna się od sondowania maszyny ARIEL za pomocą polecenia UNIX finger ze strony toad.com:

14:09:32 toad.com# finger -l @ARIEL

Polecenie fingerpozwala poznać, kto jest podłączony do systemu, moment połączenia osoby, moment jej poprzedniego połączenia, miejsce, z którego się łączy, czas w którym odpoczywał, czy nikt nie ma poczty . Następnie odkrywa, że ARIEL jest obecnie połączony z ASTARTE , RIMMON i OSIRIS .

Następnie sonduje z kolei RIMMON i pyta w szczególności o root administratora systemu:

14:10:21 toad.com# finger -l @RIMMON
14:10:50 toad.com# finger -l root@RIMMON

W końcu sprawdza OSIRIS, który jest stacją roboczą Tsutomu Shimomury  :

14:11:07 toad.com# finger -l @OSIRIS
14:11:38 toad.com# showmount -e OSIRIS
14:11:49 toad.com# rpcinfo -p OSIRIS
14:12:05 toad.com# finger -l root@OSIRIS

Polecenie showmount -epozwala poznać systemy plików wyeksportowane za pomocą sieciowego systemu plików na stronie. W krakersy są interesowały głównie w tych, które mogą być odczytywane i zapisywane przez wszystkich. Podczas gdy komenda dostarcza rpcinfoinformacji o usługach zdalnego wywoływania procedur ( RPC ) dostępnych w systemie. W szczególności Mitnick odkrywa, że OSIRIS autoryzuje zamówienie rsh. Dowiadując się w końcu fingero superużytkowniku root , odkrywa połączenie z RIMMON . Dlatego zakłada istnienie zaufanego łącza między OSIRIS i RIMMON dla użytkownika root .

Mitnick spróbuje teraz zrozumieć zachowanie generatora numerów sekwencyjnych TCP OSIRIS . Aby to zrobić, wyśle ​​dwadzieścia prób połączenia z witryny apollo.it.luc.edu. Początkowe numery sekwencyjne ( Initial Sequence Number ) są zwiększane przy każdej próbie logowania. Aby nie nasycać przewodu połączeniowego OSIRIS, co spowodowałoby wyłączenie go, pakiet RSTjest wysyłany w odpowiedzi na każdy pakiet SYN/ACKwysłany przez ten ostatni. W ten sposób odkrywa, że w przypadku dwóch kolejnych prób połączenia, różnica między liczbą sekwencji pakietów SYN/ACKwysyłanych OSIRIS jest 128.000. Jeżeli zatem kolejny numer ostatniego pakietu grupy pakietów wysłanych wcześniej, i że z odpowiedniego opakowania , będzie być numerem sekwencyjnym pakietu w odpowiedzi na pakiet z numerem sekwencyjnym . SYNSYN/ACKSYN/ACKSYN

(hors service) (Nack+128 000) ┌────────────┐ SYN/ACK ┌────────────┐ │ OSIRIS ╞════════>>═════════╡ RIMMON │ └─────┬──────┘ │ │ │ │┌────┐┌────┐│ │ ││ ││ ││ │ inondation de SYN │ ││ ││ ││ │ │└────┘└────┘│ │ (Nsyn+1) │ │ │ SYN │ APOLLO │ └────────────<<────────────┤ (Mitnick) │ └────────────┘

Wszystkie składniki są teraz na miejscu, aby zaimplementować fałszywy atak . Mitnick zaczyna od zalania SYNprzewodu połączeniami RIMMON 14 sekund przed głównym atakiem, uniemożliwiając maszynie przetwarzanie innych połączeń. O 14:18:36 wysyła następnie OSIRIS pakiet SYNżądania połączenia z numerem sekwencyjnym , ale adres źródłowy nagłówka IP jest adresem RIMMON . Następnie nawiązuje połączenie, wysyłając pakiet, którego numer potwierdzenia to . W OSIRIS , wszystko odbywa się płynnie, jakby to były root of Rimmona , który złożył wniosek o połączeniu. Dlatego Mitnick właśnie przejął kontrolę nad sesją TCP, która miała być ustanowiona między OSIRIS i RIMMON . Ten ostatni tymczasowo nie może odpowiadać na żądania połączenia. ACK

Atakujący musi wtedy tylko otworzyć wyłom w OSIRIS, umożliwiając mu późniejsze zbadanie. Następnie Mitnick wysyła mu następującą komendę:

14:18:37 [root@apollo /tmp]#rsh OSIRIS "echo + + >>/.rhosts"

To polecenie dodaje wiersz + +w pliku /.rhostsz OSIRIS . W rezultacie OSIRIS pozwala teraz każdemu zalogować się jako root w systemie. System jest teraz zagrożony. Mitnick następnie kończy połączenie, ponieważ teraz może dowolnie sprawdzać maszynę Shimomury . W końcu uwalnia wątek połączenia RIMMON , wysyłając pakiety, RESETaby nie wzbudzać podejrzeń kogoś, kto próbuje się połączyć, a kto nie może.

Wniosek

Gdy praktyczne wdrożenie tej techniki zostało ujawnione opinii publicznej, zostało szeroko rozpowszechnione. Inni złośliwi hakerzy przejęli następnie odpowiedzialność za narzędzia kodujące w celu zautomatyzowania ataku. Wykorzystanie tej techniki zintensyfikowano. Tylko w dzisiejszych czasach, aby "zalać" kabel serwera połączeniami, trzeba wysłać dużo więcej pakietów SYN. Ponadto serwer może blokować ruch z hosta, który wysyła wiele żądań połączenia w bardzo krótkim czasie. I wreszcie, system wykrywania włamań może wykryć wiele żądań sesji od hosta, który konsekwentnie je zwraca RESETi powiadomić administratora systemu, że ktoś z pewnością próbuje odgadnąć zachowanie sekwencji generatora liczb w witrynie.

Ponadto usługa fingerd, na której opiera się część poszukiwań informacji, dziś prawie zniknęła; rzadkie dystrybucje wciąż integrujące go nie aktywują go.

Uwagi

  1. Zobacz e-mail [email protected] wysłany przez Tsutomu Shimomurę na forum comp.security.misc z dnia 25 stycznia 1995 r.
  2. Zobacz Atak typu „odmowa usługi”
  3. RIMMON jest dokładniej serwerem X dla OSIRIS, który jest bezdyskową stacją roboczą. Obie maszyny są komputerami SPARC z systemem Solaris 1 .
  4. Połączenie jest w rzeczywistości jednostronne, ponieważ Mitnick nie może odbierać pakietów wysyłanych przez OSIRIS .

Zobacz też

Powiązane artykuły

Linki zewnętrzne

<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">