DNS ZAFİYETLERİ

Yazar: Övgü Kaya

DNS Nedir?

DNS, “Domain Name System” tabirinin kısaltmasıdır. Söz konusu terimin Türkçe karşılığı ise “alan isimlendirme sistemi”dir. DNS, isimlerin IP’ye dönüştürülesi maksadıyla kullanılan ve 256 karaktere kadar da büyüyebilen bir sistemdir. Host, cihazın adını ve İnternet “domain”ini gösterir. DNS, bilgisayar ya da bilgisayar sistemleri ile çalışan cihazların IP’lerini çözerek birbirleri ile haberleşmelerini sağlar. DNS’nin asıl amacı, ağ üzerinde yaşanan IP numarası ve alan adı ile ilgili sorulara cevap vermektir. Bu amaca yönelik de yaygın olarak kullanılan BIND yazılımından istifade edilir. Kullanıcı, bir siteye ulaşmak istediğinde DNS sayesinde bir sitenin, İnternetin hangi alanında bulunduğu kolay bir şekilde bulunur. Bu sayede pratik bir şekilde erişim gerçekleştirebiliriz.

DNS Nasıl Çalışır?

DNS sunucusu, DNS sisteminin yürütüldüğü mekanizmaya verilen isimdir. Yani web adresini, IP adresine çeviren ana İnternet unsurudur. DNS, İnternetteki her bir alanı adlandırmaya ve bunları birbirine bağlayan sistemdir. Ağı oluşturan her birimin kendine ait bir IP adresi bulunur. Kullanıcı herhangi bir İnternet sitesine gireceği zaman, bu IP adresleri ile bağlantı kurar. Kullanıcı her sitenin IP adresini aklında tutamayacağı için web sitelerinin isimleri ile bağlantı kurar. Site adresleri tarayıcıya yazıldıktan sonra server, bağlantı kurmak için IP adresini kullanır.

DNS sistemi sunucu ve çözümleyici isimli iki faktör tarafından çalıştırılır. İsim sunucuları, IP adresi bilgilerini muhafaza eder. Çözümleyiciler ise, DNS isteyen ekipmanlardır. Çözümleyicilerde; DNS sunucuları ve sunucuların adresleri bulunur. Bir çözümleyici, bilgisayarın adına karşılık gelen bir IP adresini bulmak istediğinde sunucuya yönlenir.

İnternet adresleri öncelikle ülkelere göre sınıflandırılır. Ülkemizdeki İnternet sitelerinin sonundaki TR, bu sınıflandırmayı ifade eder. Her ülkenin kendine özel bir sınıflandırma sembolü vardır. Sadece Sınıflandırılan İnternet siteleri, “com”, “gov”, “edu” gibi alt bölümlere ayrılır. Bu ifadelerin anlamlarını şu şekilde sıralayabiliriz:

com : “commercial” kelimesinin kısaltmasıdır. Ticari kuruluş olan İnternet sitelerini gösterir.

org : “organization” kelimesinden gelir. Ticari niteliğe sahip olmayan kurumları temsil eder.

mil : “military” kelimesinin kısaltılmasından türetilmiştir. Askeri kurum sitelerini gösterir.

gov : “government” kelimesinin kısaltılmasıdır. Devlet’e bağlı olarak faaliyet gösteren İnternet sitelerinde kullanılır.

edu : “education” kelimesinden gelir. Eğitim kuruluşlarını ifade eder.

net : “Network” kelimesinden üretilmiştir ve uluslararası faaliyet alanına sahip kurumları ifade eder.

Alan adları, belirlenen kurallar çerçevesinde verilir. Herkes istediği alan adını kullanamaz.

DNS İçin Gerekli Dosya Türleri Nelerdir?

DNS’de kullanılan bir kısım dosya türleri vardır. Dosya türleri olmadan DNS’yi çalıştırmanız mümkün değildir.

boot : Bu dosya türü, DNS çalışmaya başladığı anda okunan dosyaların ilkidir.

local :  Bu dosya türü, makinenin gösterdiği adresin etkin şekilde çözümlenmesi için kullanılır.

