hacktricks/network-services-pentesting/pentesting-dns.md
2024-02-10 18:14:16 +00:00

30 KiB
Raw Blame History

53 - DNS Pentesting

AWS hacklemeyi sıfırdan kahramanla öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'ı desteklemenin diğer yolları:

Hemen kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu. 20+'den fazla araç ve özellikle her yerden tam bir pentest çalıştırın. Bu araçlar ve özellikler, keşiften raporlamaya kadar uzanan özel araçlar, tespit ve istismar modülleri geliştirerek pentesterlara daha fazla zaman kazandırır, daha derine inmelerini, kabukları patlatmalarını ve eğlenmelerini sağlar.

{% embed url="https://pentest-tools.com/" %}

Temel Bilgiler

Alan Adı Sistemi (DNS), kullanıcıların sayısal İnternet Protokolü (IP) adresleri yerine google.com veya facebook.com gibi kolay hatırlanan alan adları aracılığıyla web sitelerine erişmelerini sağlayan internetin dizin hizmeti olarak görev yapar. Alan adlarını IP adreslerine çevirerek, DNS web tarayıcılarının internet kaynaklarını hızlı bir şekilde yüklemesini sağlar ve çevrimiçi dünyada gezinmeyi basitleştirir.

Varsayılan port: 53

PORT     STATE SERVICE  REASON
53/tcp   open  domain  Microsoft DNS 6.1.7601 (1DB15D39) (Windows Server 2008 R2 SP1)
5353/udp open  zeroconf udp-response
53/udp   open  domain  Microsoft DNS 6.1.7601 (1DB15D39) (Windows Server 2008 R2 SP1)

Farklı DNS Sunucuları

  • DNS Kök Sunucuları: Bunlar DNS hiyerarşisinin en üstünde bulunur ve alt düzey sunucular yanıt vermezse devreye girerek üst düzey alanları yönetir. İşlevlerini Internet Corporation for Assigned Names and Numbers (ICANN) denetler ve küresel olarak 13 adet bulunur.

  • Yetkili Ad Sunucuları: Bu sunucular, belirli bölgelerindeki sorgular için kesin yanıtlar sunar ve kesin karar verme yetkisine sahiptir. Yanıt sağlayamazlarsa sorgu kök sunuculara yönlendirilir.

  • Yetkisiz Ad Sunucuları: DNS bölgelerine sahip olmayan bu sunucular, diğer sunuculara yapılan sorgular aracılığıyla alan bilgilerini toplar.

  • Önbelleğe Alma DNS Sunucusu: Bu tür bir sunucu, gelecekteki isteklerin yanıt sürelerini hızlandırmak için önceki sorgu yanıtlarını belirli bir süre boyunca belleğinde saklar ve bu süre yetkili sunucu tarafından belirlenir.

  • Yönlendirme Sunucusu: Basit bir rolü olan yönlendirme sunucuları, sorguları başka bir sunucuya iletmektedir.

  • Çözümleyici: Bilgisayarlara veya yönlendiricilere entegre edilen çözümleyiciler, yerel olarak ad çözümlemesini gerçekleştirir ve yetkili olarak kabul edilmez.

Numaralandırma

Banner Yakalama

DNS'te banner bulunmamaktadır, ancak çoğu BIND ad sunucusunda çalışacak olan version.bind. CHAOS TXT için sihirli sorguyu yakalayabilirsiniz.
Bu sorguyu dig kullanarak gerçekleştirebilirsiniz:

dig version.bind CHAOS TXT @DNS

Ayrıca, fpdns aracıyla sunucunun parmak izi de alınabilir.

Ayrıca, bir nmap betiği ile banner da alınabilir:

--script dns-nsid

Herhangi bir kayıt

ANY kaydı, DNS sunucusuna tüm mevcut girişleri sormak için kullanılır ve sunucunun ıklamaya istekli olduğu tüm bilgileri geri döndürmesini isteyebilir.

dig any victim.com @<DNS_IP>

