NMAP dns-zone-transfer Betiği, Dig, Host ve Nslookup Araçları Kullanılarak DNS Sunucularda Bölge Transferinin Gerçekleştirilmesi

DNS sunucularda bulunan kayıtların birbirlerine iletilmesi / paylaşılması gerekebilir. Gerekli güvenlik önlemlerinin alınmadığı durumlarda, bir bölgedeki (zone) tüm adres kayıtlarına yetkisiz kişilerce erişilebilir ve bu durum bilgi ifşasına sebep olabilir. Bu yazıda NMAP dns-zone-transfer betiği, dig, host ve nslookup araçları kullanılarak DNS sunucuda bölge transferi (zone tranfer) gerçekleştirilecektir.

DNS sunucuda bölge transferi (zone transfer), organizasyondaki bir DNS sunucusu üzerindeki kayıtların, başka bir DNS sunucusu üzerindeki kayıtlarla replike olmasıdır. Bölge transferinin yapılmasının 2 temel nedeni vardır:

  • Yük Dengeleme (Load Balancing): Bir bölgedeki istemci, sorgusunu kendi bölgesindeki DNS sunucusundan gerçekleştirebilmesi sağlanmış olur.
  • Hata Toleransı (Fault Tolerance): Bir DNS sunucu hizmet veremezse, diğer DNS sunucu tarafından sorgulara yanıt verilebilir.

Eğer yetkisiz kullanıcıların bölge transferi yapmasına izin verilirse, kötü niyetli kişinin/kişilerin DNS sunucuya girilmiş tüm adres kayıtlarına erişmesi mümkün olacaktır. Böyle bir durumda saldırganlar, o sisteme ait DNS üzerinde kaydı bulunan sistemler hakkında bilgi sahibi olabilir.

Bu yazıda gerçekleştirilecek işlemler 6 başlık altında incelenecektir.

i) Bir etki alanının DNS sunucusu tespit edilecektir.
ii) NMAP dns-zone-transfer betiği, dig, host ve nslookup araçları kullanılarak DNS sunucuda bölge transferi gerçekleştirilecektir
iii) Toplu olarak bölge transferi gerçekleştirilecektir.
iv) Microsoft DNS sunucuda bölge transferinin yapılandırılması incelenecektir.
v) Bind DNS sunucuda bölge transferinin yapılandırılması incelenecektir.
vi) Güvenli şekilde yapılandırılan DNS sunucuda bölge transferi gerçekleştirilmeye çalışılacaktır.

 

1) Etki Alanının DNS Sunucusunun Tespiti

Bir etki alanının kayıtlarının tespiti için nslookup aracı kullanılabilir. Bulunulan ortamda 50.25.25.128 IP adresi DNS sunucu olarak kullanılmakta ve “www.websayfam.com.tr” sayfasının IP adresinin 150.75.75.175 olduğu görülmüştür. Bu etki alanı içeren DNS sunucusu olarak da ns.websayfam.com.tr olduğu ve bu DNS sunucunun IP adresinin ise 200.100.100.128 olduğu görülmüştür.

nslookup www.websayfam.com.tr
nslookup -type=ns www.websayfam.com.tr
nslookup ns.websayfam.com.tr

Şekil - 01: Bir Etki Alanının DNS Sunucususunun Tespit Edilmesi

Şekil – 01: Bir Etki Alanının DNS Sunucususunun Tespit Edilmesi

 

 

2) DNS Sunucuda Bölge Transferinin Gerçekleştirilmesi

200.100.100.128 DNS sunucusu hakkında bilgi edinmek için Nmap betiği kullanılabilir.

nmap 200.100.100.128 -Pn -n –open -sU -sT -p T:53,U:53
nmap 200.100.100.128 -Pn -n –open -sU -sT -p T:53,U:53 -sV -O

Şekil - 02: NMAP ile DNS Servisi Hakkında Bilgi Edinme

Şekil – 02: NMAP ile DNS Servisi Hakkında Bilgi Edinme

 