ca :  Root server olarak adlandırılan adreslerin tutulduğu dosya türü “named.ca”dır.

hosts :  DNS alanında çalışan tüm makinelerin adreslerinin tutulduğu dosya türü “named.hosts”tur.

reverse : “Named.hosts” dosyasında tutulan IP adreslerini makinenin ismine çevirmek için “named.reverse” dosyası kullanılır.

DNS Zone Transfer Zafiyeti

DNS sunucuları bazı durumlarda AXFR protokolü üzerinden birbirleri ile DNS kayıtlarını paylaşabilmektedir. DNS kayıtlarının paylaşılmasının iki temel sebebi vardır. Biri yük dengeleme diğeri ise hata toleransı dediğimiz yani bir sunucunun hizmet veremez duruma gelmesi anında öteki sunucunun işlemleri yürütmesini sağlamaktır. Eğer konfigürasyon eksikliği ile yetkisiz kişilerin DNS Zone Transfer yapmasına izin verilirse, DNS sunucusuna girilmiş tüm adres kayıtlarına erişim söz konusu olabilir. Böylece saldırganlar DNS kaydı bulunan sistemler hakkında bilgi sahibi olabilirler. 

AXFR kimlik doğrulaması sunmaz, bundan dolayı herhangi bir istemci bir DNS sunucusundan tüm DNS kayıtlarının kopyasını isteyebilir. Bu, bir tür koruma getirilmediği sürece, saldırganın bir etki alanı için tüm ana bilgisayarların bir listesini alabileceği ve onlara çok sayıda potansiyel saldırı vektörü verebileceği anlamına gelir. Bu güvenlik açığının oluşmasını önlemek için, DNS sunucusunun yalnızca güvenilen IP adreslerinden DNS Zone Transfer izni verecek şekilde yapılandırılması gerekir. 

Bir DNS sunucusunda ki default zone transfer yapılandırılması şu şekildedir;

[important]allow-transfer {“none”;};[/important]

Buradaki none alanına yetkimiz dışında bir müdahalede bulunabiliyorsak orada zone transfer zafiyeti var demektir. Manuel olarak uygulamak istersek;

Bu açığı manuel olarak istismar etmek için host komutundan yararlanacağım . Hedef olarak  bu zafiyet için oluşturulmuş zonetransfer.me adresini kullanıyorum.

Yukarıda hedefin ip adresini öğrenmiş olduk.

Zone transferi için öncelikle name server tespiti yapmamız gerekli.

Komutumuz: host –t ns zonetransfer.me

-t (type)

ns  (name server)

Zone transferi için öncelikle name server tespiti yapmamız gerekli.

Komutumuz: host –t ns zonetransfer.me

-t (type)

ns  (name server)

Zone transfer açığını sömürdük ve bize kayıtlı olan tüm subdomainler getirildi.

Çözüm Önerileri:

1- DNS sunucunuzun çalıştığı yazılımı düzenli olarak güncellemek

2- Sadece gerekli olan IP adreslerinden gelen taleplere izin veren güvenlik duvarları kurarak zone transfer işlemlerini sınırlayabilirsiniz.

3- Gerektiğinde, iç ve dış DNS kayıtlarınızı farklı sunucularda barındırmak, içerideki kayıtların dışarıya sızdırılmasını engellemeye yardımcı olabilir.

4- DNS sunucularının zone transfer işlemleri için gereken izinler en aza indirilmelidir.

5- DNSSEC, DNS kayıtlarının bütünlüğünü ve doğruluğunu sağlayarak DNS üzerindeki bazı saldırıları önler.

6- DNS trafiğini şifreleyen ve koruyan DNS gizliliği hizmetleri, zone transfer saldırılarına karşı ek koruma sağlar.

7- Eğer DNS sunucunuzun zone transfer işlemine ihtiyacı varsa, yalnızca güvenilir ve gereken sunuculara izin verin.

8- DNSSEC, DNS kayıtlarının bütünlüğünü ve doğruluğunu sağlar ve DNS üzerindeki bazı saldırıları önler.

9- DNS sunucunuzun günlüklerini düzenli olarak izleyerek şüpheli faaliyetleri ve potansiyel saldırıları tespit edebilirsiniz.

