Zone transferi(AXFR) Kullanarak Dns Bilgilerine Erişmek
Zone transfer configuration doğru bir şekilde yapılandırılmazsa üçüncü kişiler dns sunucusundaki tüm alan adlarına ait dns bilgilerine erişebilirler, bu bilgileri kullanarakta ilgi alan adlarına saldırılar düzenleyebilir, hatta bunları hackleyerek, bilgi sızmasına neden olabilirle
bind dns sunucusundaki zone transfer yapılandırma satırı şu şekildedir,
Buradaki örnekte sadece 192.168.0.3 ip adresine zone transfer izni verilmiştir, ip adresine izin verecek şekilde yapılandırma genellikle slave dns sunucuları için kullanılır. Yukarıdaki yapılandırma yerine aşağıdaki gibi bir yapılandırma yapılmış olsaydı, hiç bir istemci zone transfer işlemi yapamazdı.
Ancak bind dns sunucusu configuration dosyasında “allow-transfer” parametresi kullanılmaz ise tüm istemciler için dns transferine izin verilmiş olunur. Bu durum herkezin ilgili dns sunucusundaki tüm alan adlarına ait dns bilgilerine erişebilmesi, subdomainleri tespit edebilmesi v.b. anlamına gelir.
Bind tarafındaki configuration dan bahsettik, şimdide client tarafından allow transfer parametresi kullanılmış bir sunucu ile kullanılmamış bir sunucu arasındaki farkı görelim.
1-Zone Transferine izin verilmeyen sunucu :
## dig komutunu kullanarak kayhankayihan.com alan adına ait ns sunucularını öğrendik.
; <<>> DiG 9.9.2-P1 <<>> ns kayhankayihan.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2345
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;kayhankayihan.com. IN NS
;; ANSWER SECTION:
kayhankayihan.com. 17409 IN NS ns2.kayhankayihan.com.
kayhankayihan.com. 17409 IN NS ns1.kayhankayihan.com.
;; Query time: 55 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Sun Jul 21 01:30:54 2013
;; MSG SIZE rcvd: 82
## Zone transferine izin veriyor mu, kontrol ediyoruz.
; <<>> DiG 9.9.2-P1 <<>> @ns1.kayhankayihan.com kayhankayihan.com axfr
; (1 server found)
;; global options: +cmd
; Transfer failed.
Gördüğünüz gibi transfer failed aldık, demekki bu dns sunucusunda zone transferi engellenmiş. (DNS sunucu bind ise default olarak allow transfer none, yani dns transferine izin verilmeyecek şekilde geliyor.)
2. Zone Transferine izin verilen sunucu :
Şimdiki örneğimizde ise dns zone transferine izin vermiş olan bir sunucu daki soru sonucunu inceleyeceğiz.
Not : Örnekte kullanılan dns sunucudaki alan adlarının zarar görmemesi için alan adı ve ip adresleri farklı alan adı ve ip adresleri ile replace edilmiştir.
; <<>> DiG 9.9.2-P1 <<>> @ns1.example.com example.com axfr
; (1 server found)
;; global options: +cmd
example.com. 3600 IN SOA ns1.example.com. hostmaster.example.com. 2009051396 1800 600 86400 3600
example.com. 3600 IN A 1.1.1.201
example.com. 3600 IN NS ns1.example.com.
example.com. 3600 IN NS ns2.example.com.
example.com. 3600 IN NS nsp1.example.com.
example.com. 3600 IN NS nsp2.example.com.
example.com. 3600 IN NS ns4.example.com.
example.com. 3600 IN MX 10 mail.example.com.
example.com. 3600 IN TXT “v=spf1 mx ptr ip4:1.1.1.1 +all”
mail.example.com. 3600 IN A 1.1.1.1
ns1.example.com. 3600 IN A 1.1.1.2
ns10.example.com. 3600 IN A 213.139.193.2
ns2.example.com. 1200 IN A 1.1.1.5
ns2.example.com. 1200 IN AAAA 2002:5d5e:f903::5d5e:f903
ns20.example.com. 3600 IN A 1.1.1.5
ns4.example.com. 3600 IN A 1.1.1.22
nsp1.example.com. 3600 IN A 1.1.1.3
nsp2.example.com. 3600 IN A 123.123.123.123
webmail.example.com. 3600 IN A 1.1.1.25
wiki.example.com. 3600 IN A 1.1.1.4
wpad.example.com. 1200 IN A 127.0.0.1
www.example.com. 3600 IN A 1.1.1.201
example.com. 3600 IN SOA ns1.example.com. hostmaster.example.com. 2009051396 1800 600 86400 3600
;; Query time: 33 msec
;; SERVER: 1.1.1.2#53(1.1.1.2)
;; WHEN: Sun Jul 21 01:37:24 2013
;; XFR size: 23 records (messages 23, bytes 1308)
Gördüğümüz gibi alan adına ait tüm dns bilgilerine erişebildik. example.com wiki kullanıyor örneğin.
Dns transferini kapatmak alan adının subdomainlerinizin tespit edilemeyeceği anlamına gelmiyor, fierce, dnstalk, theharvester gibi uygulamalar ile subdomain tespit edilebilir ancak %100 başarılı olacak olan yöntem dns transferi ile elde edilecek olan bilgidir.
Kaynak