ARP(Address Resolution Protocol) : Adres Çözümleme Protokolü demektir. Yerel ağda IP adresini bildiği cihazın MAC adresini bulmak için kullanılır. Ağda olan bilgisayarlar birbirleri ile MAC adresleri üzerinden iletişim kurarlar. IP’sini bildiği bir bilgisayara bir paket göndereceği zaman, kaynak(Source) cihaz ARP tablosuna bakar ve hedef(Destination) cihazın MAC adresinin ARP tablosunda olup olmadığını kontrol eder. Eğer ARP tablosunda, hedef cihazın MAC adresi bulunmuyorsa, ARP protokolü çalışır ve IP’sini bildiği cihazın MAC adresini öğrenmek için bulunduğu ağa bir ARP Request(İstek) paketi gönderir. ARP Request paketinin içinde, MAC adresini öğrenmek istediği cihazın IP adresi bulunur. ARP Request’i ağdaki tüm cihazlar alır, IP’nin kendisine ait olmadığını anlayan cihazlar ARP Request paketlerini siler. IP adresinin kendisine ait olduğunu anlayan cihaz, Request paketini alır açar ve MAC Adresi bilgisini, ARP Reply(Cevap) paketi ile kaynak cihaza gönderir.

ARP Poisoning : Saldırgan, sahte ARP Reply paketlerini, broadcast olarak yerel ağa sürekli gönderir. Hedefine gitmek isteyen cihaz ARP Request talebinde bulunduğu anda, cevap olarak saldırgandan gelen ARP Reply paketini alır. Saldırgan kendini Gateway gibi gösterir ve internete çıkacak kurbanlar, saldırganın cihazı üzerinden internete çıkar. Bu sayede kurbanın tüm trafiğini izleyebilme, verilere erişebilme şansına sahip olur. Bu nedenle ARP Spoofing, MITM(Man in the Middle/Aradaki Adam) saldırıları arasında yer alır.

Şimdi şu zafiyeti bir de biz sömürelim!
Sanal makine olarak kurduğum Windows makineye Kali-Linux ile saldırıyı gerçekleştireceğim. Adım adım anlatacağım ve ekran görüntülerini sizlerle paylaşacağım;
Step 1 : Öncelikle Gateway’ımızı öğrenelim.

Step 2 : ” netdiscover -r 192.198.1.0/24 ” komutu ile kurban cihazımızın IP adresini bulalım.
netdiscover -r 192.168.1.0/24

Step 3 : Kurban cihazda ARP tablomuzu görüntüleyelim ve gateway’in MAC adresine bakalım.

Step 4 : Bir de saldırgan cihazımızın MAC adresini öğrenelim.

Step 5 : Kurban cihazda örnek bir ping atalım. Pingimizin sıkıntısız olarak google.com’a ulaşabildiğini görüyoruz.

Step 6 : “Arpspoof” yazılımını kullanarak saldırıyı gerçekleştirelim. -i parametresi ile interface’i, -t parametresi ile hedef cihazın IP adresini, -r parametresi ile gateway’in IP adresini belirtiyoruz.
python arpspoof.py -i eth0 -t 192.168.1.12 -r 192.168.1.1

Step 7 : Saldırı başladıktan sonra kurban cihazda tekrar arp tablomuzu görüntüleyelim. Gateway’in MAC adresinin, saldırgan cihazın MAC adresi ile değiştiğini göreceğiz.

Step 8 : Saldırı başladıktan sonra, kurban cihazda tekrar ping atmayı deneyelim. İnternet bağlantısında problemler olduğunu göreceğiz.

Bu aşamalardan sonra saldırgan, örn: Wireshark yazılımı ile kurban cihazın ağ&internet üzerinde ki trafiğini izleyebilir duruma gelir. Basit bir örnek senaryoda;
Step 1 : Kurban cihaz bir web sitesine gidiyor.

Step 2 : Wireshark ile dinlemede olan saldırgan, giden-gelen tüm paketleri görüntüleyebiliyor.

Step 3 : Saldırgan açtığı bir pakette, kurbanın hangi siteye-URL’e gitmiş olduğunu görebiliyor.

✓ Eğer kurban HTTP protokolü kullanan bir sitede login işlemi yapmış olsaydı, kullanıcı adı ve şifresi clear-text olarak okunabilir durumda görüntülenebilirdi.
✓ ARP Spoofing’in başarılı olarak gerçekleştirilmesinden sonra saldırganın yapabileceği işlemler hayal gücüne ve teknik bilgisine kalıyor.
0x011