1.0 ARP Nedir?
ARP yani “Address Resolution Protocol” bir LAN ortamında IP Adresi bilinen ama MAC adresi bilinmeyen cihazın MAC adresini öğrenmek için kullanılır. Cihazlar birbirleri arasında MAC adresi ile iletişim kurarlar . Örnek olarak diyelim ki “cüneyt-laptop” isimli cihazından bir paket yolluyoruz. Hedef cihazımız da “mücahit-pc” olsun. Bu paket hedef cihazın yani mücahit-pc’in MAC adresini bulmak istediğinde ağ katmanında ilk olarak ARP cache’inde veya ARP tablosunda MAC adresini arar. Eğer burada MAC adresi var ise kullanılır yok ise ARP protokolü çalışır.
Yukarıda gördüğünüz ARP Tablosuna windows işletim sisteminde “arp -a” komutu ile erişebilirsiniz. Benim gibi arch linux kullanıyorsanız(i use arch btw(0–0)) “net-tools” paketini kurduktan sonra yine “arp -a” komutuyla ya da yok ben paket kurmam diyorsanız “ip neigh” komutuyla ARP tablonuza erişebilirsiniz.
1 .1 Nasıl Çalışır?
ARP Tablosunda mücahit-pc’in MAC adresinin bulunmadığı senaryoya dönecek olursak;
Bu noktada cüneyt-laptop bir ARP Request paketi generate edip içinde bulunduğu LAN ortamına broadcast edecektir. Oluşturduğu paketin içeriğinde ise şunlar bulunacak:
Kaynak MAC adresi: 00–53–ff–ff–bb–bb
Kaynak IP adresi: 10.0.0.22Hedef MAC adresi: 00–00–00–00–00–00
Hedef IP adresi: 10.0.4.44
Bu paket cüneyt-laptop’in içinde bulunduğu ortamdaki tüm cihazlara iletilecek. Hedef IP adresi kısmındaki cihaza iletildiğinde ise(ki bu mücahit-pc oluyor)cihaz bu paketi açıp hedef IP adresinde kendi IP adresini gördüğü için paketi alacak.
Wireshark ile bir ARP Request paketini incelediğimizde böyle gözüküyor:
Paketin içeriğinde kendi IP adresini gören hedef cihazımız ise cevap olarak bir ARP Reply paketi generate edecektir.
Oluşturduğu paketin içeriğinde ise şunlar bulunacak:
Kaynak MAC adresi: 00–53–ff–ff–99–99
Kaynak IP adresi: 10.0.4.44Hedef MAC adresi: 00–53–ff–ff–bb–bb
Hedef IP adresi: 10.0.0.22
Bu paket ise unicast olarak karşı tarafa iletilir. Böylece cüneyt-laptop ile mücahit-pc’in MAC adresi alışverişi sona erer.
Wireshark ile bir ARP Reply paketini incelediğimizde böyle gözüküyor:
2.0 ARP Poisoning
ARP Poisoning senaryosunda ise saldırganımız içinde bulunduğu LAN ortamına sürekli olarak ARP Reply paketleri broadcast edecektir. Bu noktada aynı ortamdaki farklı bir cihaz ARP Request paketi yolladığı anda saldırgan tarafından broadcast edilen ARP Reply paketlerinden birini alacaktır. Böylece saldırganımız kendini gateway gibi gösterecek ve kurban cihazın tüm trafiğini üzerinden geçirebilecektir. ARP Poisoning saldırısı MITM yani Man in The Middle saldırıları kategorisi içerisinde yer almaktadır.
2.1 Örnek Uygulama
Gelelim bu atağı nasıl gerçekleştireceğimize. Bu senaryo için bir saldırgan (Kali) bir hedef cihaz’a(windows) ihtiyacımız var. Bu iki cihazı sanal makine olarak ayağa kaldırdıktan sonra yapmamız gereken ilk şey saldırgan cihazımızdan kendi MAC adresimize bakmak.
Burada “ether” kısmından sonra gördüğümüz kısım saldırgan kalimizin MAC adresi. (08:00:27:cb:7e:f5) Amacımız bu MAC adresini hedef cihazın ARP tablosuna spoof edip kendimizi gateway gibi göstermek.
İlk olarak netdiscover aracı ile içinde bulunduğumuz aralığı ilgili interface’i belirterek tarıyoruz ve target olarak belirlediğimiz cihazı buluyoruz.
└─$ netdiscover -r 10.0.2.0/24 -i eth0
Benim için 10.0.2.5 adresinde hedef cihazım var. Windows makinemizden IP adresini doğrulayalım.
Edindiğimiz bilgiler ile tek yapmamız gereken ilgili araçlar ile atağı başlatmak. Ben bu senaryo için Ettercap’i grafik arayüzü ile kullanacağım.
Aracımız açıldığında zaten ilgili interface seçili şekilde geliyor. Burada olağan dışı bi senaryo olmadığı müddetçe bir şey değiştirmeye gerek yok.
Sağ üstte bulununan tik işaretine tıkladığımızda Ettercap bizim için içinde bulunduğumuz ortamdaki trafiği sniff ederek şimdiye kadar netdiscover ile öğrendiğimiz ve windows cihazımızdan doğruladığımız bilgileri getiriyor.
Sırada yapmamız gereken şey sniffing işlemi bittikten sonra host olarak eklenen cihazları target olarak eklemek olacak. Bunu sağ üstte bulunan 3 noktadan targets kısmına gittiğimizde yapabiliriz.
Target 1 kısmına hedef cihazımızı ve Target 2 kısmına Gateway’imizi ekledikten sonra ARP poisoning seçeneğini seçerek atağı başlatıyoruz.
Atağı başlattıktan sonra Wireshark ile trafiği dinlemeye ve incelemeye başlayıp arkamıza yaslanabiliriz. ૮ ˶ᵔ ᵕ ᵔ˶ ა
Hedef cihazımızdan ARP tablomuza baktığımızda Gateway’imizin MAC adresinde saldırgan kali’nin MAC adresinin olduğunu görüyoruz.
Wireshark ile incelediğimizde 10.0.2.5 adresinde bulunan hedef cihazımızın trafiğinin üzerimizden geçtiğini gözlemleyebiliyoruz.
Bu noktadan sonrası tamamen saldırganın hayal gücüne kalmış ki bizde öyle bırakalım ve geçelim bu saldırıdan nasıl korunacağımıza.
3.0 Korunma Yöntemleri
ARP Poisoning saldırısından korunmak için bir çok yöntem var ve bazılarını şu şekilde sıralayabiliriz:
3.0.1 — Dynamic ARP Inspection aktif hale getirilmeli
3.0.2 — ARP Security aktif hale getirilmeli
3.0.3— Vlan konfigurasyonları ile Network küçük parçalara ayrılarak izolasyon sağlanmalı.
3.0.4— Ağ içerisindeki trafik şifrelenmeli. Saldırgan saldırıyı gerçekleştirse bile trafik şifreli olduğundan hassas bilgilerin sızdırılması riski minimize edilmiş olur.
3.0.5 — IP/MAC eşleşmeleri port bazlı tutulmalı. Böylece hangi porttan hangi MAC adresinin çıkacağı belirlendiğinden spoofing saldırısının önüne geçilebilir.