“websayfam.com.tr” etki alanı için DNS sunucunun 200.100.100.128 olduğu bulunmuştu. Bu DNS sunucu için bölge transferi gerçekleştirmek için NMAP dns-zone-transfer betiği, dig, host ve nslookup araçları kullanılabilir.

NMAP dns-zone-transfer betiği ile bölge transferi aşağıdaki gibi gerçekleştirilebilir.

nmap 200.100.100.128 -p53 –script dns-zone-trasnfer.nse –script-args dnszonetransfer.domain=websayfam.com.tr

Şekil - 03: NMAP dns-zone-transfer Betiği ile Bölge Transferinin Gerçekleştirilmesi

Şekil – 03: NMAP dns-zone-transfer Betiği ile Bölge Transferinin Gerçekleştirilmesi

 

Kullanılan DNS sunucu internette hizmet vermesine rağmen, İç DNS sunucusuymuş gibi iç IP bloklarını (iç ağda kullanılan istemci ve sunucu IP adreslerini) içerdiği de görülmektedir. Ancak dış DNS sunucuda bu şekilde kayıtların olmaması gereklidir.

Not: “Sunucu2” için IP adresi “172.16.11.60” olması gerekirken, yanlışlıkla “172.168.1.60” olarak girilmiştir.

 

Linux “dig” aracı ile bölge transferi aşağıdaki gibi gerçekleştirilebilir.

dig axfr @200.100.100.128 websayfam.com.tr

Şekil - 04: Linux Dig Aracı ile Bölge Transferinin Gerçekleştirilmesi

Şekil – 04: Linux Dig Aracı ile Bölge Transferinin Gerçekleştirilmesi

 

Linux “host” aracı ile bölge transferi aşağıdaki gibi gerçekleştirilebilir.

host -t axfr websayfam.com.tr 200.100.100.128

Şekil - 05: Linux Host Aracı ile Bölge Transferinin Gerçekleştirilmesi

Şekil – 05: Linux Host Aracı ile Bölge Transferinin Gerçekleştirilmesi

 

Windows “nslookup” aracı ile bölge transferi aşağıdaki gibi gerçekleştirilebilir.

nslookup
server 200.100.100.128
set type=any
ls -d websayfam.com.tr

Şekil - 06: Windows Nslookup Aracı ile Bölge Transferinin Gerçekleştirilmesi

Şekil – 06: Windows Nslookup Aracı ile Bölge Transferinin Gerçekleştirilmesi

 

Bu araçların yanında dnsenum, dnsrecon, fierce, dnsmap gibi araçlar da kullanılabilir. Diğer araçlar için bakınız:

http://securityblog.gr/1035/dns-transfer-zone/
https://www.intelligentexploit.com/articles/How-to:DNS-Enumeration.pdf

 

3) Özel Bir Betikle Bölge Transferinin Gerçekleştirilmesi

Bölge transferi için kısa bir betik ile etki alanı için her bir DNS sunucusu bulunabilir ve bu DNS sunucularda bölge transferleri denenebilir.
Örnek olarak “websayfam.com.tr” etki alanı için ek bir DNS sunucusu (ns.geneleacikdns.com) eklenmiş olsun.

Şekil - 07: Bir Etki Alanı için NS Kayıtlarının İncelenmesi

Şekil – 07: Bir Etki Alanı için NS Kayıtlarının İncelenmesi

 

Bu etki alanı için DNS sunucularının listesi ve her bir DNS sunucuda bölge transferi gerçekleştirilmesi aşağıdaki gibidir.

EtkiAlani=”web.sayfam.com.tr”
dig NS $EtkiAlani +short | sed -e “s/\.$//g” | while read DnsSunucusu; do echo “Testing $EtkiAlani @ $DnsSunucusu”; dig AXFR $EtkiAlani “@$DnsSunucusu”; done

Şekil - 08: Otomatik Olarak Bölge Transferinin Gerçekleştirilmesi

Şekil – 08: Otomatik Olarak Bölge Transferinin Gerçekleştirilmesi

Not: Ortamda tek bir DNS sunucusu olduğu ve aynı alan adı olduğu için aynı sonuçlar çıkmıştır.

 

