ARP POISONING

Farklı ağlar arasında veri aktarımı yapılırken paketler network layer’da IP adreslerine göre yönlendirilirler. Local alanda veri iletimi yapılırken ise paketler data link layer’da MAC adreslerine göre iletilirler. Local networkte cihazların birbirleriyle haberleşmesi ARP protokolü sayesinde MAC adreslerine göre yapılır.

ARP protokolü, cihazlar üzerinde IP-MAC çözümlemesini yapıp bu eşleşmelerin tabloda saklanması için kullanılır. ARP Cache adlı tabloda local network’teki tüm MAC adresleri ve o adreslerle eşleşmiş IP adresleri saklanır. Her cihaz kendi ARP Cache tablosunu bulundurur ve ağ içerisinde meydana gelen değişiklikleri, tabloyu güncelleyerek saklar. Örneğin ağa yeni bir cihaz bağlandığında diğer cihazlar kendi ARP tablolarına yeni gelen cihazın IP-MAC bilgilerini ekler veya bir cihaz ağdan devre dışı olduğunda diğer cihazlar kendi ARP tablolarından ilgili cihazın IP-MAC bilgisini siler.

Çalışma mantığı:

Local networkte bir paket yönlendirilmek üzere switche geldiği zaman ilk olarak hedef IP adresi için MAC, adres tablosunda kayıt olup olmadığı kontrol edilir. Hedef MAC adresi tablodan öğrenilebildiyse paket o MAC adresinin bulunduğu interface’e yönlendirilir. Eğer MAC adresi tabloda yoksa cihaz ağdaki tüm hostlara “Bu IP adresi kime ait ve MAC adresi nedir?” şeklinde ARP broadcast paketi gönderir(tüm hostlara ARP Request yapılmış olur). Bu broadcast paketini tüm hostlar almasına rağmen sadece ilgili IP adresinin sahibi olan host kendi MAC adresini cevap olarak gönderir yani ARP Replay yapar.

Şekil 1’deki topolojide New_Host isimli bilgisayar ağa yeni dahil olmuştur. Sevin_PC isimli host New_Host’a paket gönderebilmek için önce ağdaki tüm cihazlara broadcast paketi göndererek kendisindeki IP adresine sahip olan MAC adresli kullanıcıyı bulmaya çalışır. Bu broadcast’e ilgili IP adresinin sahibi olan New_Host isimli kullanıcı cevap verir. Bu işlemden sonra ağdaki tüm cihazla ARP Cache’lerini güncelleyerek New_Host kullanıcısının IP-MAC eşleşmesini eklerler. Böylece Sevin_PC ile New_Host arasımda sağlıklı veri iletişimi gerçekleşebilir

Senaryoda routerın sol tarafındaki 10.100.10.0/24 networkündeki cihazlar routerın sağ tarafındaki farklı bir network olan cloud ile iletişim kurabilmek için paketler 10.100.10.1 ip adresli default gateway’e gönderirler. Sevin_PC isimli kullanıcı www.uitsec.com adresli web sitesine erişmek için isteğini default gateway e gönderir ve ilgili yönlendirmeyi router yapar.

MAC cache tablosunun doldurulmasını ARP broadcast ile yapıldığını söylemiştik. Networke bağlı olan bir saldırgan gateway’in ip adresini ve kendi MAC adresini içeren ARP anonsları yaparsa diğer cihazlar MAC adres tablosunu güncelleyerek artık default gateway’e ulaşmak istediğinde gitmesi gereken cihaz olarak saldırganın ip adresini görürler. Saldırgan www.uitsec.com adresine gitmek üzere kendisine gelen bu paketleri dinleyip okuyabilir, gerçek default gateway adresine yönlendirir ve internet sayfasından gelen cevap router tarafından tekrar saldırgana gönderilir. Çünkü router’a bu istek paketini gönderen cihaz saldırganın cihazıydı. Saldırgan, yine bu cevap paketlerini de inceleyerek gerçek Sevin_Pc ‘ye yönlendirir. Bu işlem sırasında tüm paketler saldırgan üzerinden geçtiği için şifreleme kullanılmadıysa tüm paketlerin içeriğine erişebilir. Sevin_PC kullanıcısı bir web sayfası açmak istemiş ve sonuçta sayfa açılmıştır, bağlantıda herhangi bir aksama olmadığı için şüphelenmez ama aslında paketler saldırgan kişi tarafından kendisine gelmektedir.

