hacktricks/network-services-pentesting/pentesting-dns.md

582 lines
30 KiB
Markdown
Raw Normal View History

2024-02-10 18:14:16 +00:00
# 53 - DNS Pentesting
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 18:14:16 +00:00
<summary><strong>AWS hacklemeyi sıfırdan kahramanla öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 18:14:16 +00:00
HackTricks'ı desteklemenin diğer yolları:
2024-01-03 10:42:55 +00:00
2024-02-10 18:14:16 +00:00
* **Şirketinizi HackTricks'te reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'ı takip edin**.
* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
2022-04-28 16:01:33 +00:00
</details>
2024-01-11 13:18:30 +00:00
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
2024-02-10 18:14:16 +00:00
**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.
2024-01-11 13:18:30 +00:00
{% embed url="https://pentest-tools.com/" %}
2024-02-10 18:14:16 +00:00
## **Temel Bilgiler**
2024-02-10 18:14:16 +00:00
**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.
2024-02-10 18:14:16 +00:00
**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)
```
2024-02-10 18:14:16 +00:00
### Farklı DNS Sunucuları
2024-02-10 18:14:16 +00:00
- **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.
2024-02-06 03:10:38 +00:00
2024-02-10 18:14:16 +00:00
- **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.
2024-02-06 03:10:38 +00:00
2024-02-10 18:14:16 +00:00
- **Yetkisiz Ad Sunucuları**: DNS bölgelerine sahip olmayan bu sunucular, diğer sunuculara yapılan sorgular aracılığıyla alan bilgilerini toplar.
2024-02-06 03:10:38 +00:00
2024-02-10 18:14:16 +00:00
- **Ö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.
2024-02-06 03:10:38 +00:00
2024-02-10 18:14:16 +00:00
- **Yönlendirme Sunucusu**: Basit bir rolü olan yönlendirme sunucuları, sorguları başka bir sunucuya iletmektedir.
2024-02-10 18:14:16 +00:00
- **Çözümleyici**: Bilgisayarlara veya yönlendiricilere entegre edilen çözümleyiciler, yerel olarak ad çözümlemesini gerçekleştirir ve yetkili olarak kabul edilmez.
2022-10-02 19:15:35 +00:00
2024-02-10 18:14:16 +00:00
## Numaralandırma
2022-10-02 19:15:35 +00:00
2024-02-10 18:14:16 +00:00
### **Banner Yakalama**
2024-02-10 18:14:16 +00:00
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:
```bash
dig version.bind CHAOS TXT @DNS
```
2024-02-10 18:14:16 +00:00
Ayrıca, [`fpdns`](https://github.com/kirei/fpdns) aracıyla sunucunun parmak izi de alınabilir.
2024-02-10 18:14:16 +00:00
Ayrıca, bir **nmap** betiği ile banner da alınabilir:
```
--script dns-nsid
```
2024-02-10 18:14:16 +00:00
### **Herhangi bir kayıt**
2024-02-10 18:14:16 +00:00
**ANY** kaydı, DNS sunucusuna **tüm mevcut girişleri** sormak için kullanılır ve sunucunun **açıklamaya istekli olduğu** tüm bilgileri **geri döndürmesini** isteyebilir.
2022-10-02 19:15:35 +00:00
```bash
dig any victim.com @<DNS_IP>
```
2024-02-10 18:14:16 +00:00
### **Bölge Transferi**
2022-10-02 19:15:35 +00:00
2024-02-10 18:14:16 +00:00
Bu işlem `Asenkron Tam Transfer Bölgesi` (`AXFR`) olarak kısaltılır.
```bash
dig axfr @<DNS_IP> #Try zone transfer without domain
dig axfr @<DNS_IP> <DOMAIN> #Try zone transfer guessing the domain
2021-06-20 12:09:34 +00:00
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
```
2024-02-10 18:14:16 +00:00
### Daha Fazla Bilgi
```bash
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)
```
2024-02-10 18:14:16 +00:00
#### 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.
2023-08-15 08:09:34 +00:00
```bash
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
2023-08-15 08:09:34 +00:00
dnsenum --dnsserver <DNS_IP> --enum -p 0 -s 0 -o subdomains.txt -f <WORDLIST> <DOMAIN>
```
2024-02-10 18:14:16 +00:00
#### 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ı:**
```bash
nslookup [alan_adı veya_IP_adresi]
```
**Örnekler:**
- Belirli bir alan adının IP adresini sorgulamak için:
```bash
nslookup example.com
```
- Belirli bir IP adresine ait alan adını sorgulamak için:
```bash
nslookup 192.168.0.1
```
- Belirli bir alan adının MX (Posta Değiştiricisi) kayıtlarını sorgulamak için:
```bash
nslookup -type=mx example.com
```
- Belirli bir alan adının NS (Alan Sunucusu) kayıtlarını sorgulamak için:
```bash
nslookup -type=ns example.com
```
- Belirli bir alan adının TXT (Metin) kayıtlarını sorgulamak için:
```bash
nslookup -type=txt example.com
```
- Belirli bir alan adının SOA (Yetki Kaydı) kaydını sorgulamak için:
```bash
nslookup -type=soa example.com
```
- Belirli bir alan adının CNAME (Kanonik Ad) kaydını sorgulamak için:
```bash
nslookup -type=cname example.com
```
- Belirli bir alan adının AAAA (IPv6) kayıtlarını sorgulamak için:
```bash
nslookup -type=aaaa example.com
```
- Belirli bir alan adının PTR (Ters DNS) kaydını sorgulamak için:
```bash
nslookup -type=ptr 192.168.0.1
```
- Belirli bir alan adının SRV (Hizmet) kayıtlarını sorgulamak için:
```bash
nslookup -type=srv _sip._tcp.example.com
```
- Belirli bir alan adının NSEC (Alan Adı Güvenliği) kaydını sorgulamak için:
```bash
nslookup -type=nsec example.com
```
- Belirli bir alan adının DNSKEY (DNS Anahtar) kayıtlarını sorgulamak için:
```bash
nslookup -type=dnskey example.com
```
- Belirli bir alan adının DS (Alan Adı Güvenliği) kayıtlarını sorgulamak için:
```bash
nslookup -type=ds example.com
```
- Belirli bir alan adının NSEC3 (Alan Adı Güvenliği) kaydını sorgulamak için:
```bash
nslookup -type=nsec3 example.com
```
- Belirli bir alan adının TLSA (Transport Layer Security Authentication) kayıtlarını sorgulamak için:
```bash
nslookup -type=tlsa example.com
```
- Belirli bir alan adının SSHFP (SSH Fingerprints) kayıtlarını sorgulamak için:
```bash
nslookup -type=sshfp example.com
```
- Belirli bir alan adının SPF (Sender Policy Framework) kayıtlarını sorgulamak için:
2024-02-10 18:14:16 +00:00
```bash
nslookup -type=spf example.com
```
- Belirli bir alan adının HINFO (Host Information) kayıtlarını sorgulamak için:
```bash
nslookup -type=hinfo example.com
```
- Belirli bir alan adının RP (Responsible Person) kayıtlarını sorgulamak için:
```bash
nslookup -type=rp example.com
```
- Belirli bir alan adının PTR (Ters DNS) kaydını sorgulamak için:
```bash
nslookup -type=ptr 192.168.0.1
```
- Belirli bir alan adının A (IPv4) kayıtlarını sorgulamak için:
```bash
nslookup -type=a example.com
```
- Belirli bir alan adının ANY (Tüm Kayıtlar) kayıtlarını sorgulamak için:
```bash
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.
```bash
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...
```
2024-02-10 18:14:16 +00:00
### 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:
2024-02-10 18:14:16 +00:00
- `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.
2024-02-10 18:14:16 +00:00
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.
```bash
auxiliary/gather/enum_dns #Perform enumeration actions
```
2024-02-10 18:14:16 +00:00
### 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.
2024-02-10 18:14:16 +00:00
- **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.
2024-02-10 18:14:16 +00:00
- **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.
```bash
#Perform enumeration actions
nmap -n --script "(default and *dns*) or fcrdns or dns-srv-enum or dns-random-txid or dns-random-srcport" <IP>
```
2024-02-10 18:14:16 +00:00
### 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.
2024-02-10 18:14:16 +00:00
Bu saldırıyı gerçekleştirmek için aşağıdaki adımları izleyebilirsiniz:
2024-02-10 18:14:16 +00:00
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.
```bash
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
```
2021-04-02 19:21:43 +00:00
{% hint style="info" %}
2024-02-10 18:14:16 +00:00
Eğer iç IP adreslerine çözülen alt alan adlarını bulabilirseniz, bu IP aralığı için NS'lere ters dns BF yapmayı denemelisiniz.
2021-04-02 19:21:43 +00:00
{% endhint %}
2024-02-10 18:14:16 +00:00
Bunu yapmak için başka bir araç: [https://github.com/amine7536/reverse-scan](https://github.com/amine7536/reverse-scan)
2024-02-10 18:14:16 +00:00
Ters IP aralıklarını sorgulayabilirsiniz: [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (bu araç BGP ile de yardımcı olur).
2024-02-10 18:14:16 +00:00
### DNS - Alt Alan Adları BF
```bash
2022-10-02 19:15:35 +00:00
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
```
2024-02-10 18:14:16 +00:00
### 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.
2024-02-10 18:14:16 +00:00
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.
2024-02-10 18:14:16 +00:00
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.
2023-11-03 01:17:04 +00:00
```bash
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
2023-11-03 01:17:04 +00:00
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'"
```
2024-02-10 18:14:16 +00:00
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.
2024-02-10 18:14:16 +00:00
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.
2024-02-10 18:14:16 +00:00
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.
```bash
2024-02-10 18:14:16 +00:00
#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
```
2022-10-02 19:15:35 +00:00
### IPv6
2024-02-10 18:14:16 +00:00
IPv6 alt alan adlarının IPv6 adreslerini toplamak için "AAAA" isteklerini kullanarak brute force yapın.
```bash
dnsdict6 -s -t <domain>
```
2024-02-10 18:14:16 +00:00
# IPv6 Adresleri Kullanarak Ters DNS Bruteforce Yöntemi
2024-02-10 18:14:16 +00:00
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.
```markdown
Örnek Kullanım:
```
nslookup -type=PTR 2001:0db8:85a3:0000:0000:8a2e:0370:7334
```
```
2024-02-10 18:14:16 +00:00
## Adım 3: Sonuçları Analiz Etme
2024-02-10 18:14:16 +00:00
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.
2024-02-10 18:14:16 +00:00
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.
```bash
2024-02-10 18:14:16 +00:00
dnsrevenum6 pri.authdns.ripe.net 2001:67c:2e8::/48 #Will use the dns pri.authdns.ripe.net
```
2024-02-10 18:14:16 +00:00
### DNS Rekürsif DDoS
2024-02-10 18:14:16 +00:00
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**:
```bash
dig google.com A @<IP>
```
**Mevcut Değil**:
![](<../.gitbook/assets/image (275).png>)
2024-02-10 18:14:16 +00:00
**Mevcut**:
![](<../.gitbook/assets/image (276).png>)
2024-01-11 13:18:30 +00:00
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
2024-02-10 18:14:16 +00:00
**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.
2024-01-11 13:18:30 +00:00
{% embed url="https://pentest-tools.com/" %}
2024-02-10 18:14:16 +00:00
### Mevcut olmayan bir hesaba e-posta gönderme
2024-02-10 18:14:16 +00:00
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.
2024-02-10 18:14:16 +00:00
Sağlanan teslim edilememe raporu şu bilgileri içerir:
2024-02-10 18:14:16 +00:00
- 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.
2024-02-06 03:10:38 +00:00
```markdown
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:
2024-02-06 03:10:38 +00:00
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
```
2024-02-10 18:14:16 +00:00
## 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.
2024-02-10 18:14:16 +00:00
- **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.
2024-02-10 18:14:16 +00:00
- **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
2022-10-02 19:15:35 +00:00
/etc/resolv.conf
/etc/bind/named.conf
/etc/bind/named.conf.local
/etc/bind/named.conf.options
/etc/bind/named.conf.log
/etc/bind/*
```
2024-02-10 18:14:16 +00:00
Bind sunucusu yapılandırılırken tehlikeli ayarlar:
2024-02-10 18:14:16 +00:00
| **Seçenek** | **Açıklama** |
2022-10-02 19:15:35 +00:00
| ----------------- | ------------------------------------------------------------------------------ |
2024-02-10 18:14:16 +00:00
| `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. |
2022-10-02 19:15:35 +00:00
2024-02-10 18:14:16 +00:00
## Referanslar
2024-02-06 03:10:38 +00:00
* [https://www.myrasecurity.com/en/knowledge-hub/dns/](https://www.myrasecurity.com/en/knowledge-hub/dns/)
2024-02-10 18:14:16 +00:00
* Kitap: **Network Security Assessment 3. baskı**
2021-08-12 12:57:59 +00:00
2024-02-10 18:14:16 +00:00
## HackTricks Otomatik Komutları
```
2021-08-12 12:57:59 +00:00
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
2021-08-15 17:42:53 +00:00
Entry_1:
2024-02-10 18:14:16 +00:00
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
2021-08-15 17:42:53 +00:00
Entry_2:
2024-02-10 18:14:16 +00:00
Name: Banner Grab
Description: Grab DNS Banner
Command: dig version.bind CHAOS TXT @DNS
2021-08-15 17:42:53 +00:00
Entry_3:
2024-02-10 18:14:16 +00:00
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}
2021-08-15 17:42:53 +00:00
Entry_4:
2024-02-10 18:14:16 +00:00
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}
2021-08-15 17:42:53 +00:00
Entry_5:
2024-02-10 18:14:16 +00:00
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:
2024-02-10 18:14:16 +00:00
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'
2021-08-12 12:57:59 +00:00
```
2024-01-11 13:18:30 +00:00
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
2024-02-10 18:14:16 +00:00
**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.
2024-01-11 13:18:30 +00:00
{% embed url="https://pentest-tools.com/" %}
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 18:14:16 +00:00
<summary><strong>Sıfırdan kahraman olmak için AWS hackleme öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 18:14:16 +00:00
HackTricks'i desteklemenin diğer yolları:
2024-01-03 10:42:55 +00:00
2024-02-10 18:14:16 +00:00
* Şirketinizi HackTricks'te **reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'i keşfedin
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'u **takip edin**.
* Hacking hilelerinizi **HackTricks** ve **HackTricks Cloud** github depolarına PR göndererek paylaşın.
2022-04-28 16:01:33 +00:00
</details>