|
BEZPIECZEŃSTWO SYSTEMÓW INFORMACYJNYCH - laboratorium |
|
|
Temat ćwiczenia: Ataki aktywne |
|
Skład grupy:
|
EAIiE, EiT
Data i godzina wykonania ćwiczenia:
24.05.2011r., 1700 |
Przepełnienie tablicy CAM przełącznika.
Pierwszy scenariusz zrealizowany na laboratorium dotyczył przepełniania tablicy CAM (ang. Content Adressable Memory) przełącznika. Zadaniem tablicy jest przechowywanie adresów fizycznych urządzeń przyłączonych do poszczególnych portów przełącznika. Przełączanie na poziomie ramek polega na przekazywaniu ramek pomiędzy portami, filtrowaniu ramek i aktualizacji tablicy przełączania na podstawie odbieranych ramek. Pamięć CAM to pamięć wykorzystywana w przełącznikach do realizacji wydobywania i przetwarzania informacji o adresie z przychodzących pakietów z danymi oraz do porównania adresu odbiorcy z zapamiętaną tablicą adresów. Pamięć ta przechowuje adresy MAC hostów i powiązane z nimi numery portów. Pamięć CAM porównuje odebrane adresy MAC odbiorców z zawartością tablicy. Jeśli zostanie znaleziony pasujący adres, pamięć CAM podaje numer portu, a mechanizm trasowania przesyła pakiet do odpowiedniego portu i adresu.
Przepełnienie tablicy CAM następuje, gdy na danym porcie przełącznik odbierze za dużą ilość pakietów z różnymi źródłowymi adresami MAC. Przełącznik po otrzymaniu ramki z nieznanym adresem MAC zachowuje się jak koncentrator i rozsyła ramkę na wszystkie porty w obrębie danej sieci VLAN poza portem źródłowym, na którym pojawiła się ramka.
Na laboratorium złożyliśmy sieć według schematu na rysunku 1.1.
Rys.1.1 Schemat sieci wykorzystanej do ataku CAM table overflow.
Maksymalny rozmiar tablicy CAM na przełączniku wykorzystywanym podczas laboratorium wynosi 8093.
Atak został przeprowadzany za pomocą narzędzia macof, należącym do pakietu dSniff. Polecenie: macof -i eth1 generuje pakiety z losowymi adresami źródłowymi. W ten sposób następuje przepełnienie tablicy CAM, która z powodu tego, że posiada ograniczoną wielkość, nie jest w stanie zapisywać kolejnych odwzorowań. W praktyce oznacza to, że przełącznik zaczyna działać jak hub i przekazuje pakiety na wszystkie porty, z którego daną ramkę otrzymał.
Po przeprowadzeniu ataku widzimy , że przełącznik został zapełniony, liczba wolnych portów wynosi zero. Następnie za pomocą programu Wireshark sprawdziliśmy czy atak się powiódł i czy komputer obserwatora przechwycił hasło sesji ftp.
Rys.1.2. Przechwycenia hasła.
Na podstawie powyższego rysunku 1.2 widać, że można odczytać hasło użytkownika, user: student, password: cisco.
Kolejne zadanie dotyczące tej części laboratorium polegało na ponownym przeprowadzeniu ataku związanego z zalewaniem tablicy CAM przełącznika, jednak w tym wypadku najpierw skonfigurowano na przełączniku mechanizm port security ( zabezpieczanie portu). W tym celu wprowadzono następujące komendy:
switchport port-security maximum 5 vlan access ustawia maksymalną liczbę adresów MAC na 5. Naruszenie zasad spowoduje wyłączenie portu.
switchport port-security mac-address sticky dodaje wszystkie chronione adresy MAC, które są dynamicznie przydzielone na porcie ( aż do maksymalnej ilości) do bieżącej konfiguracji przełącznika.
switchport port-security violation shutdown - konfiguracja podjęcia konkretnej akcji w przypadku złamania polityki bezpieczeństwa portu (wyłączenie portu).
Na podstawie powyższego rysunku można zauważyć, że przełącznik ze skonfigurowanym zabezpieczeniem portu skasował ze swojej tablicy wszystkie wpisy dotyczące portu fa 0/4 czyli portu, na którym podpięty był atakujący. Widać więc, że metoda ta jest skuteczna i chroni w tym przypadku przed atakiem.
W przypadku połączeń telnet i http również można przechwycić hasła, dla ssh i https hasła są szyfrowane.
2. ARP Spoofing.
Kolejny scenariusz zrealizowany w trakcie laboratorium dotyczył przeprowadzenia ataku typu Man in the middle z wykorzystaniem techniki ARP Spoofing.
Atak typu Man in the middle polega na pośredniczeniu przez stację atakującą, w komunikacji pomiędzy dwoma stronami w sieci bez ich wiedzy. Mając dostęp do sieci LAN, w której znajduje się ofiara, intencją atakującego jest zazwyczaj przechwycenie ruchu pomiędzy stacją ofiary o bramą domyślną, ze względu na możliwość przechwycenia cennych haseł lub podsłuchania prowadzonych rozmów. Najpopularniejszą techniką do przeprowadzenia tego typu ataku w sieciach LAN jest ARP Spoofing, polegająca na zatruwaniu cache'ów ARP obydwóch stron fałszywymi informacjami (Rysunek 2.1)
Rysunek 2.1 Ilustracja ARP Spoofing
Atakujący wysyła sfałszowane wiadomości ARP do:
Ofiary; wiadomość ARP wiąże adres IP bramy domyślnej z adresem MAC atakującego,
Router'a; wiadomość ARP wiąże adres IP ofiary z adresem MAC atakującego.
Po zatruciu tablic ARP, ofiara chcąc przesłać pakiet do bramy domyślnej posłuży się sfałszowanym wpisem w swojej tablicy ARP, wysyłając ramkę o adresie docelowym MAC odpowiadającym stacji atakującego. Podobnie, będzie wyglądała sytuacja, gdy router będzie miał pakiety do przeznaczone dla podsłuchiwanego komputera.
Wykonanie ćwiczenia
Na rysunku 2.2 przedstawiono schemat sieci, w której przeprowadzony został atak. Celem atakującego było przechwycenie sesji pomiędzy użytkownikiem a serwerem https.
Rysunek 2.2 Schemat sieci
Adres IP użytkownika: 149.156.203.70
Adres MAC użytkownika: 001A.4D4D.8F6C
Adres MAC atakującego: 001A.4D4D.A810
Adres IP bramy domyślnej: 149.156.203.1
Adres MAC bramy domyślnej: 001B.D5FB.5044
Do przeprowadzenia ataku wykorzystane zostało narzędzie Cain & Abel.
Przed przeprowadzeniem ataku, tablica ARP użytkownika zawierała poprawny adres MAC router'a:
Interfejs: 149.156.203.70 --- 0x4
Adres internetowy Adres fizyczny Typ
149.156.203.1 00-1b-d5-fb-50-44 dynamiczne
Za pomocą wspomnianego wyżej programu, atakujący wysłał zatrute wpisy ARP (Rysunek 2.3)
Rysunek 2.3 Status przeprowadzanego ataku
W górnym oknie programu, widzimy na jakie adresy zostały przesłane sfałszowane wiadomości ARP, a poniżej sesje użytkownika, które udało już się przechwycić.
Skuteczność przeprowadzonego ataku potwierdzają:
wpis w tablicy ARP użytkownika:
Interfejs: 149.156.203.70 --- 0x4
Adres internetowy Adres fizyczny Typ
149.156.203.1 00-1a-4d-4d-a8-10 dynamiczne
Sesje zaobserwowane przez atakującego w programie WireShark:
Widzimy, że ramki od użytkownika trafiają do atakującego, który następnie inicjuje sesję na tym samym porcie i przekazuje tą wiadomość dalej do router'a (korzystając z odpowiedniego oprogramowania, atakujący mógłby nawet dokonać modyfikacji przesyłanego pakietu).
Program Cain & Abel pozwala także na przechwytywanie transmisji szyfrowanych, co także mogliśmy zaobserwować.
Gdy użytkownik próbował połączyć się z serwisem gmail.com za pomocą protokołu https, atakujący sam zainicjował taką sesję na podstawie przechwyconego loginu i hasła, które sami mogliśmy podejrzeć w przechwyconych wiadomościach:
Referer: https://www.google.com/accounts/ServiceLoginAuth
Cookie: GoogleAccountsLocale_session=pl; __utma=173272373.2129700081.1306253191.1306253191.1306253191.1; __utmb=173272373.4.10.1306253191; __utmc=173272373; __utmz=173272373.1306253191.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); GAPS=1:GDhFCG1xiSoWQjksUOKYiQwJBNK6rg:DwIeRqf9UgSZF-QN; GALX=HD9RIs6p7TY; PREF=ID=8b3c512722c7f5cc:TM=1306252847:LM=1306252847:S=az8ZLIgyg4teHd3s; GMAIL_RTT=46; GMAIL_LOGIN=T1306253363041/1306253363041/1306253383041
Content-Type: application/x-www-form-urlencoded
Content-Length: 1053
ltmpl=default<mplcache=2&pstMsg=1&dnConn=https%3A%2F%2Faccounts.youtube.com&continue=http%3A%2F%2Fmail.google.com%2Fmail%2F%3F&service=mail&rm=false&dsh=-1302379216695743143<mpl=default<mpl=default&scc=1&timeStmp=&secTok=&GALX=HD9RIs6p7TY&Email=piotr%40gmail.com&Passwd=blablabla&logintoken=XuT6ubdSYs4HyjC0eihdnmuFmKgS2BmDXctgx2kUE5N9dm7Ysiphwm8O-17HrmiB5H2lVBSYrAbyWnxMFq7mmfpkunMxIjS10Ofdlv4Ddds%3ADqqy8Krll3drTM4LfsUIBA&loginurl=https%3A%2F%2Fwww.google.com%2Faccounts%2FCaptcha%3Fctoken%3DXuT6ubdSYs4HyjC0eihdnmuFmKgS2BmDXctgx2kUE5N9dm7Ysiphwm8O-17HrmiB5H2lVBSYrAbyWnxMFq7mmfpkunMxIjS10Ofdlv4Ddds%253ADqqy8Krll3drTM4LfsUIBA&logintoken_audio=ptoa6yb3c8oxDHSslsZTv0g234GNsL6GAAs0q1ipt7EUHO4Aa-lgCGUXWdjj-KKm7VjvzCIazd16Px0L-uH39Wrdcbs1eOJVUuNT5aI5SC4%3AanJabxuJoGczA1fQwqlO2Q&loginurl_audio=https%3A%2F%2Fwww.google.com%2Faccounts%2FCaptcha%3Fctoken%3Dptoa6yb3c8oxDHSslsZTv0g234GNsL6GAAs0q1ipt7EUHO4Aa-lgCGUXWdjj-KKm7VjvzCIazd16Px0L-uH39Wrdcbs1eOJVUuNT5aI5SC4%253AanJabxuJoGczA1fQwqlO2Q&logincaptcha=alpitrabla&rmShown=1&signIn=Zaloguj+si
Do zainicjowania sesji, atakujący wykorzystał certyfikat, który otrzymał od z serwisu gmail.com, natomiast użytkownik otrzymał certyfikat wygenerowany przez atakującego. Ponieważ certyfikat ten nie został podpisany przez, żadne zaufane centrum autoryzujące, przeglądarka ostrzega o tym użytkownika. Była to właściwie jedyny sygnał, który mógł wzbudzić podejrzenia użytkownika, czy ktoś nie pośredniczy w połączeniu między nim a serwerem poczty.
Przechwycone certyfikaty, możemy obserwować w jednej z zakładek programu (Rysunek 2.4)
Rysunek 2.4 Przechwycone certyfikaty
Widzimy, zatem jak niebezpieczny i trudny do wykrycia ze strony użytkownika jest atak przy użyciu techniki ARP spoofing. Wydaje się, że administrator mógłby wykryć tego typu atak przeglądając tablice ARP routera - widniałyby w niej dwa wpisy dotyczące tego samego adresu MAC, o ile atakujący rozgłosił za pomocą ARP swój oryginalny adres IP. Powszechną metodą obrony przed tego typu atakami jest wykorzystanie techniki DHCP Snooping z załączonym mechanizmem Dynamic ARP Inspection. Polega ona na porównywaniu przychodzących wiadomości ARP z wpisami w tablicy dowiązań IP/MAC utworzonej na podstawie przesyłanych wiadomości DHCP.