10-Düzenli olarak güvenlik denetimleri yaparak DNS altyapınızdaki zayıf noktaları tespit edebilir ve düzeltebilirsiniz.

DNS Önbellek Zehirlenmesi :

DNS önbellek zehirlenmesi, DNS önbelleğine yanlış veya bilerek bilgi girme eylemidir, böylece DNS sorguları yanlış bir yanıt döndürür ve kullanıcılar yanlış web sitelerine yönlendirilir. Örneğin; bir saldırganın bir DNS sunucusunun denetimini ele geçirdiğini düşünsek, önbellek üzerinden google.com.tr adresinin IP adresini, kendi oluşturmuş olduğu IP adresi ile değiştirdiğinde kullanıcıları google.com.tr yerine kendi oluşturduğu siteye yönlendirebilmesi söz konusu olabilir. DNS sunucuları TCP yerine UDP protokolü kullandığı ve hâlihazırda UDP protokolü için herhangi bir doğrulama yöntemi de bulunmadığı için bu saldırılar çok etkili olabilmektedir. Çoğu durumda, siber suçlular, sahte web sitelerinde oturum açma kimlik bilgilerini çalmak veya başka saldırılar için kötü amaçlı yazılım eklemek için DNS sahtekarlığını kullanır. Dolandırıcılara sosyal güvenlik numaraları ve ödeme bilgileri gibi hassas bilgilere erişmeleri için kolay bir yol sunan DNS zehirlenmesi ile siber suçlular, cihazların güvenliğini sağlayan önemli yamaların ve güncellemelerin alınmasını engellemek amacıyla güvenlik sağlayıcılarından gelen trafiği yeniden yönlendirebilir. Cihazları zamanla daha savunmasız hale getiren bu yöntem, truva atları ve virüsler gibi çok sayıda saldırıya kapı açabilir.

DNS Önbellek Zehirlenmesi için çözümler;

  • DNS önbellek zehirlenmesine uzun vadeli çözüm DNSSEC’dir. DNSSEC, kuruluşların ortak anahtar şifrelemesi kullanarak DNS kayıtlarını imzalamasını ve bilgisayarınızın bir DNS kaydına güvenilmesinin gerekip gerekmediğini, zehirlenip zehirlenmediğini ve yanlış bir konuma yönlendirdiğini bilmesini sağlar.
  • Bir diğer önemli adım, DNS istek ve yanıtlarında yer alan verileri her zaman şifrelemektir. Bu, verilere müdahale edebilecek siber suçlulara karşı ek bir koruma katmanı sunar. Örneğin, bir saldırgan şifrelenmiş verileri ele geçirmeyi başarsa bile, gelecekteki yanıtlarda kullanmak üzere çoğaltmak için ihtiyaç duyduğu bilgileri almak için okuyamaz.
  • Kuruluşlar, DNS’e ek bir koruma katmanı sağlayan yapılandırmalar için adımlar da atabilir. DNS sunucularını, diğer DNS sunucularıyla olan ilişkilere büyük ölçüde güvenmeyecek şekilde yapılandırabilirler. Bu, bilgisayar korsanlarının kendi DNS sunucuları aracılığıyla bağlantı kurmasını zorlaştırır. Ek olarak kuruluşlar, DNS sunucularını yalnızca belirli hizmetlerin çalışmasına izin verecek şekilde daha sınırlı veri kümelerini depolayacak şekilde yapılandırabilirler.
  • Sistem güncellemeleri genellikle yeni güvenlik protokolleri ve tanımlanmış güvenlik açıklarına yönelik düzeltmeler içerdiğinden DNS’in en son sürümünü kullanmak da son derece önemlidir.
  • DNS zehirlenmesi saldırısının gerçekleşmesi durumunda güçlü algılama protokollerinin olması sonucu değiştirebilir. En iyi algılama protokolleri, düzenli izleme kullanır. En büyük uyarı işaretlerinden biri tek bir alan adı hakkında tek bir kaynaktan DNS etkinliğinde artış olması ve tek bir kaynaktan birden fazla alan adı hakkında DNS etkinliğinde artış olmasıdır. Bunlar, DNS zehirlenmesi için bir giriş noktası bulma girişimlerinin göstergesidir.
  • Potansiyel risklerin farkına varmak için siber güvenlik eğitimleri önerilir. Fark etmesi çok zor olsa çalışanların siber tehditler konusunda eğitilmesi kuruluşların itibar ve finans kaybı yaşama ihtimallerini zayıflatır.