Bölge Transferi

Bu işlem Asenkron Tam Transfer Bölgesi (AXFR) olarak kısaltılır.

dig axfr @<DNS_IP> #Try zone transfer without domain
dig axfr @<DNS_IP> <DOMAIN> #Try zone transfer guessing the domain
fierce --domain <DOMAIN> --dns-servers <DNS_IP> #Will try toperform a zone transfer against every authoritative name server and if this doesn'twork, will launch a dictionary attack

Daha Fazla Bilgi

dig ANY @<DNS_IP> <DOMAIN>     #Any information
dig A @<DNS_IP> <DOMAIN>       #Regular DNS request
dig AAAA @<DNS_IP> <DOMAIN>    #IPv6 DNS request
dig TXT @<DNS_IP> <DOMAIN>     #Information
dig MX @<DNS_IP> <DOMAIN>      #Emails related
dig NS @<DNS_IP> <DOMAIN>      #DNS that resolves that name
dig -x 192.168.0.2 @<DNS_IP>   #Reverse lookup
dig -x 2a00:1450:400c:c06::93 @<DNS_IP> #reverse IPv6 lookup

#Use [-p PORT]  or  -6 (to use ivp6 address of dns)

Otomasyon

Automation, in the context of network services pentesting, refers to the use of tools and scripts to streamline and expedite the process of testing and exploiting DNS vulnerabilities. By automating certain tasks, such as reconnaissance, enumeration, and exploitation, pentesters can save time and effort while ensuring thorough testing of DNS configurations.

Otomasyon, ağ hizmetleri pentesting bağlamında, DNS zafiyetlerinin test edilmesi ve sömürülmesi sürecini hızlandırmak ve kolaylaştırmak için araç ve komut dosyalarının kullanılması anlamına gelir. Keşif, numaralandırma ve sömürme gibi belirli görevleri otomatikleştirerek, pentester'lar DNS yapılandırmalarının kapsamlı bir şekilde test edilmesini sağlarken zaman ve çaba tasarrufu yapabilirler.

for sub in $(cat <WORDLIST>);do dig $sub.<DOMAIN> @<DNS_IP> | grep -v ';\|SOA' | sed -r '/^\s*$/d' | grep $sub | tee -a subdomains.txt;done

dnsenum --dnsserver <DNS_IP> --enum -p 0 -s 0 -o subdomains.txt -f <WORDLIST> <DOMAIN>

nslookup Kullanımı

nslookup komutu, DNS (Alan Adı Sistemi) sorgularını gerçekleştirmek için kullanılan bir araçtır. Bu araç, belirli bir IP adresine veya alan adına ait DNS kayıtlarını sorgulamak için kullanılabilir.

Kullanımı:

nslookup [alan_adı veya_IP_adresi]

Örnekler:

  • Belirli bir alan adının IP adresini sorgulamak için:
nslookup example.com
  • Belirli bir IP adresine ait alan adını sorgulamak için:
nslookup 192.168.0.1
  • Belirli bir alan adının MX (Posta Değiştiricisi) kayıtlarını sorgulamak için:
nslookup -type=mx example.com
  • Belirli bir alan adının NS (Alan Sunucusu) kayıtlarını sorgulamak için:
nslookup -type=ns example.com
  • Belirli bir alan adının TXT (Metin) kayıtlarını sorgulamak için:
nslookup -type=txt example.com
  • Belirli bir alan adının SOA (Yetki Kaydı) kaydını sorgulamak için:
nslookup -type=soa example.com
  • Belirli bir alan adının CNAME (Kanonik Ad) kaydını sorgulamak için:
nslookup -type=cname example.com
  • Belirli bir alan adının AAAA (IPv6) kayıtlarını sorgulamak için:
nslookup -type=aaaa example.com
  • Belirli bir alan adının PTR (Ters DNS) kaydını sorgulamak için:
nslookup -type=ptr 192.168.0.1
  • Belirli bir alan adının SRV (Hizmet) kayıtlarını sorgulamak için:
