hakin9 5 2004 atak jabber demo


Atak man in the middle na
szyfrowane połączenie Jabbera
Piotr Tyburski
Użytkownicy komunikatorów
sieciowych chcą mieć pewność,
że przesyłane przez nich dane
pozostaną poufne. Aby osiągnąć
ten cel, sięgają po wyrafinowane
narzędzia kryptograficzne. Czy
to wystarczy do zapewnienia
pełnego bezpieczeństwa?
opularne komunikatory, takie jak Gadu- nie)  będzie więc mógł podsłuchiwać połącze-
Gadu, do przesyłania wiadomości uży- nie. To właśnie jest nazywane atakiem man in
Pwają nieszyfrowanego tekstu. Z tego po- the middle.
wodu są niezwykle łatwe do podsłuchania. Więk- Podstawowym warunkiem powodzenia ta-
szy poziom bezpieczeństwa oferują aplikacje ko- kiego ataku jest dostęp do komputera pośred-
rzystające z otwartego protokołu Jabber (patrz niczącego w przesyłaniu pakietów IP pomię-
Artykuł Paranoja w świecie komunikatorów dzy użytkownikiem a serwerem. Najprostszym
 Hakin9 3/2004). Wynika to z faktu, że z Jabbe- przypadkiem jest sytuacja, w której atakują-
