w przełączanym środowisku sieciowym pakiety są wysyłane do portu docelowego za pomocą adresu MAC. Proces ten wymaga, aby systemy w sieci utrzymywały tabelę powiązującą adresy MAC z portami. W środowisku przełączanym pakiety są wysyłane tylko do urządzeń, do których są przeznaczone. Nawet w tym przełączanym środowisku istnieją sposoby na wąchanie pakietów innych urządzeń. Jednym z takich sposobów jest sfałszowanie adresu MAC i zatrucie tabeli arp. Ponieważ arp nie przechowuje informacji o stanie, bufor arp może zostać nadpisany (chyba że wpis jest wyraźnie oznaczony jako stały).
zatrucie pamięci podręcznej Arp pozwala atakującemu przechwycić komunikację między dwoma komputerami. Komputer A uważa, że komunikuje się z komputerem B, ale z powodu zatrutej tabeli arp, komunikacja faktycznie trafia do komputera atakującego. Atakujący może wtedy odpowiedzieć na komputer A (udając komputer B) lub po prostu przekazać pakiety do zamierzonego miejsca docelowego, ale dopiero po przechwyceniu informacji o pakietach i zapisaniu ich do późniejszego wykorzystania przez atakującego. Podobnie, odpowiedź z komputera B może być przechwycona i zarejestrowana przez atakującego, który również użył zatrucia Arp, aby komputer B myślał, że komputer atakującego to komputer A. Ten rodzaj ataku jest znany jako atak Man In The Middle.
ten artykuł opisuje wiele narzędzi używanych w atakach zatrucia pamięci podręcznej arp, w tym ettercap, arpspoof, nemesis, p0f, dsniff i scapy.
uruchamianie Ettercap
aby doszło do zatrucia pamięci podręcznej arp, atakujący musi znajdować się w tym samym segmencie sieci, co atakowane systemy. Pierwszym krokiem jest uzyskanie listy adresów IP i powiązanych z nimi adresów MAC. Kilka narzędzi pomoże ci uzyskać te informacje; jednym z przykładów jest narzędzie o nazwie ettercap (http://ettercap.sourceforge.net/). Ettercap jest pakietem dla ataków man in the middle na lokalną sieć LAN. Oferuje wąchanie połączeń na żywo, filtrowanie treści w locie i wiele innych. Ettercap obsługuje aktywne i pasywne rozwarstwienie wielu protokołów niektóre z kilku protokołów. Następujące polecenie:
# ettercap -T -M arp:remote //
szybko powącha wszystkie hosty w podsieci; aby wyświetlić wyniki, wpisz L lub naciśnij h W menu Pomoc, a zobaczysz listę poleceń.
Arp Cache DOS
aby ARP zatruć dany adres IP i wyłączyć system w trybie offline, aby nie mógł się z nikim komunikować, użyj arpspoof z pakietu dsniff (http://monkey.org/~dugsong/dsniff/), bezpłatnego zestawu narzędzi do audytu sieci i testów penetracyjnych. Pakiet dsniff zawiera narzędzia takie jak dsniff, filesnarf, mailsnarf, nsgsnarf, urlsnard i webspy, które pasywnie monitorują sieć w poszukiwaniu interesujących danych. (Narzędzia Arpspoof, dnsspoof i macof ułatwiają przechwytywanie ruchu sieciowego normalnie niedostępnego dla atakującego z powodu przełączania warstwy 2.)
Arpspoof (http://arpspoof.sourceforge.net/) jest znacznie prostszy niż ettercap do przekierowywania pakietów:
# arpspoof-i eth0-t<target> host
podanie interfejsu jest opcjonalne, ale wymagane, jeśli istnieje więcej niż jeden interfejs. Opcja-t określa konkretnego hosta dla ARP poison; jeśli host nie jest podany, wszystkie hosty w sieci LAN zostaną zatrute. Host może być bramą domyślną, dzięki czemu obiekt docelowy nie będzie komunikował się poza lokalnym segmentem. Arpspoof przekierowuje pakiety z hosta docelowego lub wszystkich hostów w sieci LAN, podrabiając odpowiedzi ARP. Piękno tego programu pochodzi z funkcji arp_send (), która również używa libnet do fałszowania pakietów. arp_send () wysyła jeden pakiet arp ze źródłowym/docelowym adresem IP i sprzętowym adresem Ethernet dostarczonym przez użytkownika. Libnet to ogólne API sieciowe, które zapewnia dostęp do kilku protokołów.
aby lepiej zrozumieć proces zatrucia pamięci podręcznej arp, rozważ alternatywne narzędzie o nazwie Nemesis. Jeśli masz IP i MAC zamierzonego celu i hosta, możesz użyć Nemesis, aby arp zatruć cel. Nemesis (http://nemesis.sourceforge.net/) to narzędzie do tworzenia i wstrzykiwania pakietów sieciowych z linii poleceń. Nemesis może wytwarzać i wstrzykiwać pakiety ARP, DNS, ETHERNET, ICMP, IGMP, IP, OSPF, RIP, TCP i UDP. Tworząc własny pakiet za pomocą Nemesis, możesz zobaczyć, jak działa zatrucie pamięci podręcznej arp:
$ sudo nemesis arp -v -r -d eth0 -S 192.168.1.2 \-D 192.168.1.133 -h 00:22:6E:71:04:BB -m 00:0C:29:B2:78:9E \-H 00:22:6E:71:04:BB -M 00:0C:29:B2:78:9E
następnie tworzysz pakiet do wysłania w innym kierunku:
$ sudo nemesis arp -v -r -d eth0 -S 192.168.1.133 \-D 192.168.1.2 -h 00:22:6E:71:04:BB -m 00:22:6B:7E:AD:7C \-H 00:22:6E:71:04:BB -M 00:22:6B:7E:AD:7C
te dwa polecenia fałszują odpowiedzi ARP od 192.168.1.2 do 192.168.1.133 następnie od 192.168.1.33 do 192.168.1.2. Opcja Arp Nemesis-s określa źródłowy adres IP, -d określa docelowy adres IP, -h określa adres MAC nadawcy, -m pokazuje docelowy adres MAC,- H źródłowy adres MAC, a-m docelowy adres MAC. Te dwa polecenia wysyłają fałszywe odpowiedzi ARP, aby zatrutoczyć bufory ARP i przekierować ruch.
aby upewnić się, że pamięć podręczna pozostaje zatruta, powtórz polecenia co 10 sekund za pomocą pętli.
$ while true>do> sudo nemesis arp -v -r -d eth0 -S 192.168.1.2 \-D 192.168.1.133 -h 00:22:6E:71:04:BB -m 00:0C:29:B2:78:9E \-H 00:22:6E:71:04:BB -M 00:0C:29:B2:78:9E> sudo nemesis arp -v -r -d eth0 -S 192.168.1.133 \ -D 192.168.1.2 -h 00:22:6E:71:04:BB -m 00:22:6B:7E:AD:7C \-H 00:22:6E:71:04:BB -M 00:22:6B:7E:AD:7C> echo "Redirecting"> sleep 10> done
gdy to zrobisz, pole docelowe zostanie wyłączone i nie będzie w stanie komunikować się z resztą sieci. Zrobiłem film na mojej stronie, który demonstruje ten atak i jest dostępny pod adresem http://pbnetworks.net.
Sniffing the LAN
jednym z celów zatrucia pamięci podręcznej arp jest umieszczenie atakującego w pozycji do przechwytywania i rejestrowania informacji o sieci. Intruzi mają kilka narzędzi do nasłuchiwania w sieci LAN i rejestrowania danych do późniejszej analizy.
tryb mostu Ettercap pozwala przechwytywać pakiety, które można następnie odczytać, powąchać lub zmienić przed wysłaniem do ofiary. Tryb Bridge wymaga dwóch interfejsów umieszczonych w segmencie sieci. Jeśli skonfigurujesz tryb inline z mostkiem sieciowym, bardzo trudno cię wykryć.
# ettercap -Tq -i eth0 -B eth1
– i ustawia podstawowy interfejs jako eth0,- B ustawia drugi interfejs pomostowy. Jeśli uruchomisz ettercap w interfejsie użytkownika GTK+, wybierz Sniff | Bridged sniffing.