[PL]ARP Spoofing - #informatycznie

in #pl-artykuly7 years ago

Cześć!
Jako że artykuł o atakach Man in the Middle się przyjął, postanowiłem iść za ciosem i napisać kolejny dotyczący atakowania sieci. W tym opiszę czym dokładnie jest ARP Spoofing i jak to działa :)

Co to jest ARP?

Wspominałem już o tym w poprzednim artykule, ale tutaj opowiem o tym nieco dokładniej. Komputery, które łączą się ze sobą w sieci lokalnej muszą znać swoje adresy MAC. Aby komputery mogły je poznać wykorzystuje się tak zwany protokół ARP ( Address Resolution Protocol ). Komputer wysyła specjalny pakiet do wszystkich komputerów w danej sieci lokalnej, a następnie oczekuje odpowiedzi. W idealnym świecie na taki pakiet odpowie tylko i wyłącznie komputer, którego adres IP zgadza się z tym wysłanym w pakiecie. Odpowie oczywiście swoim adresem MAC, przez co komputery będą "znały się" wzajemnie. Aby uniknąć wysyłania zbyt dużej ilości danych, adresy MAC wraz z odpowiadającymi im adresami IP zapisywane są w komputerze, tak aby nie było potrzeby odszukiwania odpowiednie adresu MAC za każdym razem gdy chcemy coś wysłać.

Czym jest ARP Spoofing?

ARP Spoofing to atak polegający na wysłaniu sfałszowanych pakietów ARP. Pozwala to przypisać danemu adresowi IP inny adres MAC niż ten, które powinien zostać przypisany. Przez takie przypisanie, pakiety wysyłane na dany adres IP nie trafią do odpowiedniego komputera, ponieważ do tego adresu IP przypisany będzie zły adres MAC.



By 0x55534C - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=15034709

Po co to robić?

Po odpowiednim sfałszowaniu pakietów ARP, czyli po przypisaniu adresów IP do niewłaściwych adresów MAC możemy:

  • Wykonać atak DoS ( Denial of Service ), czyli przekierować wszystkie pakiety w danej sieci, niezależnie od tego na który adres IP były wysyłane, do jednego komputera. Spowoduje to całkowity paraliż sieci,
  • Wszelkiego rodzaju ataki Man in the Middle - po odpowiednim przekierowaniu pakietów możemy otrzymywać dane, które niekoniecznie powinniśmy, a następnie je modyfikować i przesyłać dalej. Mogą to być numery kont bankowych, hasła itp.

Jak wykonać taki atak?

Najgorsze jest to, że nie jest to wcale trudne. Istnieje wiele darmowych narzędzi pozwalających na wykonywanie tego typu ataków. Nie będę opisywał tego tutaj dokładnie, ze względu na to że kradzież danych to przestępstwo, ale powiem jak się przed tym bronić.

Jak się bronić?

  • Stosowanie protokołów szyfrujących, na przykład SSH oraz HTTPS. Zaszyfrowane informacje nie zostaną odszyfrowane na komputerze hakera, co spowoduje że nie dobierze się on do nich. Haker jest wprawdzie w stanie zablokować wysyłanie takich pakietów do nas, co spowoduje że nie będziemy mogli korzystać z Internetu, ale będziemy mieć pewność że nie wykradnie naszych danych.
  • Ręczne przypisanie adresów IP do adresów MAC w każdym komputerze, oraz wyłączenie możliwości edycji tych danych. Spowoduje to, że pomimo otrzymania sfałszowanego pakietu ARP komputer po prostu go odrzuci.
  • Rozwiązania software'owe - istnieje oprogramowanie pozwalające na wykrywanie sfałszowanych pakietów ARP.
  • Łączyć się tylko z zaufanymi sieciami - polecam unikać wszelkiego rodzaju podejrzanych, otwartych sieci WiFi i dbać o to, aby do naszej sieci nikt się nie podłączał. Pozwoli to skutecznie obronić się przed tego rodzaju atakami.
Sort:  

Słyszał ktoś o specjalnych systemach operacyjnych takich jak kali linux ? Na start dostajemy wszystko co niezbędne i dużo dużo więcej. Jest nawet taki fajny skrypt który bardzo by się przydał poczotkującemu - lazy script. Można to pobrać z githuba a wygląda to mniej wiecej tak
image
I wszystko staje się banalnie proste, klikamy numerki i wpisujemy co trzeba.
Nikogo oczywiście nie namawiam tylko chcę uświadomić JAK bardzo jest to proste. Arp spoofing też da radę przez ten skrypt 😄

No właśnie najgorsze jest to, że każdy może przeprowadzić taki atak. Poza specjalnymi dystrybucjami Linuxa jest masa gotowych aplikacji, zarówno na komputery jak i na telefony, które po kilku kliknięciach zaczną przechwytywać hasła :(

Powiem ci, że próbowałem to i owo windowsie, niestety z marnym skutkiem. Może ja coś robiłem nie tak, w takiej kwestji najlepiej sprawdzi się oczywiście linux :)