nslookup -type=srv _sip._tcp.example.com
  • Belirli bir alan adının NSEC (Alan Adı Güvenliği) kaydını sorgulamak için:
nslookup -type=nsec example.com
  • Belirli bir alan adının DNSKEY (DNS Anahtar) kayıtlarını sorgulamak için:
nslookup -type=dnskey example.com
  • Belirli bir alan adının DS (Alan Adı Güvenliği) kayıtlarını sorgulamak için:
nslookup -type=ds example.com
  • Belirli bir alan adının NSEC3 (Alan Adı Güvenliği) kaydını sorgulamak için:
nslookup -type=nsec3 example.com
  • Belirli bir alan adının TLSA (Transport Layer Security Authentication) kayıtlarını sorgulamak için:
nslookup -type=tlsa example.com
  • Belirli bir alan adının SSHFP (SSH Fingerprints) kayıtlarını sorgulamak için:
nslookup -type=sshfp example.com
  • Belirli bir alan adının SPF (Sender Policy Framework) kayıtlarını sorgulamak için:
nslookup -type=spf example.com
  • Belirli bir alan adının HINFO (Host Information) kayıtlarını sorgulamak için:
nslookup -type=hinfo example.com
  • Belirli bir alan adının RP (Responsible Person) kayıtlarını sorgulamak için:
nslookup -type=rp example.com
  • Belirli bir alan adının PTR (Ters DNS) kaydını sorgulamak için:
nslookup -type=ptr 192.168.0.1
  • Belirli bir alan adının A (IPv4) kayıtlarını sorgulamak için:
nslookup -type=a example.com
  • Belirli bir alan adının ANY (Tüm Kayıtlar) kayıtlarını sorgulamak için:
nslookup -type=any example.com

Not: Yukarıdaki örneklerde example.com ve 192.168.0.1 yerine ilgili alan adı veya IP adresini kullanmalısınız.

nslookup
> SERVER <IP_DNS> #Select dns server
> 127.0.0.1 #Reverse lookup of 127.0.0.1, maybe...
> <IP_MACHINE> #Reverse lookup of a machine, maybe...

Kullanışlı metasploit modülleri

Metasploit, birçok farklı ağ hizmetini hedefleyen bir dizi kullanışlı modül sunar. Bu modüller, hedef sistemlerde zafiyetler bulmak ve istismar etmek için kullanılabilir. İşte bazı kullanışlı metasploit modülleri:

  • auxiliary/scanner/dns/dns_enum: DNS sunucusunu keşfetmek ve DNS kayıtlarını toplamak için kullanılır.
  • auxiliary/scanner/dns/dns_recon: DNS sunucusunu keşfetmek ve DNS kayıtlarını toplamak için kullanılır.
  • auxiliary/scanner/dns/dns_brute: DNS sunucusunda brute force saldırısı gerçekleştirmek için kullanılır.
  • auxiliary/scanner/dns/dns_cache_snoop: DNS önbelleğini sorgulamak ve gizli bilgileri ortaya çıkarmak için kullanılır.
  • auxiliary/scanner/dns/dns_cache_poison: DNS önbelleğini zehirlemek ve hedef sistemdeki DNS yanıtlarını manipüle etmek için kullanılır.
  • auxiliary/scanner/dns/dns_transfer: DNS bölgesi transferini gerçekleştirmek için kullanılır.
  • auxiliary/scanner/dns/dns_wildcard: Hedef DNS sunucusunda joker karakterlerin kullanılıp kullanılmadığını kontrol etmek için kullanılır.

Bu modüller, DNS hizmetlerini hedefleyen birçok farklı saldırı senaryosunu gerçekleştirmek için kullanılabilir. Metasploit, bu modüllerin yanı sıra diğer birçok farklı hizmet için de kullanışlı modüller sunar.

auxiliary/gather/enum_dns #Perform enumeration actions

Kullanışlı nmap betikleri