Saldırı Adımları:
1-)Kurban cihaz üzerindeki mevcut arp tablosunun görüntülenmesi.
2-)Saldırgan cihaz üzerindeki mevcut arp tablosunun görüntülenmesi.
3-) Saldırgan cihaz üzerinde ettercap uygulamasının başlatılması. Uygulama üzerinde menüden Sniff -> Unified Sniffing seçeneği işaretlenerek ilgili interface işaretlenir
4-)Ettercap üzerinde menüden [ Hosts -> Scan for hosts ] seçeneği ile networke bağlı cihazlar taranır ve [ Hosts-> Host Lists ] seçeneği ile bulunan cihazlar görüntülenir.
5-)10.100.2.6 ip adresine sahip olan ve zehirleme yapılacak cihaz Add to Target 1 ‘e eklenir. Ulaşmak istediği 10.100.2.58 adresli web sayfası zaten local ağda bulunduğu için router’ı zehirlememize gerek yoktur. Local’in dışına çıkacak olsaydı 2. Hedef olaraf router eklenirdi. Fakat şuan direkt client ve server arası iletişim kurulduğu için 2.hedef olarak 10.100.2.58 adresli web sunucusu eklenir.
6-) Menü üzerinden Start-> Sniffing seçneği ile dinleme başlatılır.
7-)Menü üzerinden Mitm-> Arp Poisoning seçeneği ile saldırı türü olarak Arp poisining seçilir. Sorgu ekranında sniff remote connection seçeneği seçili olmalıdır.
? Ettercap avantajlarından birisi de ekstra kullanıbilecek Plugin’lerdir. Menü üzerinde [ Plugins -> Manage plugins ] seçeneği ile plugin’ler incelenebilir.Örneğin Arp poisoning saldırısının başarılı olup olmadığını test etmek için chk_poison eklentisi kullanılabilir. Bu saldırı için aktif ettiğimiz diğer pluginler ; Repoison_arp belirli aralıklarla zehirlemeye devam eder böylece Mac adres tablosunda ki girdi için süre dolup girdi silindiğinde tekrardan tabloyu doldurur.
9-)Kurban cihaz üzerinde tekrardan arp tablosu incelendiğinde saldırının doğru şekilde gerçekleştiği ve ping attığı adres olarak saldırganın MAC adresi yazılı olduğu görülür.

ARP Poisoning Önleme Yöntemleri:

Subnetting : Networkü küçük Vlan’lere bölmek ve yetkili kullanıcıları dış ortamdan soyutlamak arp poisoning saldırısının yüzeyini azaltmaktadır.
Encryption: Network üzerinde akan trafik şifrelenirse paketler ele geçirilse dahi okunamadığı için işe yaramayacaktır.
Static ARP : Arp tablosunun statik olarak doldurulması arp anonslarına ihtiyacı ortadan kaldıracağı için bu saldırı önlenmiş olur ancak büyük networkler için uygulanabilirliği düşüktür.
İç networkte IDS(Intrusion Detection System) veya ARP Wathcher kullanarak sistemi gözlemlemek. Örneğin ArpON ve Arpalert gibi açık kaynak kodlu araçlar kullanılarak ARP protokolünün güvenli bir şekilde çalışması sağlanmış olur.
Network firmaları tarafından satılan ürünlerde ARP security veya Dynamic ARP Inspection özellikleri aktif hale getirilerek saldırı önlenebilir.

Şevin Turan
11/07/2016