Ana sayfa » ARP Spoofing ile MITM Saldırısı
Atak ve Savunma

ARP Spoofing ile MITM Saldırısı

arp spoofing

ARP Spoofing

Öncelikle konumuz olan ARP Spoofing bir başka değişle ARP Poisoning adlı saldırı çeşidimizi incelemeden önce ARP’nin ne olduğundan ve ne amaçla kullanıldığından bahsetmek yerinde olacaktır.

NOT: Yazının içinde kullanılan (W)LAN kelimesindeki “W” harfi Wireless yani kablosuz bağlantıları belirtmek içindir. LAN ise kablolu bağlantıları belirtmektedir. (W)LAN şeklinde kullanılarak hem WLAN hem de LAN denilmek istenmektedir.

ARP Protokolü

Başlıktanda anlayacağınız üzere ARP bir protokoldür. Yani bir iletişim görevinin yerine getirilebilmesi için önceden belirli standartlar dahilinde tanımlanmış kurallar bütünüdür. Nasıl HTTP protokolü, browser(client) ve sunucu(server) arasındaki web sayfalarının aktarımının nasıl gerçekleşeceğinden sorumlu ise ARP’nin de buna benzer kendisine ait sorumlulukları vardır. Bu tanımlar bağlamında ARP; ağ katmanında elde edilen adreslerin yani IP adreslerinin veri bağlantı katmanı adreslerine yani MAC adreslerine çözümlenmesi sağlayan bir iletişim protokolüdür. Aynı zamanda bu protokolümüz OSI Modelinde 3. katmana denk gelen Ağ katmanında(Network Layer) çalışmaktadır.

(W)LAN IP ve WAN IP Kavramları

İnternete bağlanan her cihazın kendisine ait bir MAC adresi vardır ve bu MAC adresi sayesinde cihazlar birbirleri ile sağlıklı bir şekilde iletişim kurabilirler. Tabi bu cihazların MAC adresleri üzerinden birbirleri ile iletişim kurabilmeleri için aynı ağda bulunmaları şarttır. Aynı ağda bulunmayan cihazların, başka ağlardaki cihazlar ile iletişim kurması IP adresleri aracılığı ile gerçekleşmektedir. Tabii her cihazın hem (W)LAN içerisinde hem de dış dünyada(internette) kendisine ait bir IP adresi vardır. Hatta bu (W)LAN içerisindeki IP adreslerine Private IP dış dünyadaki yani internetteki, bir başka değişle WAN içerisindeki ip adreslerine ise Public IP adı verilmektedir. Fakat ben yazımda (W)LAN IP ve WAN IP terimlerini kullanacağım. Bu iki IP adresi karıştırılmamalıdır. İsterseniz bir örnekle bu (W)LAN IP ve WAN IP kavramlarını iyice anlayalım.

İnternete bağlı her bir cihazın iki adet ip adresi olur. Bunlardan bir tanesi (W)LAN içerisinde kullanılırken diğeri ise WAN içerisinde yani internet ortamında kullanılır. Genelde (W)LAN içerisindeki cihazların IP adresleri 192.168.1.2 – 192.168.1.3 – 192.168.1.5 veya 10.0.2.1 – 10.0.2.4 gibi düzenli ve sıralı bir şekilde atanırken WAN içerisindeki IP adresleri ise (W)LAN içerisindeki tüm cihazlar için genelde tek bir tanedir. Eğer bir home kullanıcısı iseniz. ve 81.213.210.** – 43.21.56.** gibi (W)LAN IP adresinden tamamen farklı bir şekilde atanır. Bu atama işlemi ise internete bağlandıkları router(modem) tarafından gerçekleştirilir. Bunlara ek olaraktan WAN IP yani Public IP adresiniz size servis sağlacınız tarafından verilmektedir. Hatta (W)LAN IP adresinizin WAN IP adresine dönüşümü işlemine NAT(Network Adress Translation) adı verilmektedir.

local ip adress

(W)LAN IP ve WAN IP kavramını burada sonlandırmak istiyorum. Şimdi ise (W)LAN IP yani Private IP kısmına odaklanarak ARP protokolü ile olan ilişkisini incelemeye başlayalım.

ARP Protokolü Nasıl Çalışır