Nmap, ağ tarama ve keşif aracı olarak kullanılan popüler bir araçtır. Nmap, kullanıcıların ağ hedeflerini taramak ve keşfetmek için çeşitli betikler kullanmasına olanak tanır. İşte bazı kullanışlı Nmap betikleri:

  • dns-brute.nse: Bu betik, DNS sunucusuna karşı brute force saldırıları gerçekleştirmek için kullanılır. DNS sunucusunda mevcut olan alan adlarını keşfetmek için kullanılabilir.

  • dns-cache-snoop.nse: Bu betik, hedef DNS sunucusunun önbelleğindeki kayıtları sorgulamak için kullanılır. Bu sayede, hedef DNS sunucusunun önbelleğindeki gizli bilgilere erişebilirsiniz.

  • dns-zone-transfer.nse: Bu betik, hedef DNS sunucusundan alan adı bölgesi transferini gerçekleştirmek için kullanılır. Bu sayede, hedef DNS sunucusunun tüm alan adı kayıtlarını elde edebilirsiniz.

  • dns-update.nse: Bu betik, hedef DNS sunucusuna DNS güncelleme istekleri göndermek için kullanılır. Bu sayede, hedef DNS sunucusunda yetkisiz güncellemeler yapabilirsiniz.

  • dns-recursion.nse: Bu betik, hedef DNS sunucusunun rekürsif sorgu özelliğini test etmek için kullanılır. Bu sayede, hedef DNS sunucusunun yetkisiz sorgulara izin verip vermediğini belirleyebilirsiniz.

Bu betikler, Nmap'ın güçlü tarama ve keşif yeteneklerini kullanarak DNS hedeflerini analiz etmenize yardımcı olur.

#Perform enumeration actions
nmap -n --script "(default and *dns*) or fcrdns or dns-srv-enum or dns-random-txid or dns-random-srcport" <IP>

DNS - Tersine BF

Tersine brute force (Reverse BF), bir hedefin IP adreslerini belirlemek için DNS sunucusunu hedefleyen bir saldırı türüdür. Bu saldırıda, saldırgan, hedefin alan adıyla ilişkili IP adreslerini keşfetmek için DNS sunucusuna talepler gönderir.

Bu saldırıyı gerçekleştirmek için aşağıdaki adımları izleyebilirsiniz:

  1. Hedef alan adını belirleyin.
  2. DNS sunucusunu belirleyin.
  3. DNS sunucusuna talepler göndermek için bir araç kullanın.
  4. DNS sunucusundan gelen yanıtları analiz edin ve hedefin IP adreslerini belirleyin.

Tersine brute force saldırısı, hedefin IP adreslerini belirlemek için etkili bir yöntem olabilir, ancak hedefin DNS sunucusunun güvenlik önlemlerini aşmak zor olabilir. Bu nedenle, bu saldırıyı gerçekleştirmeden önce yasal izinleri almak ve hedefin izni olmadan test yapmamak önemlidir.

dnsrecon -r 127.0.0.0/24 -n <IP_DNS>  #DNS reverse of all of the addresses
dnsrecon -r 127.0.1.0/24 -n <IP_DNS>  #DNS reverse of all of the addresses
dnsrecon -r <IP_DNS>/24 -n <IP_DNS>   #DNS reverse of all of the addresses
dnsrecon -d active.htb -a -n <IP_DNS> #Zone transfer

{% hint style="info" %} Eğer iç IP adreslerine çözülen alt alan adlarını bulabilirseniz, bu IP aralığı için NS'lere ters dns BF yapmayı denemelisiniz. {% endhint %}

Bunu yapmak için başka bir araç: https://github.com/amine7536/reverse-scan

Ters IP aralıklarını sorgulayabilirsiniz: https://bgp.he.net/net/205.166.76.0/24#_dns (bu araç BGP ile de yardımcı olur).

DNS - Alt Alan Adları BF

