DHCP Spoofing Saldırısı Nedir, Nasıl Yapılır?

Yayınlayan
Mehmet Kelepçe
Yayınlanma tarihi
26/2/2022
Okuma süresi
10
Dakika
go back icon
Geri Dön

DHCP Spoofing Saldırısı Nedir, Nasıl Yapılır?

DHCP (Dynamic Host Configuration Protocol) dinamik host yapılandırma protokolü anlamına gelir ve ağ ortamında IP adresi, default gateway, DNS, WINS gibi hizmetlerin verildiği bilgileri uç noktalara dağıtır.

Bu şekilde ağdaki diğer cihazlara bu bilgilerin girilmesi sırasında oluşacak vakit kaybı önlenmiş olur. DHCP sunucusu bu işi yaparken ağ ortamında bazı paketler oluşturur ve gönderir. Bu paketler UDP protokolü ile iletilir.

Ağ üzerinde DHCP’nin çalışması 4 aşamada gerçekleşir. Bir istemci/client ağa dahil olduğu sırada veya IP adresine ihtiyaç duyduğu sırada ağ ortamına bir (1) DHCP Discovery paketi hazırlar ve gönderir. Bu paket ağ ortamındaki DHCP sunucusu tarafından alınır ve DHCP sunucusu istemciye verebileceği IP adresi bilgisini, IP adresinin kiralama süresinide içeren bir (2) DHCP Offer paketi ağ ortamına iletir. İstemci, alınan bu paket sonrasında ağ ortamına, sunucunun ona vereceği IP adresi bilgisini kabul ettiğini bildirmek amacı ile (3) DHCP Request paketi gönderir. Request paketinde istemci, DHCP sunucusunun ona DHCP Offer paketi ile ilettiği verebileceği IP adresi bilgisinide içeren bilgileri gönderir. Son olarak ağ ortamına (4) DHCP Ack paketi gönderilir ve IP adresi tahsisatı gerçekleşmiş olur.

C:UsersmehmetDownloadskelepce.png

Ağ ortamındaki bir saldırgan kendisini DHCP sunucusu gibi gösterip giden bu paketleri ağ ortamında kendisi gönderirse, hedef istemcinin ağ ortamındaki paketlerini kendi üzerinden geçirebilir. Hatırlarsanız DHCP hizmeti ile DNS, WINS, default gateway gibi bilgiler istemcilere otomatik olarak dağıtılabiliniyordu. Saldırgan ağ ortamında IP adresi isteyen bir istemciye, varsayılan ağ geçidinin kendisi olduğu bir DHCP paketini gönderir. Saldırgan tarafından belirlenen IP adresini ve default gateway adresini alan kurbanın ağ üzerinde yapacağı herhangi bir paket trafiği saldırganın üzerinden geçecek ve saldırgan bu paketleri okuyabilecektir. Saldırıyı en nihayetinde ARP Poisoning saldırısına benzetebiliriz.

C:UsersmehmetDownloadskelepce (1).png

Giden paket üzerinde herhangi bir şifreleme katmanının bulunmaması durumunda bu veriler saldırganın eline geçecektir. Bu sebeple ek şifreleme katmanı olmayan protokolleri kullanmamakta oldukça fayda vardır. (FTP, Telnet, HTTP, SNMP vb.)

C:UsersmehmetDownloadskelepce (3).png

Saldırının anatomisini anladığımıza göre test ortamında saldırıyı gerçekleştirelim. Saldırgan makine olan Kali Linux ve istemci makine olacak olan Windows dağıtımı bir makine mevcuttur. İstemci ve saldırgan herhangi bir işletim sistemine sahip olabilirler. Sahte DHCP sunucusu rolünü üstlenecek olan linux makinede metasploit framework kurulu durumdadır. Saldırı testi için buradaki “auxiliary/server/dhcp” yardımcı modülünü kullanacağız. Sahte bir DHCP sunucusu oluşturmak için internet üzerinde birçok 3. Party yazılım bulabilirsiniz.

Sırası ile bazı seçenekleri set ediyoruz.

Broadcast seçeneği ile broadcast yayın adresini belirliyoruz.

DHCPIPSTART-DHCPIPEND dağıtılacak IP adreslerinin aralığını belirtiyoruz.

SRVHOST ile DHCP sunucusunun IP sini yazıyoruz.

ROUTER ile yönlendiricinin IP adresini yazıyoruz.

DNSSERVER isim çözümleme servisini belirtiyoruz.

NETMASK ile varolan ağ maskesini yazıyoruz.

Bu bilgilerin ardından run komutunu kullanıyoruz. 192.168.195.2 adresi saldırganın adresidir.

Yardımcı modül arka tarafda çalışmaya başladı. Hedef makineye gelip komut satırı üzerinden “ipconfig /renew” komutunu yürütüp ortamdaki DHCP sunucusundan yeni bir IP adresi talep ediyorum. Ortamda varolan bizim sahte DHCP sunucumuz bu isteği yanıtlayarak kurbana havuzdan bir IP adresi verecek.

Komut sonrasında kurban bakine bizim belirttiğimiz IP aralığında bir IP adresi ve router olarak belirttiğimiz IP adresini default gateway olarak aldı.

Ağ ortamında gidip gelen DHCP paketlerini incelersek.

Ağ ortamında Discover, Request, Offer ve ACK paketlerinin gidip geldiği görülebilir.

Şimdi güvensiz yollardan bazı erişimler deneyelim. Giden paketleri wireshark ile yakalayalım.

FTP protokolü bilindiği üzere ek bir şifreleme katmanı içermeyen bir protokol. Yani ağ ortamında giden paketler saldırganlar tarafından rahatlıkla okunabilir. Test amacı ile oluşturulan FTP server üzerine bağlanıldığı esnada saldırganın üzerinden geçen FTP paketlerini incelerse USER ve PASS FTP argümanları set edilmiş biçimde görülebilir.

Nasıl Önlem Alınır?

Ağ ortamında varolan switch üzerinde Switch PortSecurity yapılandırması uygulanmalıdır. DHCP Snooping özelliği aktif hale getirilmelidir yani Switch de ki portları untrusted moda almak bir diğer önlem olacaktır. Switch üzerinde gidip gelecek olan Offer gibi paketler bu şekilde kabul edilmeyecektir.

İstenildiği taktirde ağ üzerinde DHCP sunucusu rolünü üstlenen bir sunucuya ait porta özel olarak trust özelliği getirebiliriz.

Client tarafında yapılması gereken bir diğer önlem ek şifreleme katmanları kullanmayan protokollerin kullanımının tercih edilmemesi olacaktır. Telnet, FTP, HTTP gibi güvensiz protokollerin yerine SSH, SFTP, HTTPS gibi ek şifreleme katmanı bulunan protokollerin kullanımı faydalı olacaktır.

Mehmet Kelepçe | Red Team
Mehmet Kelepçe

Detaylı Bilgi İçin

info@gaissecurity.com