Yazımızın başında (W)LAN içerisindeki cihazların MAC adresleri vasıtası ile haberleştiğini belirtmiştim. Peki LAN içerisindeki cihazlar nasıl olacakta birbirlerinin MAC adreslerini öğrenecekler? İşte bu sorunun yanıtı ARP Protokolünde gizli. Her cihaz bulunduğu ağ içindeki cihazların ip adreslerini ve bu ip adreslerine ait MAC adreslerini ARP CACHE adı verilen bir tabloda tutar. Herhangi bir cihaz bulunduğu ağ içerisindeki bir başka cihaz ile haberleşmek isteyeceği zaman ARP CACHE tablosuna bakar ve bu tablodan iletişime geçmek istediği cihazın MAC adresini öğrenir ve iletişimi başlatır. Bu ARP CACHE tablosunu da ARP PROTOKOLÜ  vasıtası ile doldurur. Şimdi gelelim bu işlemi nasıl yaptığına.

(W)LAN içerisindeki her bir cihaz broadcast olarak ağdaki tüm IP adreslerine ARP REQUEST paketi gönderir. Bu ARP REQUEST paketi ağda bulunan diğer cihazlara ulaştığı vakit, her bir cihaz kendi MAC adresini ve IP adresini içeren ARP REPLY adlı paketini ARP REQUEST paketini gönderen cihazın IP adresine yanıt olarak gönderir. Bu şekilde ARP REQUEST paketini gönderen cihaz ağdaki diğer tüm cihazların MAC adreslerini ve bu MAC adresleri ile ilişkilendirilmiş olan IP adreslerini öğrenmiş olur. Sonra bu bilgileri ARP CACHE adı verilen tablosuna kaydeder. Bu süreç ağdaki diğer tüm cihazlar için aynı şekilde gerçekleşmektedir.

ARP Spoofing Nedir?

Artık ARP Spoofing ile MITM atak saldırısı yapmak için gerekli olan tüm ön bilgileri öğrendik. Bu bilgiler bağlamında ARP Spoofing; bir cihazın bilerek ağdaki bir başka cihaza SAHTE ARP REPLY paketi yollaması ve bu cihazın ARP CACHE tablosuna müdahale etmesi olarak tanımlanabilir. Bu tanımdan da anlaşılacağı üzere, aynı ağda bulunduğumuz bir cihazın ARP CACHE tablosuna ARP REPLY paketleri ile müdahale edebiliriz. Çünkü aynı ağ içerisinde ARP paketleri güvenilir kabul edilir. Ne için geldiği ve neden geldiği sorgulanmaz. İşte bu durum iyi veya kötü amaçla kullanılarak aynı ağdaki tüm cihazların ARP CACHE tablolarına müdahale için kullanılabilir.

Hedef cihazın ARP CACHE tablosu değiştirilerek modem ile hedef cihaz arasındaki veri akışının ortasına kendimizi yerleştirebiliriz. Böylelikle hedef cihazın internete gönderdiği her veri ilk olarak bizim bilgisayarımıza gelecek oradan modeme yönlenecektir. Bu durum bize hedef cihazın internette yaptığı her şeyi “sniff” edebilme olanağı sağlar. Bu saldırının da amacı tamamen budur. İsterseniz şimdi bu bahsettiğimiz işlemin nasıl gerçekleşeceğini bir teori üzerinden inceleyelim. Bu arada MITM olarak kısalttığım şey (Man in the middle attack) demektir. Yani Türkçesi ile “Ortadaki Adam Saldırısı” demektir.

Saldırı Teorisi

  1. Ağdaki hedef cihaza router ip adresini ve kendi mac adresimizi içeren sahte bir SAHTE ARP REPLY paketi yollanır. Bu işlem ile hedef cihaza, “hey dostum ben modemim ve mac adresim şu” demiş oluyoruz.
  2. Bu SAHTE ARP REPLY paketini alan hedef cihaz, ARP CACHE tablosunu bu gelen paketteki değerler ile günceller. Bu işlem ile hedef cihaza kendimizi modem gibi tanıtmış oluyoruz.
  3. Ağdaki routera bir başka değişle modeme hedef cihazın ip adresini ve kendi mac adresimizi içeren SAHTE ARP REPLY paketi yollanır. Bu işlem ile modemimize “hey dostum ben hedef cihazım ve mac adresim şu” demiş oluyoruz.
  4. Bu SAHTE ARP REPLY paketini alan modem, ARP CACHE tablosunu bu gelen paketteki değerler ile günceller. Bu işlem ile modeme kendimizi hedef cihaz gibi tanıtmış oluyoruz.