dnsenum --dnsserver <IP_DNS> --enum -p 0 -s 0 -o subdomains.txt -f subdomains-1000.txt <DOMAIN>
dnsrecon -D subdomains-1000.txt -d <DOMAIN> -n <IP_DNS>
dnscan -d <domain> -r -w subdomains-1000.txt #Bruteforce subdomains in recursive way, https://github.com/rbsec/dnscan

Active Directory sunucuları

Active Directory (AD), Microsoft tarafından geliştirilen ve ağ kaynaklarını yönetmek için kullanılan bir dizin hizmetidir. AD sunucuları, ağdaki kullanıcı hesaplarını, grupları, bilgisayarları ve diğer kaynakları yönetmek için kullanılır. AD sunucuları, ağdaki kullanıcıların kimlik doğrulamasını sağlar ve ağ kaynaklarına erişim kontrolünü yönetir.

AD sunucularını hedef alarak yapılan saldırılar, ağa erişimi elde etmek, kimlik avı yapmak veya yetkilendirme hatalarını kullanarak ayrıcalıklı erişim elde etmek gibi amaçlarla gerçekleştirilebilir. Bu nedenle, AD sunucularının güvenliğini sağlamak ve saldırılara karşı korumak önemlidir.

AD sunucularını hedef alan saldırılar arasında brute force saldırıları, kimlik avı saldırıları, zayıf şifrelerin keşfedilmesi ve yetkilendirme hatalarının kullanılması gibi yöntemler bulunur. Bu saldırıları önlemek için güçlü şifre politikaları uygulanmalı, güncel güvenlik yamaları uygulanmalı ve ağ trafiği izlenerek anormal aktiviteler tespit edilmelidir.

dig -t _gc._tcp.lab.domain.com
dig -t _ldap._tcp.lab.domain.com
dig -t _kerberos._tcp.lab.domain.com
dig -t _kpasswd._tcp.lab.domain.com

nslookup -type=srv _kerberos._tcp.<CLIENT_DOMAIN>
nslookup -type=srv _kerberos._tcp.domain.com

nmap --script dns-srv-enum --script-args "dns-srv-enum.domain='domain.com'"

DNSSec (Domain Name System Security Extensions), alan adı sistemine güvenlik eklemeleri sağlayan bir mekanizmadır. DNSSec, DNS trafiğinin bütünlüğünü ve doğruluğunu sağlamak için kullanılır. Bu, DNS sorgularının ve yanıtlarının değiştirilmediğini ve sahte olmadığını doğrulamak için dijital imzalar kullanır.

DNSSec, DNS üzerindeki çeşitli saldırıları önlemek için tasarlanmıştır. Örneğin, DNS cache zehirlenmesi saldırılarına karşı koruma sağlar. Bu saldırıda, saldırgan, DNS sunucusuna yanıltıcı bilgiler göndererek, kullanıcıları yanlış IP adreslerine yönlendirebilir. DNSSec, bu tür saldırıları tespit eder ve önler.

DNSSec, DNS hiyerarşisindeki her düğümün (kök, alan adı sunucusu, alt alan adı sunucusu) dijital bir imza kullanarak DNS kayıtlarını doğrulamasını sağlar. Bu imzalar, DNS kayıtlarının bütünlüğünü ve doğruluğunu sağlamak için kullanılır. Bir DNS istemcisi, DNS sunucusundan aldığı yanıtın doğruluğunu kontrol etmek için bu imzaları kullanır.

DNSSec, DNS güvenliğini artırmak için önemli bir adımdır. Ancak, DNSSec'in tam olarak etkili olabilmesi için tüm DNS sunucularının DNSSec'i desteklemesi gerekmektedir. Aksi takdirde, saldırganlar hala DNSSec'i desteklemeyen sunucuları hedef alabilir ve saldırılarını gerçekleştirebilir.

#Query paypal subdomains to ns3.isc-sns.info
nmap -sSU -p53 --script dns-nsec-enum --script-args dns-nsec-enum.domains=paypal.com ns3.isc-sns.info

IPv6

