Selamlar,

Bugün 3 başlık altında “ARP (Address Resolation Protocol ) Nedir”i ve "ARP Paketini Nasıl Oluştururuz"u anlatmaya çalışacağım. Bu başlıklar şöyle;

  • ARP Çalışma Mantığı
  • ARP Zehirlenmesi (ARP Poisoning) Nedir?
  • ARP Paketi oluşturmak

ARP Çalışma Mantığı:

Yerel ağda cihazların haberleşmesi için cihazın MAC adresi bilinmelidir. MAC adresleri 48 bit’ten oluşur. TCP/IP modelinde veri alışverişi için 32 bit’lik IP adresleri kullanılır. Burada ARP kullanılır.

ARP, yerel ağdaki cihazların IP ve MAC adreslerinin eşlenmesini sağlayan protokoldür. Bu protokolde, ağdaki her cihazın IP adresine karşılık o cihazın MAC adresi tutulur. Bu da “ARP Tablosu” diye adlandırılır.

Peki bu MAC adresi nasıl öğrenilir? Bu sorunun cevabı ARP Request Packet’tir. Bu paket ağın içindeki tüm  ARP isteklerine açık olan cihazlara gönderilir. Paket kendilerini ilgilendiriyorsa bu pakete cevap olarak göndericiye bir paket gönderirler. Bu paketin içinde de kendi MAC adresleri vardır. Bu işlem sürekli yapılıp ağ trafiği fazla kullanılmasın diye ARP tablosu kullanılır.

 

 

 

 

 

 

 

 

 

ARP Zehirlenmesi  (ARP Poisoning) Nedir?

ARP zehirlenmesi, saldırganın ağdaki bağlı cihazlara kendisinin artık gateway cihazı olduğu anonsunu yaparsa diğer cihazlar, ARP tablolarını günceller ve artık gateway’e gitmeye çalıştıklarında saldırgan cihaza giderler. Artık cihazlar internete bağlanırken veriler önce saldırgana sonra gateway’e gider. Saldırgan gateway’den gelen verileri de size gönderir. Paketlerinizi okuyabilir ve değiştirebilir hale gelir. Bu saldırı Man in the Middle olarak bilinir. Web sayfalarına giderken bağlantılarımızın şifreli olmasının gerekliliği buradan başlar.

 

ARP Paketi Oluşturmak

 

 

 

 

 

 

 

 

 

 

ARP Saldırısı Öncesi ARP Tablosu

Hedef cihazda ARP tablosunu görüntülemek için, komut satırına "arp -a" komutu yazıyorum. "192.168.0.1" IP adresli cihaz gateway adresi.

ARP Saldırısı

ARP Saldırısı Sonrası ARP Tablosu

Böylelikle hedef cihazın gateway adresini değiştirirek giden-gelen paketleri kendimize yönlendirdik. Buradaki amacım 'ARP saldırısı' yapmak değildi, 'ARP saldırısı için nasıl paket oluşturulur'du. Teşekkür ederim.

Kodların github linki: https://github.com/regrews/python/blob/master/arp_packet.py

Yararlandıklarım:

https://medium.com/@777rip777/arp-spoofer-with-python-and-scapy-b848d7bc15b3

https://bidb.itu.edu.tr/seyir-defteri/blog/2013/09/06/arp-(adres-çözümleme-protokolü)

https://medium.com/@ismailakkila/black-hat-python-arp-cache-poisoning-with-scapy-7cb1d8b9d242