DNS Amplification Attacks :

DNS amplifikasyonu, saldırganın DNS sunucularındaki güvenlik açıklarından yararlanarak başlangıçta küçük sorguları kişinin sunucularını çökertmek için kullanılan çok daha büyük yüklere dönüştürdüğü bir DDoS saldırısıdır.

DNS amplifikasyonu, genel olarak erişilebilen DNS leri manipüle ederek, onları büyük miktarlarda UDP paketleriyle bir hedefi sel haline getiren bir yansıma saldırısı türüdür. Failler, çeşitli büyütme tekniklerini kullanarak bu UDP paketlerinin boyutunu “şişirebilir”, bu da saldırıyı en sağlam İnternet altyapısını bile çökertecek kadar güçlü hale getirir.

Bir DNS güçlendirme saldırısı sırasında, fail açık bir DNS çözümleyicisine sahte bir IP adresi içeren bir DNS sorgusu göndererek bu adrese bir DNS yanıtıyla yanıt vermesini ister. Gönderilen çok sayıda sahte sorgu ve eşzamanlı olarak yanıt veren birkaç DNS çözümleyiciyle, kurbanın ağı, çok sayıda DNS yanıtından kolayca etkilenebilir.

Bu saldırıdan korunmak için trafiği dağıtmak ve tek bir DNS sunucusunu aşırı yüklemekten kaçınmak için DNS Anycast kullanılabilir. Sunuculardan IoT cihazlarına kadar olan tüm istemcilerin yalnızca kurum içinden DNS isteklerini işleyecek şekilde yapılandırılmış yerel dahili DNS sunucularını kullanması sağlanabilir.

DNS Amplification Attacks için çözümler;

  • DNS sunucusu güvenliğinin sıkılaştırılması, belirli DNS sunucularının veya tüm açık özyinelemeli aktarma sunucularının engellenmesi ve hız sınırlandırılması
  • Ancak, bu yöntemler saldırı kaynaklarını ortadan kaldırmaz ve ad sunucuları ile açık özyinelemeli sunucular arasındaki ağlar ve anahtarlar üzerindeki yükü azaltmaz. Ayrıca, açık özyinelemeli sunuculardan gelen tüm trafiğin engellenmesi, meşru DNS iletişim girişimlerine müdahale edebilir. Örnek olarak, bazı kuruluşlar, mobil çalışanların “güvenilir” bir ad sunucusundan çözümleyebilmesi için açık yinelemeli sunucuları bulundurur. Bu sunuculardan gelen trafiğin engellenmesi, erişimlerini engelleyebilir.

Subdomain Takeover :

Belirli bir subdomain üzerinde yetkisi olmayan kişilerce tam yetki kontrolünün sağlanmasıdır. Bu kontrolü sağlayan bir saldırgan, ilgili subdomaine ait websitesine kendi dosyalarını yükleyebilir, kendi veritabanını oluşturabilir, network trafiğini görüntüleyebilir ve hatta sitenin aslına ait bir klon oluştup phishing tekniklerini kullanabilir.

Amazon, Github, Cloudfront vb. bulut hizmetleri son yıllarda popülerlik kazamaya başladı. Bu hizmetlerin popülerlik kazanması ile bu zafiyeti çok duymaya başladık. En sık karşılaşılan yöntem ise DNS sunucusu üzerinde CNAME kaydının yapıldığı domain adresinin kullanım süresinin dolmasıdır. Bir domain başka bir domain için DNS sunucuları üzerinde bir CNAME kaydı kullanır.