IPv6 alt alan adlarının IPv6 adreslerini toplamak için "AAAA" isteklerini kullanarak brute force yapın.

dnsdict6 -s -t <domain>

IPv6 Adresleri Kullanarak Ters DNS Bruteforce Yöntemi

IPv6 adreslerini kullanarak ters DNS bruteforce yöntemi, hedef sistemdeki IPv6 adreslerine karşılık gelen DNS kayıtlarını keşfetmek için kullanılır. Bu yöntem, hedef sistemdeki ağ servislerini ve altyapıyı analiz etmek için kullanışlıdır.

Adım 1: IPv6 Adres Aralığını Belirleme

İlk adım olarak, hedef sistemdeki IPv6 adres aralığını belirlememiz gerekmektedir. Bu aralığı belirlemek için çeşitli yöntemler kullanabiliriz, örneğin hedef sistemdeki ağ yapılandırma dosyalarını veya ağ tarayıcılarını kullanabiliriz.

Adım 2: Ters DNS Sorgularını Yapma

Belirlediğimiz IPv6 adres aralığı üzerinde ters DNS sorguları yaparak, hedef sistemdeki DNS kayıtlarını keşfedebiliriz. Bu sorguları yapmak için çeşitli araçlar kullanabiliriz, örneğin nslookup veya dig gibi.

Örnek Kullanım:

nslookup -type=PTR 2001:0db8:85a3:0000:0000:8a2e:0370:7334


Adım 3: Sonuçları Analiz Etme

Yaptığımız ters DNS sorgularının sonuçlarını analiz ederek, hedef sistemdeki DNS kayıtlarını elde edebiliriz. Bu kayıtlar, hedef sistemdeki ağ servislerini ve altyapıyı daha iyi anlamamıza yardımcı olacaktır.

Ters DNS bruteforce yöntemi, hedef sistemdeki IPv6 adreslerine karşılık gelen DNS kayıtlarını keşfetmek için etkili bir yöntemdir. Bu yöntem, ağ servislerini ve altyapıyı analiz etmek için kullanılan diğer tekniklerle birlikte kullanılabilir.

dnsrevenum6 pri.authdns.ripe.net 2001:67c:2e8::/48 #Will use the dns pri.authdns.ripe.net

DNS Rekürsif DDoS

Eğer DNS rekürsif etkinleştirilmişse, bir saldırgan UDP paketinde kökeni sahteleyebilir ve DNS'in yanıtı kurban sunucuya göndermesini sağlayabilir. Bir saldırgan, daha büyük yanıtlara sahip oldukları için ANY veya DNSSEC kayıt türlerini istismar edebilir.
Bir DNS'in rekürsif desteğini kontrol etmenin yolu, bir alan adını sorgulamak ve yanıtta "ra" (rekürsif kullanılabilir) bayrağının olup olmadığını kontrol etmektir:

dig google.com A @<IP>

Mevcut Değil:

Mevcut:

Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu. 20'den fazla araç ve özellikle birlikte her yerden tam bir pentest çalıştırın. Bu araçlar ve özellikler, keşiften raporlamaya kadar uzanır. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine kazma, kabukları patlatma ve eğlenme zamanı kazanıyorlar.

{% embed url="https://pentest-tools.com/" %}

Mevcut olmayan bir hesaba e-posta gönderme

Hedef bir alan içinde geçersiz bir adrese gönderilen bir e-posta tarafından tetiklenen bir teslim edilememe bildirimi (NDN) incelenerek, değerli iç ağ ayrıntıları genellikle ifşa edilir.

Sağlanan teslim edilememe raporu şu bilgileri içerir:

  • Oluşturan sunucu server.example.com olarak tanımlandı.
  • user@example.com için #550 5.1.1 RESOLVER.ADR.RecipNotFound; not found hata kodu ile bir başarısızlık bildirimi döndürüldü.
  • İç IP adresleri ve ana bilgisayar adları, orijinal ileti başlıklarında ifşa edildi.
The original message headers were modified for anonymity and now present randomized data:

