HUB kullanılan ortamlarda trafik dinleme işlemi oldukça
basittir. Ağa bağlı bir makineye kurulacak bir sniffer
aracılığı ile ağdaki tüm trafik dinlenebilir. Bu zaafiyet
HUB sistemlerin çalışma mantığından kaynaklanır, hub
ile birbirine bağlı sistemlerde iki sistem birbiri arasında haberleşmek istese
bile aralarındaki trafik tüm hostlara
gidecektir(broadcast mantığı ile çalışır).
Switch yapısı ise biraz farklıdır. Trafik sadece
haberleşmek isteyen iki host arasında gerçekleşir . Switch'ler bu yapıyı
üzerilerinde tuttukları CAM (Content Addresable Memory )tablolaları ile kotarırlar, bu tablolar MAC adresi, switch port numarası ve VLAN
bilgilerinden oluşur.
Bir host diğeri ile iletişime başlamadan önce kendi
ARP cache'ni(IP Adresi - MAC adresi bilgileri)
kontrol ederek hedef IP adresine ait bilgi var mı kontrol eder, varsa direkt o
MAC adresine veriyi gönderir yoksa broadcast yaparak o IP adresine sahip MAC
adresinin kim olduğunu öğrenir. Bu istekler ve cevaplar ARP mesajları ile
gerçekleştirilir.
4 cesit ARP mesajı vardır .
ARP request : IP Adresine
ait donanım adresi(MAC adresi) sorgulamak için kullanılır
10:09:20.356809 arp who-has 12.16.6.17 tell 12.16.6.185
ARP reply : Belirtilen Ip
adresine uyan donanım adresini döndürür
10:09:20.356809 arp reply 12.16.6.17 is-at
0:80:c8:f8:5c:73
RARP request: Belirli bir MAC adresi için IP
adresi sorgulaması için kullanılır
RARP reply : Belirli MAC adresi için IP adresi
cevabı döndürür.
Arp Cahce işlemleri
Arp cache bilgilerini görüntülemek
arp -a komutu ile arp cache bilgileri görülebilir.
#arp -a
- (1.2.3.4) at 00:00:ge:11:01:98
on xl0
- (5.6.7.8) at 00:00:ev:49:f0:kj on xl0
- (9.10.11.12) at 00:e0:4c:bb:66:66 on vr0
Arp kaydı silmek
#arp -d IP_adresi
Arp kaydı ekleme
#arp -s IP_adresi MAC_adresi [temp | permanent] [pub]

Şekilde Node A Node B ile
iletişime geçmek istediğinde switch her ikisinin mac adresi ve port bilgilerini
edinerek bu iki makine arasıdaki iletişimi C' nin
görmesini engeller. Switchli ağlarda başka makineye
ait trafiği izlemenin çeşitli yolları vardır burada en basit ve en etkili
yöntem olan arp spoofing ve korunma yolları
anlatılacaktır.
Gerekli araçlar
İşletim sistemi;
· Windows NT(W2k, W2K3, Win XP) ailesinden bir
işletim sistemi
· Herhangi bir Linux dağıtımı
· FreeBSD/OpenBSD işletim
sistemi
Programlar;
· Tcpdump (http://www.tcpdump.org)
· Dsinff (http://www.monkey.org/~dugsong/dsniff/ )
· Fragrouter (http://www.monkey.org/~dugsong/fragrouter/
)
Kişisel tercihim FreeBSD ve OpenBSD
olduğu için örnekler bu iki işletim sisteminin kurulu olduğu makineler üzerinde
verilecektir ama belirlenen programların Windows ve Linux versiyonları
bulunarak aynı testler bu sistemler ile de gerceklenebilir.
Kurulum
OpenBSD için kurulum
#cd /usr/ports/security/dsniff
#env FLAVOR="no_x11" make
install
#cd /usr/ports/security/fragrouter/
#make install
ARP Spoofing Uygulaması / Teori
Bir switche bağlı 3 makine üzerinde test
Makine ismi Ip Adresi Mac adresi
A(Router/Firewall) 10.10.10.1 aa:bb:cc:dd:ee:ff
B(FreeBSd) 10.10.10.2 ab:bc:cd:de:ef:fg
C(OpenBSD) 10.10.10.3 xx:yy:zz:ww:jj:ll

Yukarıdaki şekle göre Firewall olarak belirlenen makine bir kablo ile switche bağlıdır ve switche bağlı
diğer makineler için varsayılan çıkış kapısıdır.
B makinesinin internete çıkışı A makinesi yani Firewall/router
üzerinden gerçekleşmektedir. C makinesi ise B ve A ile aynı fiziksel ağda
bulunan bir makinedir. Arpspoofing yapılmadan önceki
normal trafik akışı aşağıdaki gibidir,
B----àA(10.10.10.1 : aa:bb:cc:dd:ee:ff)---------à
gizlibankam.com
Arp spoofing yapıldıktan sonra trafik akışı aşağıdaki
şekilde olacaktır.
B----àA(10.10.10.3 : aa:bb:cc:dd:ee:ff,
xx:yy:zz:ww:jj:ll)-----àgizlibankam.com
ARP Spoofing Uygulaması / Pratik
Kurulumların gerçekleştirildiği C makinesi üzerinde yapılması gerekenler;
Fragrouter programını kullanarak basitce
ip_forwarding islemi
yaptırıyoruz, bu islemi yaparkende
paketlerin icerigini gormse
şansımız oluyor. Arka planda tcpdump komutu
çalıştırılarak makine üzerinden akan trafik bir dosyaya kaydedilerek sonradan
incelenebilir. Tcpdump ile ilgili detaylı bilgi
kaynaklar bölümünden edinilebilir.
C makinesinde
#fragrouter -B1 &
Ve
#arpspoof -t 10.10.10.2 10.10.10.1
komutuları verilir. Arpspoof
komutu ile 10.10.10.2 IP adresli makinede tutulan 10.10.10.1 adresine ait MAC
adresinin 10.10.10.3 IP adresine sahip makinin MAC adresi ile değiştirilmesi
sağlanmış oldu.
Böylece B makinesi A makinesi ile iletişime geçtiğini düşünerek paketi aslında
C makinesine yollamış oluyor. C makinesi de trafiği üzerinden geçirerek asıl
hedefine ulaştırıyor ve cevaıbını yine B makinesine
yolluyor, bu arada üzerinden geçirdiği trafiği izleme şansı oluyor.
NOT:C makinesinde herhangi bir IP adresi
değişikliği yapılmamıştır
Korunma Yöntemleri
* Statik arp kayıtları kullanmak
* Arpwatch[4] programını kullanarak ağ üzerinde
IP-MAC tablosu değişikliklerini gözlemlemleyerek ,
değişikliklerin mail ile bildirilmesini sağlamak.
* Switchler üzerinde port security özelliğini aktif ederek kullanmak.