mitm attack

Tüm bu işlemler başarı ile yapıldıktan sonra, hedef cihaz bizi ROUTER olarak tanıyor olacak ve internete bir veri paketi göndereceği zaman bizi ROUTER olarak bildiği için bu paketi bizim bilgisayarımıza göndermiş olacak. Bizde bu paketi modeme iletmiş olacağız. Modemde internetten hedef cihaza gelen veriyi bize iletecek çünkü, modeme kendimizi hedef cihaz olarak tanıttık. Bizde gelen bu veriyi hedef cihaza iletmiş olacağız. Dolayısıyla bu senaryoda Ortadaki Adam biziz.

MITMF Aracı İle ARP Spoofing Saldırısı

ARP Spoofing yapabilmek için birçok yöntem var, fakat ben bu yöntemler içinden en çok mitmf adlı programı başarılı buldum ki, zaten bir hayli popülerdir kendileri. Ben kali linux kullanıcısı olduğum için bu uygulama otomatik yüklü olarak geliyor. Eğer kali linux kullanmıyorsanız, uygulamayı uygulamanın github sayfasından indirip kurabilirsiniz. Bende bu verdiğim linkten indirip, tekrar kurdum. Çünkü default olarak gelen sürümünde bazı sıkıntılar mevcut. Bunları aşmak için sizlere de uygulamanın en güncel sürümünü kurmanızı tavsiye ediyorum. Uygulamayı kurduktan sonra çalışmalara başlıyabiliriz. İsterseniz adım adım gidelim.

1.Öncelikle bulunduğumuz ağdaki cihazları taratalım. Bunu birçok yöntemle yapabiliriz. İster zenmap adlı uygulama ile ister basit bir arp-scan komutu ile istersenizde netdiscover adlı bir uygulama ile. Artık bu size kalmış. Ben burada netdiscover komutunu kullanacağım. Komutumuzun yapısı, netdiscover -i <interface> -r <router ip adres>

Bu işlemi yaptıktan sonra aşağıdaki gibi bir çıktı göreceğiz.

Netdiscover

Buradaki 192.168.2.1 olan ip bizim modemimizin ip adresi, 192.168.2.3 olan ise hedef cihazın ip adresi. Bunlardan başka olarak birde bizim ip adresimiz ve MAC adresimiz var. Onlar burada gözükmüyor. İşte biz bu iki cihazın arasına gireceğiz.

Sıradaki işlemimiz ise mitmf programını çalıştırmak. Mıtmf programı birçok man in the middle attack saldırısı için kullanlıyor, fakat biz şimdilik sadece arp spoofing saldırısı için kullanacağız. Bunun için komutumuzun yapısı, python mitmf.py –arp –spoof –gateway <modem ip adresi> –target <hedef ip adres> -i <network inteface> şeklindedir.

arp spoofing

Bu manzara bizim final destinationımız. Eğer bu ekranı gördüyseniz hedef cihaz ile modem arasına başarı ile girmişsiniz demektir. Hedef cihazınızın internetteki trafiği bu terminal üzerinden kayıp gidecek. Eğer detaylı bir şekilde inceleme yapmak istiyorsanız. Wireshark adlı uygulamayı kurmanızı ve nasıl kullanacağınızı öğrenmenizi tavsiye ederim.

Arp spoofing işlemi tam olarak bu şekilde. Bir sonraki yazımda görüşmek üzere.

Bu içerik tamamen eğitim amaçlı üretilmiştir. Bu içerikteki uygulamaların herhangi bir sistemde veya ağda izin alınmadan, kötü niyyet ile kullanılması T.C. Anayasalarına göre suç teşkil etmektedir. Söz konusu metodların ve uygulamaların kullanımından tamamen kullanıcı sorumludur. Kodputer.com hiçbir sorumluluk kabul etmez

Yazar Hakkında

Hakan İlbiz

Siber güvenlik, linux, programlama ve network gibi bilgisayar bilimlerini kapsayan alanlarda yaptığı çalışmalardan edindiği tecrübeleri, kurucusu olduğu kodputer.com adlı web sitesinde okurlarına sunan ve bundan büyük bir haz duyan Sakarya Üniversitesi Bilgisayar Mühendisliği öğrencisi.

2 Comments

Yorum Yazmak İçin Tıkla