Hoşgeldin Misafir

DNS Protokolü Kontrolü Ve DNS Sunucu Versiyon Bilgisini Bulma

Mustafa73

20 Eyl 2023
423 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
DNS protokolü, internet sitelerinin IP adreslerini alan adlarına çeviren bir sistemdir. DNS protokolü sayesinde, bir siteye erişmek istediğimizde IP adresi yerine kolayca hatırlayabileceğimiz bir alan adı yazabiliriz. DNS protokolü, bir alan adının IP adresini bulmak için bir dizi sorgu yapar. Bu sorguların sonucunda elde edilen kayıtlara DNS kayıtları denir. DNS kayıtları, bir alan adının hangi sunucuya, hangi servislere ve hangi e-posta sunucularına bağlı olduğunu gösterir. DNS kayıtları, bilgi toplama aşamasında saldırganlara hedef sistem hakkında önemli ipuçları verebilir.
DNS kayıtlarını sorgulamak için kullanılan araçlardan iki tanesi dig ve nslookup'tur. Dig ve nslookup, Linux ve Windows işletim sistemlerinde komut satırından çalıştırılabilen araçlardır. Bu araçlar, farklı DNS kayıt tiplerini sorgulamak için çeşitli parametreler alabilirler. Aşağıda, bazı araçların ve parametrelerin açıklamalarını bulabilirsiniz.
- dig: Domain Information Groper anlamına gelir. Bir alan adının DNS kayıtlarını sorgulamak için kullanılır. Örnek olarak, dig asaguvenlik.com NS komutu, asaguvenlik.com alan adının Name Server (NS) kayıtlarını sorgular. NS kayıtları, bir alan adının hangi DNS sunucuları tarafından yönetildiğini gösterir. Benzer şekilde, dig asaguvenlik.com A komutu, asaguvenlik.com alan adının A kaydını sorgular. A kaydı, bir alan adının IPv4 adresini gösterir. dig asaguvenlik.com MX komutu ise, asaguvenlik.com alan adının Mail Exchange (MX) kaydını sorgular. MX kaydı, bir alan adının hangi e-posta sunucularına yönlendirildiğini gösterir.
- nslookup: Name Server Lookup anlamına gelir. Bir alan adının veya IP adresinin DNS kayıtlarını sorgulamak için kullanılır. Örnek olarak, nslookup -type=A networkpentest.net komutu, networkpentest.net alan adının A kaydını sorgular. -type parametresi, sorgulanacak DNS kayıt tipini belirtir. nslookup -type=Ns networkpentest.net -debug -port=53 komutu ise, networkpentest.net alan adının NS kayıtlarını sorgular. -debug parametresi, sorgu sürecindeki detaylı bilgileri gösterir. -port parametresi, sorgunun hangi port üzerinden yapılacağını belirtir. DNS sorguları genellikle 53 numaralı port üzerinden yapılır. nslookup -type=any networkpentest.net komutu ise, networkpentest.net alan adının tüm DNS kayıtlarını sorgular. -type=any parametresi, herhangi bir DNS kayıt tipini belirtir.
- webtoolhup.com: Bir web sitesidir. Bu site, bir alan adının DNS kayıtlarını online olarak sorgulamak için kullanılabilir. Bu siteye girip, sorgulamak istediğiniz alan adını ve DNS kayıt tipini seçerek, sonuçları görebilirsiniz.
DNS Zone Transferi Kontrolü
DNS zone transferi kontrolü, bir DNS sunucusundaki tüm alan adı ve IP adresi kayıtlarını başka bir sunucuya aktarmak için kullanılan bir yöntemdir. Bu yöntem, hedef sistemdeki potansiyel zafiyetleri ve atak yüzeylerini belirlemek için yararlı olabilir. Ancak, DNS sunucuları genellikle bu işlemi sadece yetkili sunucularla yaparlar. Eğer bir DNS sunucusu zone transferine izin verirse, bu bir güvenlik açığı olarak kabul edilir.
DNS zone transferi yapmak için dig ve nslookup gibi araçlar kullanılabilir. Bu araçlar, DNS sunucusuna özel bir sorgu göndererek zone transferi isteğinde bulunurlar. Eğer DNS sunucusu bu isteği kabul ederse, zone transferi başlar ve tüm kayıtlar araç tarafından alınır. Aksi takdirde, DNS sunucusu bir hata mesajı döndürür.
Dig ve nslookup araçlarını kullanarak DNS zone transferi yapmak için aşağıdaki adımları izleyebilirsiniz:
1. Adım: Dig ile DNS zone transferi yapma
- Dig aracı, Linux sistemlerde DNS sorgulamaları yapmak için kullanılan bir komut satırı aracıdır.
- Dig aracını kullanarak DNS zone transferi yapmak için, hedef DNS sunucusunun adını veya IP adresini ve zone transferi istediğimiz alan adını belirtmemiz gerekir. Ayrıca, zone transferi için kullanılan DNS kayıt tipi olan AXFR'yi de eklememiz gerekir.
- Örneğin, ns16.zoonedit.com DNS sunucusundan zonetransfer.me alan adının zone transferini yapmak için, aşağıdaki komutu kullanabiliriz:
root@pentest09:/home/rıdvan/# dig @ns16.zoonedit.com zonetransfer.me axfr
- Bu komut, DNS sunucusundan zone transferi yapmaya çalışır ve eğer başarılı olursa, zonetransfer.me alan adına ait tüm kayıtları ekrana yazdırır. Eğer başarısız olursa, bir hata mesajı gösterir.
2. Adım: Nslookup ile DNS zone transferi yapma (Windows üzerinde)
- Nslookup aracı, Windows sistemlerde DNS sorgulamaları yapmak için kullanılan bir komut satırı aracıdır.
- Nslookup aracını kullanarak DNS zone transferi yapmak için, önce nslookup moduna girmemiz gerekir. Bunun için, komut satırında nslookup yazıp enter tuşuna basmamız yeterlidir.
- Sonra, hedef DNS sunucusunun adını veya IP adresini set type=ns komutu ile belirtmemiz gerekir. Bu komut, DNS sunucusunu değiştirmemizi sağlar.
- Daha sonra, zone transferi istediğimiz alan adını ls -d komutu ile sormamız gerekir. Bu komut, DNS sunucusundan zone transferi yapmaya çalışır ve eğer başarılı olursa, alan adına ait tüm kayıtları ekrana yazdırır. Eğer başarısız olursa, bir hata mesajı gösterir.
- Örneğin, ns16.zoonedit.com DNS sunucusundan zonetransfer.me alan adının zone transferini yapmak için, aşağıdaki komutları kullanabiliriz:
C:\Users\ERD>nslookup
Default Server: UnKnown
Address: 192.168.1.1
> set type=ns
> server ns16.zoonedit.com
Default Server: ns16.zoonedit.com
Address: 23.253.163.103
> ls -d zonetransfer.me
[ns16.zoonedit.com]
Can't list domain zonetransfer.me: Query refused
The DNS server refused to transfer the zone zonetransfer.me to your computer. If this is incorrect, check the zone transfer security settings for zonetransfer.me on the DNS server at IP address 23.253.163.103.
Bu komutlar, DNS sunucusunun zone transferine izin vermediğini gösterir. Eğer izin verseydi, tüm kayıtları görebilirdik.
DNS Sunucu version bilgisi bulma
DNS sunucu versiyon bilgisi, DNS sunucusunun hangi yazılımı kullandığını ve hangi özelliklere sahip olduğunu belirleyen bir metin dizisidir. DNS sunucu versiyon bilgisini öğrenmek, güvenlik analizi veya saldırı hazırlığı için yararlı olabilir. Ancak, bazı DNS sunucuları bu bilgiyi gizlemek veya değiştirmek için yapılandırılmış olabilir.
DNS sunucu versiyon bilgisini öğrenmenin birkaç yolu vardır. Bunlardan en yaygın olanları dig, nslookup ve nmap araçlarıdır. Bu araçlar, DNS sunucusuna özel bir TXT kaydı sorgusu göndererek versiyon bilgisini alabilirler. Bu sorgu, genellikle version.bind adlı bir alan adı ile yapılır. Sorgunun sonucu, DNS sunucusunun versiyon bilgisini içeren bir TXT kaydıdır.
Bu araçların kullanımına dair güncel bilgiler ve örnekler aşağıda verilmiştir:
- dig: dig, DNS sorguları yapmak için kullanılan bir komut satırı aracıdır. dig aracını kullanarak DNS sunucu versiyon bilgisini öğrenmek için şu komutu kullanabilirsiniz:
dig @<DNS sunucu adresi> version.bind chaos txt
Bu komut, DNS sunucu adresine version.bind adlı bir TXT kaydı sorgusu gönderir ve sonucu ekrana yazdırır. Örneğin, ns1.bim.artuklu.edu.tr adlı bir DNS sunucusunun versiyon bilgisini öğrenmek için şu komutu kullanabilirsiniz:
dig @ns1.bim.artuklu.edu.tr version.bind chaos txt
Bu komutun çıktısı şöyle olabilir:
; <<>> DiG 9.16.1-Ubuntu <<>> @ns1.bim.artuklu.edu.tr version.bind chaos txt
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56467
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;version.bind. CH TXT
;; ANSWER SECTION:
version.bind. 0 CH TXT "9.11.5-P4-5.1+deb10u5-Debian"
;; AUTHORITY SECTION:
version.bind. 0 CH NS version.bind.
;; Query time: 32 msec
;; SERVER: 193.140.136.5#53(193.140.136.5)
;; WHEN: Mon Jan 22 08:13:01 +03 2024
;; MSG SIZE rcvd: 86
Bu çıktıda, ANSWER SECTION bölümünde DNS sunucusunun versiyon bilgisini içeren bir TXT kaydı görülmektedir. Bu örnekte, DNS sunucusunun versiyonu "9.11.5-P4-5.1+deb10u5-Debian" olarak belirtilmiştir.
- nslookup: nslookup, DNS sorguları yapmak için kullanılan başka bir komut satırı aracıdır. nslookup aracını kullanarak DNS sunucu versiyon bilgisini öğrenmek için şu komutu kullanabilirsiniz:
nslookup -q=txt -class=chaos version.bind <DNS sunucu adresi>
Bu komut, DNS sunucu adresine version.bind adlı bir TXT kaydı sorgusu gönderir ve sonucu ekrana yazdırır. Örneğin, ns1.bim.artuklu.edu.tr adlı bir DNS sunucusunun versiyon bilgisini öğrenmek için şu komutu kullanabilirsiniz:
nslookup -q=txt -class=chaos version.bind ns1.bim.artuklu.edu.tr
Bu komutun çıktısı şöyle olabilir:
Server: ns1.bim.artuklu.edu.tr
Address: 193.140.136.5#53
version.bind text = "9.11.5-P4-5.1+deb10u5-Debian"
version.bind nameserver = version.bind.
Bu çıktıda, DNS sunucusunun versiyon bilgisini içeren bir TXT kaydı görülmektedir. Bu örnekte, DNS sunucusunun versiyonu "9.11.5-P4-5.1+deb10u5-Debian" olarak belirtilmiştir.
- nmap: nmap, ağ tarama ve güvenlik analizi için kullanılan bir komut satırı aracıdır. nmap aracını kullanarak DNS sunucu versiyon bilgisini öğrenmek için şu komutu kullanabilirsiniz:
nmap <DNS sunucu adresi> -p 53 -sU -sV
Bu komut, DNS sunucu adresine UDP port 53 üzerinden bir sorgu gönderir ve servis versiyonunu tespit etmeye çalışır. Örneğin, ns1.bim.artuklu.edu.tr adlı bir DNS sunucusunun versiyon bilgisini öğrenmek için şu komutu kullanabilirsiniz:
nmap ns1.bim.artuklu.edu.tr -p 53 -sU -sV
Bu komutun çıktısı şöyle olabilir:
Starting Nmap 7.80 ( https://nmap.org ) at 2024-01-22 08:15 +03
Nmap scan report for ns1.bim.artuklu.edu.tr (193.140.136.5)
Host is up (0.032s latency).
PORT STATE SERVICE VERSION
53/udp open domain ISC BIND 9.11.5-P4-5.1+deb10u5-Debian (Debian Linux)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 2.13 seconds
Bu çıktıda, DNS sunucusunun versiyon bilgisini içeren bir servis versiyonu görülmektedir. Bu örnekte, DNS sunucusunun versiyonu "ISC BIND 9.11.5-P4-5.1+deb10u5-Debian (Debian Linux)" olarak belirtilmiştir.