4) Microsoft DNS Sunucuda Bölge Transferinin Yapılandırılması

Bölge transferi DNS sunucuda “Allow Zone Transfers” seçeneği ile yapılandırılabilir.

DNS Konsolu > Sunucu Adı > Forward Lookup Zones > Etki Alanı Adı > Properties > Zone Transfers

Şekil - 09: Microsoft DNS Sunucuda Bölge Transferinin Yapılandırılması

Şekil – 09: Microsoft DNS Sunucuda Bölge Transferinin Yapılandırılması

 

Saldırı yüzeyini azaltmak için, iç ve dış DNS sunucularında bölge transferi iptal edilmeli veya sadece belli sunucuların (ikincil DNS sunucularının) bölge transferi gerçekleştirmesi sağlanmalıdır. Bir diğer seçenek ise, “Name Servers” sekmesindeki DNS sunucular için bölge trasnferine izin verilmesidir.

 

5) Bind DNS Sunucuda Bölge Transferinin Yapılandırılması

Bind DNS sunucuda tüm bölgeler için transferi yapılandırma işlemleri varsayılan olarak /etc/bind/named.conf.options dosyasında gerçekleştirilebilir. Örneğin 100.100.100.100 IP adresi ile bölge transferi aşağıdaki gibi yapılandırılabilir.

options {

allow-transfer { 100.100.100.100; };
// …
};

Bunun yanında alan adı transferinin iptal edilme işlem aşağıdaki gibidir.

options {

allow-transfer { any; };
// …
};

Eğer bölge transferi ihtiyacı yoksa “none” ile bu durum belirtilebilir.

options {

allow-transfer { none; };
// …
};

Eğer sadece belli bir alan için bölge transferi gerçekleştirme ihtiyacı varsa o bölge alanı içerisinde yapılandırma gerçekleştirilebilir. Örneğin; “websayfam.com.tr” etki alanı için /etc/bind/named.conf.local dosyasındaki bir yapılandırma aşağıdaki gibidir:


zone “websayfam.com.tr” {
type master;
file “/etc/bind/db.websayfam.com.tr”;
allow-transfer { 100.100.100.100; };
};

 

6) Bölge Transferi Engellendiği Durumda Transfer İşleminin Gerçekleştirilmesi

Bölge transferinin engellendiği durumlarda yetkisiz kişilerce kayıtların elde edilmesi önlenebilir.

Bölge transferi engellendiği durumda Nmap dns-zone-transfer betiği, Linux “host” aracı ve Linux “host” aracı ile bölge transferi denemeleri aşağıdaki gibidir.

nmap 200.100.100.128 -p53 –script dns-zone-trasnfer.nse –script-args dnszonetransfer.domain=websayfam.com.tr
dig axfr @200.100.100.128 websayfam.com.tr
host -t axfr websayfam.com.tr 200.100.100.128

Şekil - 10: Nmap dns-zone-transfer Betiği, Linux host Aracı ve Linux host Aracı ile Bölge Transferinin Gerçekleştirilme Denemeleri

Şekil – 10: Nmap dns-zone-transfer Betiği, Linux host Aracı ve Linux host Aracı ile Bölge Transferinin Gerçekleştirilme Denemeleri

 

Bölge transferi engellendiği durumda Windows “nslookup” aracı ile bölge transferi denemeleri aşağıdaki gibidir.

nslookup
server 200.100.100.128
set type=any
ls -d websayfam.com.tr

Şekil - 11: Windows Nslookup Aracı ile Bölge Transferinin Gerçekleştirilme Denemesi

Şekil – 11: Windows Nslookup Aracı ile Bölge Transferinin Gerçekleştirilme Denemesi

 

 

Yazarın Bilgileri

Ertuğrul BAŞARANOĞLU
Ertuğrul BAŞARANOĞLU

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kullanabileceğiniz HTLM etiketleri ve özellikleri: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Bu sayfada incelenen konulardan doğacak sorunlar kişinin kendi sorumluluğundadır.