DNS Zone Transferi Mantığını Anlamak

PwnLab.Me

Admin
Katılım
21 Ocak 2024
Mesajlar
205
Tepkime puanı
11
Puanları
18
Tarık Eren Taşdemir tarafından yazılmıştır.

[TR] DNS Zone Transferi Mantığını Anlamak​


Arkadaşlar selam ben Tarık Eren Taşdemir,

Bu yazımda sizlere DNS zone transferinin mantığını anlatmaya çalışacağım ve bu zafiyeti manuel ve araç yardımıyla sömürmeyi göstereceğim. İlk olarak size DNS teknolojisinden bahsedeyim.

DNS yani (Domain Name System) yani Alan Adı Sistemi bir aklımızda birden fazla web sunucusunun ip adresini tutamayacağımızdan dolayı çıkmış bir sistemdir. Akılda kalıcı olan domainler ile ip adresi eşleşmesini yapar ve bizde bir web sunucusunun ip adresini ezberlemek yerine domain ismini( www.example.com gibi) tarayıcıya girdiğimizde alan adı ve ip çözümlemesini yaparak routerların anlayacağı şekilde ip adresine dönüşür ve biz istediğimiz web sunucusuna yönlendiriliriz.

Domain Name Server ise bu sistem için oluşturulmuş ve sürekli hizmet vermek üzere ayarlanmış sunuculardır , zone dediğimiz kısımlarında birçok domain ve karşılık geldiği ip adres bilgisini tutarlar ve gelen requeste göre karşılık verirler.





Peki bir domain sorgusunun yolu nasıldır?​


Bunu size Linux bir sistem üzerinden örnekleyeceğim.

  • /etc/hosts: Linux sistemlerde önceden bir domain sorgusu yapılmış ise bu domain ve karşılık geldiği ip adresi /etc/hosts dosyasına kayıt edilir ve aynı web sitesine tekrar gidilecek olunursa önce buraya bakılır kayıtlı ise ip domain çözümlemesi yapılarak web sunucusuna erişim sağlanır.





(örnek bir /etc/hosts dosyası görüntüsü.)

  • DNS Çözümleyicisi (İnternet Servis Sağlayıcısı): Eğer aranan ip adresi /etc/hosts dosyasında yoksa dış ağa ilk ip sorgulanmasının yapıldığı yerdir . Internet Servis Sağlayıcılarıdır (Türk Telekom ,Türkcell gibi).İnternet servis sağlayıcısı domain karşılık geldiği ip adresini bağlı olduğu ROOT DNS’e sorar.



  • ROOT DNS: DNS sisteminin en tepesindeki sunuculardır. Diğer DNS sunucuları ROOT DNS ile sürekli bağlantıda olup veri akışı sağlarlar, hangi domainin hangi ip adresinde bulunduğunu aktarırlar. ROOT DNS ona sorulan ip adresini bağlı bulunduğu uzantıya göre TLD Server’a yönlendirir
  • TLD Server: TLD (Top Level Domain) domainin sonundaki uzantıdır (.com,.net gibi). Bu uzantıların kayıtlarının tutulduğu serverlardır ve uzantıya göre alan adının bulunduğu Name Server’a sizi yönlendir.
  • Name Server : Aradığımız domainlerin ve karşılık geldiği ip adreslerinin tutulduğu sunuculardır. IP adresini buradan öğrenip web sunucusuna ilerleme sağlarız.

DNS ZONE TRANSFER NEDİR​


DNS zone transfer, DNS veri tabanının bir sunucudan başka bir sunucuya aktarılmasıdır. Birden fazla name server varsa bu name serverlar zonelarını güncel tutmak için PRİMARY DNS ten o zoneyi çekerler.



DNS zone transfer zafiyetinde de konfigürasyon temelli bir hatadan dolayı biz o zoneda kayıtlı bütün domainlere ulaşıp elimizdeki hedefleri arttırıyoruz ve bir o kadar da atak vektörü sayımız artabiliyor.







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.

Bu yazımda amacım bu zafiyetin sömürüsünü hem manuel hem de araçla göstermek. Neden manuel olarak gösteriyorum çünkü bazen araçlarda hatalar olabiliyor kısacası elimiz kolumuz bağlanamasın diye.



Manuel uygulama​




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.

Host komutunu genellikle hedefin ip adres çözümlemesini yaparken kullanırız.





Yukarıda görüldüğü gibi hedefin ip adresini öğrenmiş olduk.

Host komutunun yardım menüsünden detaylı kullanımına bakabilirsiniz.





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

Komutumuz: host –t ns zonetransfer.me

-t (type)

ns (name server)







Yukarıda görüldüğü gibi iki adet name server tespit edildi.

Bizim zone transfer için kullanacağımız parametre –l parametresi olacak ve bu sayede aktarımı gerçekleştireceğiz.

Komutumuz : host –l (ana domain) (name server)







Yukarda görüldüğü gibi zone transfer açığını sömürdük ve bize kayıtlı olan tüm subdomainler getirildi.

Araç ile zone transfer sömürüsü​


Bu kısımda ise hepinizin mutlaka adını duyduğu veya kullandığı dnsenum aracını kullanacağım.

Komutumuz : dnsenum zonetransfer.me







Görüldüğü gibi araçla zonetransfer sömürüsü de bu şekildedir.

Okuduğunuz için teşekkür ederim
🙂
 
Moderatör tarafında düzenlendi:
Geri
Üst