Generating server: server.example.com

user@example.com
#550 5.1.1 RESOLVER.ADR.RecipNotFound; not found ##

Original message headers:

Received: from MAILSERVER01.domain.example.com (192.168.1.1) by
mailserver02.domain.example.com (192.168.2.2) with Microsoft SMTP Server (TLS)
id 14.3.174.1; Mon, 25 May 2015 14:52:22 -0700
Received: from filter.example.com (203.0.113.1) by
MAILSERVER01.domain.example.com (192.168.1.1) with Microsoft SMTP Server (TLS)
id 14.3.174.1; Mon, 25 May 2015 14:51:22 -0700
X-ASG-Debug-ID: 1432576343-0614671716190e0d0001-zOQ9WJ
Received: from gateway.domainhost.com (gateway.domainhost.com [198.51.100.37]) by
filter.example.com with ESMTP id xVNPkwaqGgdyH5Ag for user@example.com; Mon,
25 May 2015 14:52:13 -0700 (PDT)
X-Envelope-From: sender@anotherdomain.org
X-Apparent-Source-IP: 198.51.100.37

Yapılandırma dosyaları

Config files are files that contain settings and configurations for various applications and services. In the context of DNS pentesting, config files are important because they often contain sensitive information that can be exploited by attackers.

Yapılandırma dosyaları, çeşitli uygulamalar ve hizmetler için ayarları ve yapılandırmaları içeren dosyalardır. DNS pentesting bağlamında, yapılandırma dosyaları önemlidir çünkü genellikle saldırganlar tarafından istismar edilebilecek hassas bilgiler içerir.

Common DNS Config Files

Yaygın DNS Yapılandırma Dosyaları

Here are some common DNS config files that you may encounter during DNS pentesting:

DNS pentesting sırasında karşılaşabileceğiniz bazı yaygın DNS yapılandırma dosyaları aşağıda listelenmiştir:

  • named.conf: This is the main configuration file for the BIND DNS server. It contains global options and settings for the server.

  • named.conf: Bu, BIND DNS sunucusu için ana yapılandırma dosyasıdır. Sunucu için genel seçenekler ve ayarları içerir.

  • named.conf.local: This file is used to define local zones and their configurations. It is included in the main named.conf file.

  • named.conf.local: Bu dosya, yerel bölgeleri ve yapılandırmalarını tanımlamak için kullanılır. Ana named.conf dosyasına dahil edilir.

  • named.conf.options: This file contains global options and settings for the BIND DNS server. It is also included in the main named.conf file.

  • named.conf.options: Bu dosya, BIND DNS sunucusu için genel seçenekleri ve ayarları içerir. Ayrıca ana named.conf dosyasına dahil edilir.

  • resolv.conf: This file is used by the DNS resolver library to configure DNS resolution on the system. It specifies the DNS servers to use and other resolver options.

  • resolv.conf: Bu dosya, DNS çözümleyici kitaplığının sistemde DNS çözümlemesini yapılandırmak için kullandığı dosyadır. Kullanılacak DNS sunucularını ve diğer çözümleyici seçeneklerini belirtir.

Finding Config Files

Yapılandırma Dosyalarını Bulma

During DNS pentesting, it is important to identify the location of config files on the target system. Here are some techniques to find config files:

DNS pentesting sırasında, hedef sistemdeki yapılandırma dosyalarının konumunu belirlemek önemlidir. İşte yapılandırma dosyalarını bulmak için bazı teknikler:

  • Manual Search: Manually search common locations for config files such as /etc/bind/ or /etc/named/.

  • Elle Arama: /etc/bind/ veya /etc/named/ gibi yaygın yapılandırma dosyalarının konumlarını el ile arayın.

  • DNS Zone Transfers: Perform DNS zone transfers to obtain the DNS server's configuration files.

  • DNS Bölge Aktarımları: DNS bölge aktarımları gerçekleştirerek DNS sunucusunun yapılandırma dosyalarını elde edin.

  • Brute Forcing: Use brute force techniques to guess the location and names of config files.

  • Brute Force: Yapılandırma dosyalarının konumunu ve adlarını tahmin etmek için brute force tekniklerini kullanın.

