DNS SPOOFING SALDIRISI - SİBER GÜVENLİK EĞİTİMİ

NELER VAR

26 Kasım 2019 Salı

DNS SPOOFING SALDIRISI


Bir önceki makalede sizlere dns'in ne olduğunu ve çalışma mantığını anlatmaya çalışmıştım. Bu makalede de dns'e yönelik atağa bakacağız. Bu saldırının adı dns spoofing. Yani dns ön bellek zehirlemesi olarak da adlandırabiliriz. Nedir bu dns spoofing?
Temel olarak bir saldırganın tüm DNS isteklerini ve dolayısıyla tüm trafiğini kendi (veya ona ait) makinesine yönlendirebilir, kötü niyetli bir şekilde manipüle edebilir ve muhtemelen geçilen verileri çalabilir. Dns'lerin zehirlenmesi yöntemi, IP'lerin yönlendirilmesi sayesinde gerçekleşir. Örnek verecek olursak, siz www.google.com'a gitmek istediğinizde bilgisayarınıza saldıran kullanıcı sizi www.boogle.com'a yönlendirir. Siz bu yönlendirmeyi farketmezsiniz ya da farketmeyebilirsiniz. Siz kendinizi google.com'da sanırsınız fakat değilsinizdir. Size saldıran kullanıcı o esnada internet üzerinde gerçekleştirdiğiniz tüm bilgilerinize sahip olabilir.
Şimdi yapacağımız saldırı için hazırlık aşamasına geçelim. Her zamanki gibi saldırımızı Kali Linux üzerinden yapacağız. Bu saldırıyı gerçekleştirebilmek için, hedefimiz ile aynı ağda olmamız gerekmektedir. Ayrıca bu saldırı için ettercap aracından da yararlanacağız.

Yapılandırma

Öncelikle ettercap aracını konfigüre ediyoruz. "gedit /etc/ettercap/etter.conf" komutu ile konfigürasyon dosyamızı açıp uid ve gid değerlerini 0'a çekiyoruz.
 Daha sonra Linux yazan başlığı bulana kadar aşağıya doğru ilerliyoruz. Her # ile başlayan "if you use iptables" altında yazan işaretleri kaldırıyoruz.

Şimdilik "etter.conf"un içerisindeki işlemlerimiz bitti. Terminal ekranımızdan "ettercap -G" komutu ile ettercap arayüzüne ulaşıyoruz.


Arayüz açıldıktan sonra önce sniff'i seçiyoruz. Buradan Unified sniffing seçip devam ediyoruz. Hemen ardından da "Start> Stop sniffing" diyoruz. Durdurmamızın sebebi, tamam deyip devam ettikten sonra otomatik olarak sniffing başlıyor fakat biz bunu istemiyoruz.

Şimdi ağımızdaki hedefleri taramak ve hedefimizi seçmek istiyoruz. Bunun için hosts > scan for hosts'a gidip taramanın bitmesini bekliyoruz. Tarama bittikten sonra hosts list diyerek aynı ağda bulunduğumuz cihazları görebileceğiz.