Bir subdomain kaydı mevcut olmasına rağmen sayfanın herhangi bir nedenden dolayı aktif olarak kullanımda olmadığı durumlarda mümkün olabilir. Subdomain takeover zafiyeti, önceden oluşturulmuş bir subdomaine ait sitenin kurulmasının unutulmuş olmasından oluşabileceği gibi kullanım dışı/gereksiz subdomainlerin zamanında silinmesinin unutulmasından da kaynaklanabilir. Bunun yanında, zamanı dolmuş servisler tekrar aktive edilmemişse, yine subdomain takeover zafiyeti mümkündür.

DNS kayıtlarının ya da sunucunun yanlış yapılandırılması, subdomain takeover zafiyetinin en yaygın nedenlerinden biridir. Özellikle birden fazla aşamalı subdomainlerde görülme olasılığı daha fazladır.

Üçüncü parti sağlayıcıların (GitHub, WordPress, AWS, Heroku gibi) da aktif olarak kullanımda olmayan servisleri açık tutması saldırganın subdomain üzerinde kontrol sağlayabilmesine neden olmaktadır. Saldırgan bu servisler üzerinde web sayfası kurabilir.

Subdomain Takeover için çözümler;

  • Bu güvenlik açığından korunmak için otomatik araçlar ile CNAME kayıtları temizlenebilir, tüm alan adlarının CNAME bilgileri ve içerikleri kontrol edilebilir. Alan adlarını ziyaret ettiğinizde aşağıdaki tabloda görmüş olduğunuz hatalar ile karşılaşılıyorsa subdomain takeover zafiyetinden etkilenebilme durumu söz konusu olabilir.
  • Aktif olan ama kullanımda olmayan bütün DNS girdilerinin silinmesi gerekmektedir. DNS bölge dosyasından CNAME kayıtları silinmelidir.
  • Yeni bir kaynak oluşturuluyorsa, DNS kaydı oluşturma en son aşama olmalıdır.
  • Fazladan bir kayıt olup olmadığına dair DNS girdileri sürekli olarak kontrol altında tutulmalıdır.

https://tr.phhsnews.com/articles/howto/what-is-dns-cache-poisoning.html

https://www.natro.com/blog/dns-spoofing-dns-zehirlenmesi-nedir-nasil-olur/

https://www.simet.com.tr/index.cfm?fuseaction=objects2.detail_content&cid=7869

https://cahitcengizhan.com/dns-zehirlenmesi/

https://www.priviasecurity.com/dns-amplification-attack/

https://www.venitron.com/dns-amplification/

https://www.bgasecurity.com/2019/07/subdomain-takeover-saldirisi-ve-korunma-yontemi/#:~:text=Subdomain%20takeover%20(alt%20alan%20ad%C4%B1,ad%C4%B1n%C4%B1n%20ele%20ge%C3%A7irilerek%20kontrol%C3%BCn%C3%BCn%20al%C4%B1nmas%C4%B1d%C4%B1r.

https://bilishim.com/2020/11/30/subdomain-takeover-nedir.html

https://gelecegiyazanlar.turkcell.com.tr/blog/dns-guvenlik-aciklari-ve-dns-saldiri-turleri

https://www.milleni.com.tr/blog/teknik/dns-nedir

İlgili Yazılar

cisco-ip-telefonlarinda-kritik-guvenlik-acigi-kesfedildi

Cisco IP Telefonlarında Kritik Güvenlik Açığı Keşfedildi

Cisco, IP telefon web sunucusunda kimliği doğrulanmamış bir saldırgan tarafından uzaktan kod yürütülmesine olanak sağlayan kritik bir güvenlik açığının önüne...

2020 Yaz Dönemi Staj Başvuruları Hakkında

Covid-19 salgını nedeniyle 2020 yaz döneminde stajer öğrenci alımı yapılmayacaktır. Fordefence Adli Bilişim Laboratuvarı...
covid-19-tedbirlerinden-mobil-cihaz-temizligi-nasil-olmali

Covid-19 tedbirlerinden Mobil cihaz temizliği nasıl olmalı

Ceo’muz Mustafa SANSAR Haber Global Ana Haber’e ‘Covid-19 tedbirlerinden, Mobil cihaz temizliği nasıl olmalı’ Konularında görüşlerini aktardı. ...