Once you have identified the config files, you can analyze them for potential vulnerabilities and sensitive information that can be used for further exploitation.

Yapılandırma dosyalarını belirledikten sonra, bunları potansiyel zafiyetler ve daha fazla istismar için kullanılabilecek hassas bilgiler açısından analiz edebilirsiniz.

host.conf
/etc/resolv.conf
/etc/bind/named.conf
/etc/bind/named.conf.local
/etc/bind/named.conf.options
/etc/bind/named.conf.log
/etc/bind/*

Bind sunucusu yapılandırılırken tehlikeli ayarlar:

Seçenek ıklama
allow-query DNS sunucusuna istek göndermeye izin verilen ana bilgisayarları tanımlar.
allow-recursion DNS sunucusuna özyinelemeli istek göndermeye izin verilen ana bilgisayarları tanımlar.
allow-transfer DNS sunucusundan bölge transferlerini almasına izin verilen ana bilgisayarları tanımlar.
zone-statistics Bölgelerin istatistiksel verilerini toplar.

Referanslar

HackTricks Otomatik Komutları

Protocol_Name: DNS    #Protocol Abbreviation if there is one.
Port_Number:  53     #Comma separated if there is more than one.
Protocol_Description: Domain Name Service        #Protocol Abbreviation Spelled out

Entry_1:
Name: Notes
Description: Notes for DNS
Note: |
#These are the commands I run every time I see an open DNS port

dnsrecon -r 127.0.0.0/24 -n {IP} -d {Domain_Name}
dnsrecon -r 127.0.1.0/24 -n {IP} -d {Domain_Name}
dnsrecon -r {Network}{CIDR} -n {IP} -d {Domain_Name}
dig axfr @{IP}
dig axfr {Domain_Name} @{IP}
nslookup
SERVER {IP}
127.0.0.1
{IP}
Domain_Name
exit

https://book.hacktricks.xyz/pentesting/pentesting-dns

Entry_2:
Name: Banner Grab
Description: Grab DNS Banner
Command: dig version.bind CHAOS TXT @DNS

Entry_3:
Name: Nmap Vuln Scan
Description: Scan for Vulnerabilities with Nmap
Command: nmap -n --script "(default and *dns*) or fcrdns or dns-srv-enum or dns-random-txid or dns-random-srcport" {IP}

Entry_4:
Name: Zone Transfer
Description: Three attempts at forcing a zone transfer
Command: dig axfr @{IP} && dix axfr @{IP} {Domain_Name} && fierce --dns-servers {IP} --domain {Domain_Name}


Entry_5:
Name: Active Directory
Description: Eunuerate a DC via DNS
Command: dig -t _gc._{Domain_Name} && dig -t _ldap._{Domain_Name} && dig -t _kerberos._{Domain_Name} && dig -t _kpasswd._{Domain_Name} && nmap --script dns-srv-enum --script-args "dns-srv-enum.domain={Domain_Name}"

Entry_6:
Name: consolesless mfs enumeration
Description: DNS enumeration without the need to run msfconsole
Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/dns/dns_amp; set RHOSTS {IP}; set RPORT 53; run; exit' && msfconsole -q -x 'use auxiliary/gather/enum_dns; set RHOSTS {IP}; set RPORT 53; run; exit'

Hemen kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu. Keşiften raporlamaya kadar 20'den fazla araç ve özellikle her yerden tam bir pentest çalıştırın. Pentesterları değiştirmiyoruz - özel araçlar, tespit ve sömürü modülleri geliştiriyoruz, böylece daha derine inmek, kabukları patlatmak ve eğlenmek için zaman kazanıyorlar.

{% embed url="https://pentest-tools.com/" %}

Sıfırdan kahraman olmak için AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!

HackTricks'i desteklemenin diğer yolları: