Spoofing Zadanie (Celem ćwiczenia jest zapoznanie się z metodami podsłuchiwania w sieciach zbudowanych w oparciu o przełączniki. Rozpoznawanie metodologii ataku i jego zapobieganie.) 1. Z wykorzystaniem narzędzia do arpspoofingu należy przeprowadzić przechwycenie ruchu między komputerem ofiarą a bramą sieciową w pracowni. Jaka część ruchu możliwa jest do przechwycenia? Jaka jest skuteczna metoda zabezpieczająca przed w/w atakiem? Wykonanie Ściągnąć program Wireshark (lub podobny) i zainstalować. Ściągnąć program WinArpSpoof i zainstalować. Uruchom w Windowsie program WinArpSpoof. Przeprowadź atak na jeden komputer Zarejestruj sesję HTTP (lub innego protokołu sieciowego) atakowanego komputera. Sprawdź na atakowanym komputerze trasy do dowolnych hostów w internecie przy pomocy programy tracert. Czy można przy pomocy tego programu wykryć spoofing? Zarejestruj snifferem przebieg ataku. Przeanalizuj ruch arp Dodaj statyczny wpis do tablicy arp wskazujący na bramę (polecenie arp). Spróbuj ponowić atak. Wprowadzenie teoretyczne MAC-flooding i ARP-Spoofing to dwie metody podsłuchu, które mogą być wykorzystywane w przypadku sieci przełączanych. Jak wiadomo przełącznik (switch) w odróżnieniu od koncentratora (huba) przesyła ramki tylko pomiędzy odpowiednimi portami (tymi, do których przyłączeni sa odpowiednio nadawca i odbiorca wiadomości). Decyzje o przesłaniu nadchodzącej porcji danych do właściwego portu podejmowane są na podstawie przechowywanej w pamięci switcha tablicy adresów sprzętowych MAC powiązanych z numerami jego portów. Switch przez cały czas swojej pracy uczy się (na podstawie adresu nadawcy umieszczonego w przychodzących doń ramkach) adresów sprzętowych urządzeń przyłączanych do poszczególnych portów. Przez krótki czas po włączeniu lub zresetowaniu switcha ramki przesyłane są na wszystkie pozostałe porty (podobnie jak ma to miejsce w przypadku huba). Po tym okresie będą trafiały wyłącznie do portu powiązanego z tym adresem. W przypadku, kiedy przepniemy jakieś urządzenie z jednego portu do innego nie będzie ono mogło odbierać ramek do czasu, kiedy samo nie wyśle jakiejś informacji, na podstawie której swotch zorientuje się, że jest przyłaczone do innego portu. MAC-flooding polega na zalewaniu przełącznika bardzo dużą liczbą ramek z różnymi, nie istniejącymi w sieci źródłowymi adresami MAC, tak aby zapełnić pamięć przeznaczoną na przypisanie adresów do poszczególnych portów. Zalany przełącznik zaczyna zachowywać się jak zwykły koncentrator i przesyłać otrzymane prawdziwe ramki na wszystkie swoje porty. Metoda ta jest skuteczna tylko w odniesieniu do tańszych przełączników, w których pamięć na odwzorowania MAC - numer portu jest mała i wspólna dla wszystkich portów. ARP-spoofing polega na podszywaniu się agresora pod jeden z komputerów w sieci lokalnej (często z oczywistych względów pod bramę do Internetu) poprzez wysyłanie sfałszowanych pakietów ARP-Reply zawierających podrobione odwzorowanie, które informuje ofiarę, że fizyczny adres owej bramy to adres, który w rzeczywistości należy do komputera agresora. W ten sposób, to co powinno trafić do Źródło: wiki.kis.p.lodz.pl 1
bramy trafia do agresora, który aby atak pozostał niezauważony powinien przesłać otrzymane pakiety do prawdziwej bramy. Warto zauważyć, że odwzorowania ARP (czyli odwzorowania adresów IP na adresy MAC) przechowywane w pamięci podręcznej (ARP-cache) uaktualniane są przez system nawet w przypadku, gdy odbierze on pakiet ARP-reply mimo, że nie wysyłała zapytania ARP-request, co znacząco ułatwia życie crackerom. ARP-spoofing jest metodą bardzo skuteczną nie atakuje bowiem samego przełącznika, ale samą ofiarę ataku, która wysyła informacje pod niewłaściwy adres fizyczny. Narzędzia WinArpSpoof Program WinArpSpoof jest skutecznym narzędziem do przeprowadzenia ataku ARP-spoofing w środowisku Windows. Program został napisany przez firmę NextSecurity (obecnie Softahead) i należy do kategorii freeware. Uwaga: obecnie nie można go pobrać ze strony, gdyż został zastąpiony płatnym programem SwitchSniffer. Dostępny jest jednak na serwerze producenta oraz na innych serwerach z darmowym oprogramowaniem. Pomimo, że WinArpSpoof jest prostym programem pozwala na realizację 3 funkcji niezbędnych do ataku ARP-spoofing: Skanowanie sieci - poszukiwanie potencjalnych ofiar APR-spoofnig Przesyłanie pakietów (ip forwarding) Okno konfiguracji interfejsu sieciowego w programie WinArpSpoof Przed rozpoczęciem pracy należy wybrać przycisk Options i określić interfejs na którym będzie prowadzony atak. Źródło: wiki.kis.p.lodz.pl 2
Okno opcji spoofingu w programie WinArpSpoof Następnie, także w oknie Options określamy rodzaj ataku: Na hosta Na bramę W obie strony oraz czy nasz komuter ma pracować jako router (ip forwarding). Aby przeprowadzić atak należy: Okno główne programu WinArpSpoof Wybrać przycisk Scan w celu zebrania informacji o sieci Zaznaczyć hosty, którę chcemy atakować Wcisnąć przycisk Start aby rozpocząć atak Źródło: wiki.kis.p.lodz.pl 3
Podczas ataku możemy podsłuchiwać transmisję przy pomocy dowolnego sniffera, np.: Wireshark arpspoof (pakiet dsniff) Program arpspoof z pakietu dsniff jest prostym narzędziem pozwalającym na podszywanie się pod inny komputer przy pomocy ataku ARP-spoofing. Idealnie nadaje się do podsłuchiwania pakietów w sieciach opartych na przełącznikach. Program pozwala atakować pojedyńczego hosta jak i całą sieć. Składnia polecenia: arpspoof [-i interface] [-t target] host -i interface Określa używany interfejs sieciowy. -t target Określa atakowany host (czyli ten, którego arp cache na zostać "zatruty"). Jeśli prametr nie zostatnie podany - atakowana jest cała sieć. host Określa host za który będziemy się podszywać. Zazwyczaj lokalna brama. Przykład użycia: Przyjmijmy, że brama w naszej sieci ma adres 192.168.1.1, zaś atakowany komputer 192.168.1.23. Aby przechycić sesje internetowe tego komputera należy wydać polecenie: arpspoof -i eth0 -t 192.168.1.23 192.168.1.1 Od tej chwili pakiety będą kierowane do naszego komputera zamiast do bramy. Ponieważ nasz komputer nie potrafi obsużyć tych pakietów - zostaną one odrzucone (i ewentualnie podsłuchane). W efekcie atakowany użytkownik straci połączenie z internetem. Aby temu zapobiec należy wymusić przesyłanie (forwarding) pakietów. Wykonać to można poleceniem: echo 1 > /proc/sys/net/ipv4/ip_forward Od tej chwilii atakowany użytkownik będzie miał dostęp do internetu, lecz my będziemy w stanie podsłuchać tylko połowę transmisji. Statnie się tak dlatego, iż brama nie została "oszukana" i odpowiada bezpośrednio do komputera ofiary. Można by spróbować zaatakować bramę w podobny sposób. Jednakże można uniknąć zbędnej ingerencji w cache ARP bramy i zastosować translację adresów. Wykonać to można poleceniem: iptables -t nat -A POSTROUTING -j MASQUERADE dnsspoof (pakiet dsniff) Narzędzie dnsspoof z pakietu dsniff pozwala na podmianę odpowiedzi serwera DNS. Umożliwia to przekierowanie połączenia na niepradziwy adres. Pozwla ono na poszycie się pod dowolny serwer w internecie. Znajduje zastosowanie przy realizacji różnych ataków typu man-in-the-middle. Wymaga bezpośredniego dostępu do atakowanego hosta. dnsspoof [-i interface] [-f hostsfile] [expression] -i interface Określa interfejs sieciowy -f hostsfile Źródło: wiki.kis.p.lodz.pl 4
Określa plik z danymi (patrz niżej). Jeśli nie podano parametru, podmieniane będą wszystkie zapytania expression Określa filtr pakietów zgodny z formatem tcpdump Format pliku z danymi: adres_ip nazwa_dns Na przykład 192.168.1.2 www.wp.pl W nazwach DNS dopuszczalne są jokery "*", np.: 192.168.2.45 *.kis.p.lodz.pl Przykład zastosowania: Aby dokonać ataku tworzymy plik z adresami. Na przykład poleceniem: echo '10.1.1.5 www.wp.pl' >> adresy Następnie uruchamiamy profram dnsspoof: dnsspoof -f adresy Podczas pracy programu powinniśmy dostawać komunikaty o podaminach pakietów, np.: angband ~ # dnsspoof -f adresy dnsspoof: listenig on eth0 [udp dst port 53 and not src 10.1.1.5] 10.1.1.7.1024 > 10.1.1.2.53: 20683+ A? www.wp.pl Uwaga: dnsspoof wymaga bezpośredniego dostępu do sieci. W sieciach opartych na przełącznikach wymaga wcześniejszego ataku ARP-spoofing. Aby sprawdzić działanie można uruchomić lokalny serwer ww poleceniem: /etc/init.d/apache2 start A następnie umieścić podrobioną stronę www w katalogu: /var/www/localhost/htdocs/ macof (pakiet dsniff) Program macof z pakietu dsniff jest narzędziem pozwalającym na wykonanie ataku MAC flooding. Znaczenie ataku tego typu spada wraz z powstawaniem nowocześniejszych typów przełączników sieciowych. Składnia polecenia: macof [-i interface] [-s src] [-d dst] [-e tha] [-x sport] [-y dport] [-n times] -i interface Określa interfejs sieciowy -s src Źródło: wiki.kis.p.lodz.pl 5
Określa adres żródłowy IP -d dst Określa adres docelowy IP -e tha Określa docelowy adres sprzętowy -x sport Określa port żródłowy -y sport Określa port docelowy -n times Określa liczbę wysłanych pakietów Sprzętowe adresy żródłowe są generowane losowo. dsniff Sniffer pozwalający na wychwytywanie haseł z transmisji sieciowych. Omówione powyżej narzędzia są dołączane do programu dsniff. Działanie programu dniff nie stanowi tematu dzisiejszych zajęć. W związku z tym zainteresowanych odsyłam do manuala systemowego: man dsniff Źródło: wiki.kis.p.lodz.pl 6