zone Transfer ; dns serverların kurulumu sırasında konfigrasyon hatasından oluşan bir açık türüdür.
Öncelikle dns server nedir ve nasıl çalışır bundan bahsedeceğim.
DNS (domain name server) her web sitenin bir ip adresi vardır.Biz hangi siteye gitmek istersek onun ip adresine gideriz . Bunu bir kordinat olarak da düşünebiliriz.Avcılardan metrobüse bindiğimizde durak isimleri yerine kordinatların yazdığını düşünürsek hayatımız bir hayli zor olurdu. İşte bunun yerine isimler veriyoruz. İl ,ilçe,mahalle gibi . DNS de bizim verdiğimiz adres bilgisidir aslında. İp adreslerin karşılığında hangi isimleri tuttuğumuz bir serverdır. Googleye gitmek istediğimiz de ip adresini aklımızda tutamayız. Lakin isimleri tutabiliriz. Zone transferi ise birden fazla domain name server var ise diğer name serverların zone içeriklerini güncel tutabilmesi için Primary DNS serverdan zonu çekip kullanmalarını sağlayan bir özelliktir. Yani DNS serverlar arasındaki database replication'ın karşılaştırılmasını sağlarız. Zone dosyası , o zone için yapılandırılmış DNS isimlerini içerir.Buradaki konfigürasyon hatasından dolayı biz bütün subdomainleri öğrenip. Bu subdomainler hakkında bilgi toplayabiliriz . Ve Bir saldırı gerçekleştirebiliriz. Örnek bir zone transfer açığı kontrolü için sadece birkaç linux komutu ile kontrol edebiliriz.
xxxx.gov.tr hedefimiz olsun
host -t ns xxxx.gov.tr // bu sorgu ile name serverları elde ederiz. Genelde birden fazla çıkar . Hepsini denememiz gerekiyor. Buradaki çıkan sonuçları aşağıdaki sorguya koyacağız.
ns1.xxxx.gov.tr ve ns2.xxxx.gov.tr çıktılarımız olsun.
ikinci aşama ise
host -l xxx.gov.tr ns1.xxxx.gov.tr // değer dönerse subdomainler gelecektir . Gelmez ise diğer sonuçları deneyeceğiz
host -l xxxx.gov.tr ns2.xxxx.gov.tr