Host list'e girdiğimizde 2 tane ağ görmekteyiz. Bunlardan biri modemimizin otomatik olarak aldığı default gateway'dir(gw'ye ihtiyacımız olacak).Diğer cihazımsa benim ana makinemin ip'sidir. Şimdi burada işimiz kolay aslında. Fakat çok fazla makinenin bağlı olduğu bir ağı düşünün. Gateway'i ve hedef makinemi bulmak biraz daha zorlaşacak tabi ki. Hedeften emin olmak için nmap sorgusunu kullanabiliriz. Default gateway'i ise Kali'deki terminal ekranımıza "route -n" komutunu yazarak bu bilgiye ulaşabiliriz.
Öncelikle burada hedef ip'mizi "TARGET 1" olarak seçiyoruz. Daha sonra yönlendiricimizi de "TARGET 2" olarak belirliyoruz.


Hedefleri belirledikten sonra sırasıyla aşağıdaki işlemleri yapalım.

Ettercap'te son bir işlemimiz kaldı. Onu yapmadan önce en önemli noktaya geçeceğiz. Öncelikle buraya kadar neler yaptık bir tekrar edelim. Ettercap aracımızı konfigüre etmekle başladık. Daha sonra da ettercap'i başlatarak ağımızı taradık ve host listten hedefimizi belirledik. Ip yönlendiricimiz yani default gateway'i ve hedefimizi TARGET 1,2 olarak belirledik. Bu hedeflerimizi mitm yöntemlerinden ARP atağıyla zehirledik. Manage plugins seçeneğinden de dnsspoof'u çift tıklayarak saldırımıza hazır hale geldik.
Son olarak ve sihrin gerçekleştiği yere gitmemiz gerekiyor. Terminal ekranından "gedit /etc/ettercap/etter.dns" diyerek dns'in hosts dosyasını açıyoruz. Burada amacımız hosts dosyasının içine kendi kali makinemizin ip'sini yazarak hedefi oraya yönlendirmek olacaktır. Apache sunucusunu kali'de başlatarak ve varsayılan ana sayfayı bir facebook.com vb. klonuna dönüştürerek, hedef bu web sitesine girdiğinde gerçekten facebook'a girdiğini düşünecek fakat bulunduğu yer bizim apache sunucumuzun içerisi olacaktır. Bu teoriyi pratiğe çevirelim.

Dns hosts dosyamızı konfigüre edelim. 
Burada yapacağımız işlem "microsoft sucks" başlığının altında bulunan kısma kurbanın facebook.com adresine girdiğinde 192.168.1.106 ipsine yani bizim apache sunucumuza yönlenmesini belirtiyoruz. Burada ikinci satırda yazdığımız "*.facebook" ifadesini, facebook adresine gitmek için yazılan tüm adresleri örneğin www.facebook.com, m.facebook.com gibi adresleri de bizim ip'mize yöneltmesini belirtmek için yazıyoruz. Buraya istediğiniz herhangi bir siteyi yazabilirsiniz. Ya da fake facebook script'i indirip "/var/www/html/index.html" içerisine yerleştirip gerçek bir login sayfamıymış gibi apache sunucunuzu düzenleyebilirsiniz. Saldırıyı başlatmadan önce apache sunucumuzu çalıştırıyoruz. 
Bu işlemleri gerçekleştirdikten sonra artık ettercap'e gelip Start > Start Sniffing'i seçip dns spoofing'i başlatıyoruz. Kurban makineme gidip facebook.com'u açmayı deneyelim.
Görüldüğü gibi siteye giremedi. Fakat bizim apache sunucumuzun sayfası da gelmedi. Bunun sebebi facebook'un hsts güvenlik protokolünü kullanmasıdır. Bu güvenliği aşamadığımızdan dolayı facebook'u spoof edemedik. Fakat bir http sitesini denediğimizde bu atağın çalıştığını göreceksiniz. 
Zehirlendiğimizi Nasıl Anlarız? 
DNS konulu makalede anlattığım gibi dns tehlikeli bir protokoldür. Bunun sebebi ise udp kullanmasıdır. Bunun için bu atağın anlaşılması biraz zordur. Aslında bu tarz konularda şüpheli biriyseniz ağınızdaki hissettiğiniz herhangi bir yavaşlıkta cmd konsol ekranına nslookup gitmekistediğimsite.com yazarak ip'leri karşılaştırabilirsiniz. Yönlendirildiğiniz sitelerin genellikle sertifikaları güvenli değildir, yani yoktur. Bunu da sol üst kısımdan "güvenli değil" ibaresiyle anlayabilirsiniz. 
Nasıl Önlem Alabiliriz?
Diyelim ki böyle bir saldırıya maruz kaldığınızı anladınız. Ne yapabilirsiniz? 
  1. İlk olarak dns adresini değiştirerek bu saldırıdan kurtulabilirsiniz. Bu saldırı hakkında bilgiliyseniz zaten bir daha o ağa da bağlanmazsınız. 
  2. DNSCrypt kullanarak istemci ile sunucu arasındaki iletişimi güvence altına alabilirsiniz. 
  3. Bu sayede karşıdaki sunucunun gerçek bir sunucu olup olmadığı anlaşılabilir.
  4. Saldırıda ARP zehirlemesi de kullanıldığı için ARPla ilgili makaledeki önlemi kullanabiliriz. Arp tablosundaki default gateway adresini dinamikten statiğe aldığımız zaman gateway zehirlenmeyecektir. 
  5. Yine ARP saldırısını izleyebilen ArpON, Snort gibi uygulamalarda kullanılabilir. 
Sonuç olarak bu makalede, DNS Spoofing'in ne olduğunu, nasıl yapıldığını ve alabileceğimiz önlemleri öğrenmiş olduk. Başımıza böyle bir saldırı geldiğinde kendimizi artık savunabiliriz. 

Hiç yorum yok:

Yorum Gönder