ra można korzystać za pośrednictwem warstwy cy ma dostęp do bramy w sieci (z prawami ad-
SSL, zapewniającej poufność połączenia.
Człowiek w środku Z artykułu nauczysz się...
Zastosowanie sprawdzonych algorytmów
" jak za pomocą filtra pakietów oraz progra-
szyfrowania z wykorzystaniem długich (512-
mu socat przechwycić szyfrowane połączenie
i 1024-bitowych) kluczy, renegocjowanych co
Jabbera,
pewną ilość danych, skutecznie zabezpiecza
" jak postępować, aby mieć niemal stuprocentową
nas przed wyciekiem informacji z nawiązanego
pewność, że nikt nie podsłucha sesji Jabbera.
połączenia. Nietrudno jednak wyobrazić sobie
Powinieneś wiedzieć...
sytuację, w której ktoś stanie na drodze nasze-
mu połączeniu z serwerem, podszywając się
" znać przynajmniej podstawy administracji syste-
pod niego (patrz Rysunek 1). Klient nawiąże
mami uniksowymi,
więc szyfrowane połączenie, tyle że nie  jak by- " zakładamy, że czytelnik posiada podstawową
wiedzę o SSL,
śmy się spodziewali  z serwerem, lecz z innym
" rozumieć, na czym polegają ataki man in the
komputerem. Komputer ten natomiast połączy
middle (polecamy lekturę artykułu Sniffing w
się z pierwotnym celem i od tego momentu sta-
ethernecie z przełącznikami z numeru 2/2003).
nie się pośrednikiem przesyłającym informacje
w obie strony (od serwera do klienta i odwrot-
28 www.hakin9.org Hakin9 Nr 5/2004
Atak
Atak na szyfrowane połączenie Jabbera
się na prawdziwym certyfikacie serwe-
Jak działa SSL ra (patrz Ramka Jak działa SSL).
Kiedy firma Netscape projektowała standard SSL, chciała rozwiąząć problem ogrom-
Za pomocą pakietu OpenSSL
nej podatności protokołu TCP/IP na podsłuchiwanie oraz ataki man in the middle. SSL
i dołączonego do niego skryptu po-
miał zapewnić zarówno szyfrowanie połączeń, jak i identyfikację obu stron. Tę rolę
włoki CA.sh (ewentualnie jego perlo-
spełnia użyta w protokole technika certyfikatów.
wej wersji CA.pl) generujemy certyfi-
Połączenie SSL (Secure Socket Layer) jest tworzone na bazie zwykłego połącze-
kat CA (centrum certyfikującego) oraz
nia TCP. Przesyłane nim dane szyfrowane są symetrycznie kluczem, który jest nego-
certyfikat serwera wraz z kluczami
cjowany na początku sesji. W pierwszej fazie klient wysyła komunikat Client Hello za-
prywatnymi. Skrypt CA.sh należy naj-
wierający informacje o wersji protokołu, identyfikatorze sesji oraz o obsługiwanych al-
pierw zlokalizować w systemie:
gorytmach kryptograficznych. Serwer odpowiada komunikatem Server Hello, w któ-
rym znajduje się nowy lub istniejący numer sesji oraz informacja o dopuszczalnych al-
gorytmach szyfrowania. W następnej fazie serwer uwierzytelnia się poprzez przesła- $ locate CA.sh
nie swojego certyfikatu. Klient sprawdza prawdziwość trzech warunków:
Załóżmy, że CA.sh został znaleziony
" certyfikat został podpisany przez znany i zaufany urząd certyfikujący (ang. Certifica-
w katalogu /etc/ssl/misc:
te Authority  CA); najważniejsze takie urzędy to Verisign, Thawte czy AT&T,
" certyfikat jest prawidłowy i nie stracił ważności (ani nie został odwołany),
$ /etc/ssl/misc/CA.sh -newca
" nazwa na certyfikacie odpowiada nazwie domenowej serwera.
Jeśli choć jeden z nich nie jest spełniony, klient zgłasza ostrzeżenie i pozostawia użyt- Po uruchomieniu skryptu należy
kownikowi decyzję o kontynuacji połączenia. Jeśli połączenie nie zostaje przerwane, jeszcze podać dane identyfikacyj-
serwer może dokonać analogicznego uwierzytelnienia klienta. Następnie obie strony
ne, które będą zapisane w certyfika-
generują tak zwany klucz master. Klucz ten wykorzystywany jest do utworzenia kluczy
cie, oraz hasło. Utworzony zostanie
sesji używanych pózniej do szyfrowania i deszyfrowania oraz sprawdzania integralno-
katalog ./demoCA zawierający m.in.
ści danych przesyłanych w ramach sesji SSL. Na koniec przesyłane są zaszyfrowane
plik cacert.pem (certyfikat naszej in-
wiadomości informujące o zakończeniu działania protokołu powitalnego i może nastą-
stytucji certyfikującej) i cakey.pem
pić wymiana danych.
(klucz prywatny tego certyfikatu).
Teraz należy wygenerować certy-
ministratora). Przyjmijmy, że tak wła- cjowane połączenie i zaraz potem na- fikat dla naszego serwera. W tym celu
śnie jest. Jeśli atakujący nie ma do- wiązać kolejne, tym razem z właści- wykonujemy następujące polecenie:
stępu do maszyny pośredniczącej, wym adresatem. Spróbujmy więc wy-
może użyć technik w rodzaju ARP konać prawdziwy atak. $ /etc/ssl/misc/CA.sh -newreq
spoofing lub ARP poisoning (patrz
Artykuł Sniffing w sieciach przełącza- Skąd wziąć certyfikat Znów trzeba podać kilka informacji
nych  Hakin9 2/2003). Aby przechwycenie szyfrowanej sesji (podobnie jak przy generowaniu ca-
Atak na szyfrowaną sesję Jabbe- miało jakiekolwiek szanse powodze- cert) oraz hasło. Zostało nam już tyl-
ra powiedzie się, jeśli agresorowi uda nia, potrzebny będzie spreparowany ko podpisanie wygenerowanego cer-
się przechwycić próby nawiązania po- certyfikat SSL serwera Jabbera  dzię- tyfikatu:
łączenia z komputera klienta do por- ki temu klient Jabbera uzna, że ma do
tu 5223 serwera i przekierować je do czynienia z prawdziwym serwerem. $ /etc/ssl/misc/CA.sh -sign
innego komputera. Na tej maszynie Podczas jego tworzenia należy oczy-
specjalny program musi przyjąć zaini- wiście podać takie dane, jakie znajdują Po podaniu hasła do klucza prywat-
nego instytucji certyfikującej otrzy-
mujemy podpisany cyfrowo certy-
Alicja Ewa Internet Bob fikat ./newcert.pem oraz jego klucz
prywatny ./newreq.pem.
Realizacja ataku
Czas na przeprowadzenie właściwe-
10.0.02 10.0.01 81.210.17.124
go ataku. Wspomnianym specjalnym
P(m,k1) P(m,k2)
programem, który przechwyci dane
szyfrowanej sesji Jabbera, będzie
w tym przypaku socat (patrz Ram-
P(m,k1)  funkcja szyfruj ca wiadomość m kluczem k
m  wiadomość przesyłana między Alicj a Bobem
ka Socat  prawdziwy sieciowy kom-
k1  klucz wynegocjowany dla poł czenia Alicja  Ewa
bajn), który posłuży za pośrednika
k2  klucz wynegocjowany dla poł czenia Ewa  Bob
między użytkownikiem a serwerem.
W opisie przechwycenia sesji po-
Rysunek 1. Schemat ataku man in the middle na sesję SSL Jabbera
służymy się dla ułatwienia imionami:
2004 Hakin9 Nr 5/2004 www.hakin9.org
29


Wyszukiwarka

Podobne podstrony:
hakin9 6 04 przechowywanie?nych?mo
hakin9 6 04 testy penetracyjne?mo
hakin9 6 04 wykrywanie sniffingu?mo
hakin9 5 04 rozpoznawanie honeypotow?mo
hakin9 5 04?os obrona?mo
hakin9 5 04?maskowanie nadawcy?mo
hakin9 6 04 cisco ios?mo
hakin9 5 04 szelkod python?mo
hakin9 6 04 inzynieria odwrotna?mo
hakin9 5 04 skanowanie portow?mo
04 (131)
2006 04 Karty produktów
04 Prace przy urzadzeniach i instalacjach energetycznych v1 1
04 How The Heart Approaches What It Yearns
str 04 07 maruszewski
[W] Badania Operacyjne Zagadnienia transportowe (2009 04 19)
Plakat WEGLINIEC Odjazdy wazny od 14 04 27 do 14 06 14

więcej podobnych podstron