# 53 - Pentesting DNS
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
* Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? Ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
[**DragonJAR Security Conference es un evento internacional de ciberseguridad**](https://www.dragonjarcon.org/) con más de una década que se celebrará el 7 y 8 de septiembre de 2023 en Bogotá, Colombia. Es un evento de gran contenido técnico donde se presentan las últimas investigaciones en español que atrae a hackers e investigadores de todo el mundo.\
¡Regístrate ahora en el siguiente enlace y no te pierdas esta gran conferencia!:
{% embed url="https://www.dragonjarcon.org/" %}
## **Informations de base**
Le système de noms de domaine (DNS) est l'annuaire téléphonique d'Internet. Les humains accèdent aux informations en ligne via des noms de domaine, comme nytimes.com ou espn.com. Les navigateurs Web interagissent via des adresses de protocole Internet (IP). Le DNS traduit les noms de domaine en [adresses IP](https://www.cloudflare.com/learning/dns/glossary/what-is-my-ip-address/) afin que les navigateurs puissent charger les ressources Internet.\
À partir de [ici](https://www.cloudflare.com/learning/dns/what-is-dns/).
**Port par défaut :** 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)
```
### Différents serveurs DNS
Informations provenant de [https://academy.hackthebox.com/module/112/section/1069](https://academy.hackthebox.com/module/112/section/1069)
| **Type de serveur** | **Description** |
| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Serveur racine DNS` | Les serveurs racine du DNS sont responsables des domaines de premier niveau (`TLD`). En tant que dernière instance, ils ne sont sollicités que si le serveur de noms ne répond pas. Ainsi, un serveur racine est une interface centrale entre les utilisateurs et le contenu sur Internet, car il relie le domaine et l'adresse IP. La [Corporation pour l'attribution des noms de domaine et des numéros sur Internet](https://www.icann.org/) (`ICANN`) coordonne le travail des serveurs de noms racine. Il existe `13` de ces serveurs racine dans le monde. |
| `Serveur de noms autoritaire` | Les serveurs de noms autoritaires détiennent l'autorité pour une zone particulière. Ils ne répondent qu'aux requêtes de leur zone de responsabilité et leurs informations sont contraignantes. Si un serveur de noms autoritaire ne peut pas répondre à une requête d'un client, le serveur de noms racine prend le relais à ce moment-là. |
| `Serveur de noms non autoritaire` | Les serveurs de noms non autoritaires ne sont pas responsables d'une zone DNS particulière. Au lieu de cela, ils collectent eux-mêmes des informations sur des zones DNS spécifiques, ce qui est fait à l'aide d'une requête DNS récursive ou itérative. |
| `Serveur DNS de mise en cache` | Les serveurs DNS de mise en cache mettent en cache des informations provenant d'autres serveurs de noms pendant une période spécifiée. La durée de stockage est déterminée par le serveur de noms autoritaire. |
| `Serveur de redirection` | Les serveurs de redirection ne remplissent qu'une seule fonction : ils redirigent les requêtes DNS vers un autre serveur DNS. |
| `Résolveur` | Les résolveurs ne sont pas des serveurs DNS autoritaires, mais effectuent une résolution de noms localement dans l'ordinateur ou le routeur. |
## Énumération
### **Capture de bannière**
Le DNS n'a pas de "bannière" à capturer. L'équivalent le plus proche est une requête magique pour `version.bind. CHAOS TXT` qui fonctionnera sur la plupart des serveurs de noms BIND.\
Vous pouvez effectuer cette requête en utilisant `dig` :
```bash
dig version.bind CHAOS TXT @DNS
```
Si cela ne fonctionne pas, vous pouvez utiliser des techniques de reconnaissance d'empreintes pour déterminer la version du serveur distant - l'outil [`fpdns`](https://github.com/kirei/fpdns) est une option pour cela, mais il en existe d'autres.
Vous pouvez également récupérer la bannière avec un script **nmap** :
```
--script dns-nsid
```
### **Tout enregistrement**
L'enregistrement **ANY** demandera au serveur DNS de **renvoyer** toutes les **entrées** disponibles qu'il est prêt à **divulguer**.
```bash
dig any victim.com @
```
### **Transfert de zone**
Cette procédure est abrégée `Transfert de zone asynchrone complet` (`AXFR`).
```bash
dig axfr @ #Try zone transfer without domain
dig axfr @ #Try zone transfer guessing the domain
fierce --domain --dns-servers #Will try toperform a zone transfer against every authoritative name server and if this doesn'twork, will launch a dictionary attack
```
### Plus d'informations
```bash
dig ANY @ #Any information
dig A @ #Regular DNS request
dig AAAA @ #IPv6 DNS request
dig TXT @ #Information
dig MX @ #Emails related
dig NS @ #DNS that resolves that name
dig -x 192.168.0.2 @ #Reverse lookup
dig -x 2a00:1450:400c:c06::93 @ #reverse IPv6 lookup
#Use [-p PORT] or -6 (to use ivp6 address of dns)
```
#### Automatisation
L'automatisation est un aspect essentiel de la pentest DNS. Elle permet d'effectuer des tâches répétitives de manière efficace et rapide. Voici quelques outils d'automatisation couramment utilisés dans le cadre de la pentest DNS :
- **dnsrecon** : un outil de reconnaissance DNS qui permet de collecter des informations sur les enregistrements DNS d'un domaine donné.
- **dnsenum** : un outil qui permet d'effectuer une énumération DNS exhaustive en utilisant différentes sources d'informations.
- **fierce** : un outil qui permet de trouver des sous-domaines en utilisant des techniques de recherche agressives.
- **sublist3r** : un outil qui permet de trouver des sous-domaines en utilisant différentes sources d'informations, y compris les moteurs de recherche.
- **massdns** : un outil de résolution DNS en masse qui permet d'effectuer des requêtes DNS à grande échelle.
Ces outils peuvent être utilisés pour automatiser différentes tâches de la pentest DNS, telles que la collecte d'informations sur les enregistrements DNS, la recherche de sous-domaines et la résolution DNS en masse. L'automatisation permet d'économiser du temps et des efforts, et facilite l'analyse des résultats obtenus.
```bash
for sub in $(cat );do dig $sub. @ | grep -v ';\|SOA' | sed -r '/^\s*$/d' | grep $sub | tee -a subdomains.txt;done
dnsenum --dnsserver --enum -p 0 -s 0 -o subdomains.txt -f
```
#### Utilisation de nslookup
The `nslookup` command is a powerful tool for querying DNS (Domain Name System) servers to obtain information about domain names and IP addresses. It is commonly used in network services pentesting to gather information about a target's DNS configuration.
La commande `nslookup` est un outil puissant pour interroger les serveurs DNS (Domain Name System) afin d'obtenir des informations sur les noms de domaine et les adresses IP. Elle est couramment utilisée dans le pentesting des services réseau pour collecter des informations sur la configuration DNS d'une cible.
To use `nslookup`, open a terminal and type `nslookup` followed by the domain name or IP address you want to query. By default, `nslookup` will display the IP address of the queried domain name and the name of the DNS server that provided the response.
Pour utiliser `nslookup`, ouvrez un terminal et saisissez `nslookup`, suivi du nom de domaine ou de l'adresse IP que vous souhaitez interroger. Par défaut, `nslookup` affichera l'adresse IP du nom de domaine interrogé et le nom du serveur DNS qui a fourni la réponse.
You can also specify a specific DNS server to query by typing `nslookup` followed by the domain name or IP address, and then the IP address of the DNS server you want to use. This can be useful when testing DNS configurations or when you suspect a DNS server may be misconfigured.
Vous pouvez également spécifier un serveur DNS spécifique à interroger en saisissant `nslookup`, suivi du nom de domaine ou de l'adresse IP, puis de l'adresse IP du serveur DNS que vous souhaitez utiliser. Cela peut être utile lors de tests de configurations DNS ou lorsque vous soupçonnez qu'un serveur DNS est mal configuré.
In addition to querying DNS servers, `nslookup` can also perform reverse lookups by specifying an IP address instead of a domain name. This can be useful for identifying the domain name associated with a particular IP address.
En plus d'interroger les serveurs DNS, `nslookup` peut également effectuer des recherches inversées en spécifiant une adresse IP au lieu d'un nom de domaine. Cela peut être utile pour identifier le nom de domaine associé à une adresse IP particulière.
To exit `nslookup`, simply type `exit` and press Enter.
Pour quitter `nslookup`, il suffit de taper `exit` et d'appuyer sur Entrée.
```bash
nslookup
> SERVER #Select dns server
> 127.0.0.1 #Reverse lookup of 127.0.0.1, maybe...
> #Reverse lookup of a machine, maybe...
```
### Modules Metasploit utiles
Metasploit est un outil puissant utilisé par les testeurs de pénétration pour exploiter les vulnérabilités des systèmes. Voici quelques modules Metasploit utiles pour les tests de pénétration DNS :
- **`auxiliary/scanner/dns/dns_cache_snoop`** : Ce module permet de snoop dans le cache DNS d'un serveur pour récupérer des informations sensibles telles que les enregistrements DNS précédemment consultés.
- **`auxiliary/scanner/dns/dns_enum`** : Ce module permet d'effectuer une énumération DNS pour récupérer des informations sur les enregistrements DNS d'un domaine donné.
- **`auxiliary/scanner/dns/dns_forward_lookup`** : Ce module permet d'effectuer une recherche DNS en avant pour vérifier si un enregistrement DNS spécifique existe.
- **`auxiliary/scanner/dns/dns_reverse_lookup`** : Ce module permet d'effectuer une recherche DNS inverse pour vérifier si une adresse IP spécifique est associée à un nom de domaine.
- **`auxiliary/scanner/dns/dns_srv_enum`** : Ce module permet d'effectuer une énumération des enregistrements SRV DNS pour récupérer des informations sur les services disponibles sur un domaine donné.
- **`auxiliary/scanner/dns/dns_tcp_enum`** : Ce module permet d'effectuer une énumération DNS sur le port TCP pour récupérer des informations sur les enregistrements DNS d'un domaine donné.
- **`auxiliary/scanner/dns/dns_update`** : Ce module permet d'effectuer une mise à jour DNS pour ajouter, modifier ou supprimer des enregistrements DNS sur un serveur.
Ces modules Metasploit peuvent être utilisés de manière efficace pour tester la sécurité des services DNS et identifier les vulnérabilités potentielles.
```bash
auxiliary/gather/enum_dns #Perform enumeration actions
```
### Scripts nmap utiles
Nmap is a powerful network scanning tool that can be used for various purposes, including network services pentesting. It comes with a wide range of scripts that can be used to automate tasks and gather information about target systems. Here are some useful Nmap scripts for DNS pentesting:
- **dns-brute**: This script performs a brute force DNS enumeration by trying to resolve a list of subdomains against a DNS server. It can be used to discover hidden subdomains and gather information about the target's DNS infrastructure.
- **dns-cache-snoop**: This script exploits DNS cache snooping vulnerabilities to gather information about the target's DNS cache. It can be used to discover cached DNS records and potentially gather sensitive information.
- **dns-zone-transfer**: This script attempts to perform a DNS zone transfer by querying the target's DNS server. It can be used to gather information about the target's DNS zone, including subdomains, IP addresses, and other DNS records.
- **dns-update**: This script performs a DNS update operation by sending a dynamic DNS update request to the target's DNS server. It can be used to test the target's DNS server for misconfigurations or vulnerabilities.
- **dns-recursion**: This script checks if the target's DNS server allows recursive queries. Recursive queries can be abused to perform DNS amplification attacks or gather information about the target's internal network.
- **dns-random-txid**: This script sends DNS queries with random transaction IDs to the target's DNS server. It can be used to detect DNS cache poisoning vulnerabilities or DNS server misconfigurations.
These are just a few examples of the many useful Nmap scripts available for DNS pentesting. Each script has its own purpose and can be used to gather specific information or perform specific tasks during a DNS pentest.
```bash
#Perform enumeration actions
nmap -n --script "(default and *dns*) or fcrdns or dns-srv-enum or dns-random-txid or dns-random-srcport"
```
### DNS - Reverse BF
Le DNS (Domain Name System) est un système utilisé pour traduire les noms de domaine en adresses IP. Lors d'un test de pénétration, il est important d'évaluer la sécurité du serveur DNS pour identifier les vulnérabilités potentielles.
La technique de Reverse BF (Brute Force) consiste à effectuer une attaque de force brute sur le serveur DNS pour découvrir des informations sensibles telles que des enregistrements DNS cachés ou des sous-domaines non répertoriés. Cette technique peut être utilisée pour trouver des points d'entrée potentiels dans le réseau cible.
Pour effectuer une attaque de Reverse BF, vous pouvez utiliser des outils tels que dnsrecon ou fierce. Ces outils effectuent une recherche exhaustive des enregistrements DNS en utilisant différentes techniques, telles que la recherche de sous-domaines, la recherche de transfert de zone et la recherche de noms de domaine similaires.
Il est important de noter que l'attaque de Reverse BF peut être considérée comme une violation de la politique de sécurité et peut être illégale sans autorisation préalable. Il est donc essentiel de toujours obtenir une autorisation écrite avant de procéder à des tests de pénétration.
```bash
dnsrecon -r 127.0.0.0/24 -n #DNS reverse of all of the addresses
dnsrecon -r 127.0.1.0/24 -n #DNS reverse of all of the addresses
dnsrecon -r /24 -n #DNS reverse of all of the addresses
dnsrecon -d active.htb -a -n #Zone transfer
```
{% hint style="info" %}
Si vous parvenez à trouver des sous-domaines résolvant vers des adresses IP internes, vous devriez essayer d'effectuer une recherche inversée DNS sur les serveurs de noms du domaine en demandant cette plage d'adresses IP.
{% endhint %}
Un autre outil pour le faire : [https://github.com/amine7536/reverse-scan](https://github.com/amine7536/reverse-scan)
Vous pouvez interroger les plages d'adresses IP inverses sur [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (cet outil est également utile avec BGP).
### DNS - Recherche de sous-domaines
```bash
dnsenum --dnsserver --enum -p 0 -s 0 -o subdomains.txt -f subdomains-1000.txt
dnsrecon -D subdomains-1000.txt -d -n
dnscan -d -r -w subdomains-1000.txt #Bruteforce subdomains in recursive way, https://github.com/rbsec/dnscan
```
### Serveurs Active Directory
Active Directory (AD) is a directory service developed by Microsoft for Windows domain networks. It stores information about network resources such as users, groups, computers, and printers. AD servers play a crucial role in managing and authenticating users within a network.
During a DNS pentest, it is important to identify and assess the security of Active Directory servers. These servers are responsible for providing DNS services within the network, allowing clients to resolve domain names to IP addresses.
Here are some techniques to consider when pentesting Active Directory servers:
1. **DNS Zone Transfers**: Check if zone transfers are allowed. Zone transfers can provide valuable information about the network's DNS infrastructure and potentially reveal misconfigurations or vulnerabilities.
2. **DNS Enumeration**: Enumerate DNS records to gather information about the domain structure, such as domain controllers, mail servers, and other network resources. Tools like `nslookup` or `dig` can be used for this purpose.
3. **DNS Cache Poisoning**: Attempt to poison the DNS cache by injecting malicious DNS records. This can lead to DNS spoofing attacks, redirecting users to malicious websites or intercepting their traffic.
4. **DNS Brute-Forcing**: Perform DNS brute-forcing to discover subdomains or hostnames that may not be publicly known. Tools like `dnsrecon` or `dnsenum` can automate this process.
5. **DNS Amplification**: Exploit DNS servers to perform a distributed denial-of-service (DDoS) attack. By sending DNS queries with spoofed source IP addresses, an attacker can amplify the volume of traffic directed towards a target.
6. **DNSSEC Misconfigurations**: Check for misconfigurations in DNSSEC (Domain Name System Security Extensions), which provide cryptographic authentication and integrity for DNS responses. Misconfigurations can lead to vulnerabilities that can be exploited.
By thoroughly testing the security of Active Directory servers, you can identify and address potential vulnerabilities, ensuring the integrity and availability of DNS services within the network.
```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
nslookup -type=srv _kerberos._tcp.
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) est une extension de sécurité pour le système de noms de domaine. Il a été développé pour résoudre les problèmes de sécurité liés à la résolution DNS. DNSSec utilise des signatures numériques pour garantir l'authenticité et l'intégrité des données DNS. Cela permet de prévenir les attaques telles que le détournement de DNS et les attaques de type "man-in-the-middle". L'objectif principal de DNSSec est de fournir une confiance accrue dans les réponses DNS en garantissant que les données proviennent bien de la source authentique et n'ont pas été modifiées en transit.
```bash
#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
Force brute en utilisant des requêtes "AAAA" pour collecter les adresses IPv6 des sous-domaines.
```bash
dnsdict6 -s -t
```
# Pentesting DNS
## Bruteforce reverse DNS using IPv6 addresses
In some cases, during a penetration test, it may be necessary to perform a reverse DNS lookup on IPv6 addresses. This can be useful for gathering information about the target network and identifying potential vulnerabilities.
To bruteforce reverse DNS using IPv6 addresses, you can follow these steps:
1. **Enumerate IPv6 addresses**: Use various reconnaissance techniques to identify IPv6 addresses associated with the target network. This can include scanning the network, analyzing DNS records, or using tools like `nmap` or `dnsrecon`.
2. **Generate possible domain names**: Once you have a list of IPv6 addresses, you can generate possible domain names by reversing the hexadecimal representation of the IP address and appending the appropriate domain suffix. For example, if the IPv6 address is `2001:0db8:85a3:0000:0000:8a2e:0370:7334`, the corresponding domain name would be `4.3.3.7.0.3.e.2.a.8.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa`.
3. **Perform reverse DNS lookup**: Use a DNS lookup tool or script to perform a reverse DNS lookup on each generated domain name. This will query the DNS server for the corresponding PTR record and retrieve the associated domain name, if it exists.
4. **Analyze the results**: Analyze the results of the reverse DNS lookup to identify any interesting information or potential vulnerabilities. This can include identifying misconfigured DNS entries, discovering internal network infrastructure, or finding subdomains that may be vulnerable to attack.
It is important to note that bruteforcing reverse DNS using IPv6 addresses can be time-consuming and resource-intensive, especially if the target network has a large number of IPv6 addresses. Therefore, it is recommended to use this technique selectively and with caution, focusing on specific targets of interest.
By following these steps, you can effectively bruteforce reverse DNS using IPv6 addresses and gather valuable information during a penetration test.
```bash
dnsrevenum6 pri.authdns.ripe.net 2001:67c:2e8::/48 #Will use the dns pri.authdns.ripe.net
```
### DNS Recursion DDoS
Si la **récursivité DNS est activée**, un attaquant pourrait **usurper** l'**origine** du paquet UDP afin de faire en sorte que le **DNS envoie la réponse au serveur victime**. Un attaquant pourrait exploiter les types d'enregistrements **ANY** ou **DNSSEC** car ils ont tendance à avoir des réponses plus volumineuses.\
La façon de **vérifier** si un DNS prend en charge la **récursivité** est de interroger un nom de domaine et de **vérifier** si le drapeau "ra" (_récursivité disponible_) est présent dans la réponse:
```bash
dig google.com A @
```
**Non disponible**:
![](<../.gitbook/assets/image (275).png>)
**Disponible**:
![](<../.gitbook/assets/image (276).png>)
[**DragonJAR Security Conference est un événement international sur la cybersécurité**](https://www.dragonjarcon.org/) qui se déroule depuis plus d'une décennie et aura lieu les 7 et 8 septembre 2023 à Bogotá, en Colombie. C'est un événement technique de grande envergure où sont présentées les dernières recherches en espagnol, attirant des hackers et des chercheurs du monde entier.\
Inscrivez-vous dès maintenant en suivant le lien ci-dessous et ne manquez pas cette grande conférence !:
{% embed url="https://www.dragonjarcon.org/" %}
### Envoi d'un courrier à une adresse inexistante
Extrait du livre : Network Security Assessment (3ème édition)
L'envoi simplement d'un courrier électronique à une adresse inexistante sur un domaine cible révèle souvent des informations utiles sur le réseau interne grâce à une _notification de non-distribution_ (NDN).
```
Generating server: noa.nintendo.com
blah@nintendo.com
#550 5.1.1 RESOLVER.ADR.RecipNotFound; not found ##
Original message headers:
Received: from ONERDEDGE02.one.nintendo.com (10.13.20.35) by
onerdexch08.one.nintendo.com (10.13.30.39) with Microsoft SMTP Server (TLS)
id 14.3.174.1; Sat, 26 Apr 2014 16:52:22 -0700
Received: from barracuda.noa.nintendo.com (205.166.76.35) by
ONERDEDGE02.one.nintendo.com (10.13.20.35) with Microsoft SMTP Server (TLS)
id 14.3.174.1; Sat, 26 Apr 2014 16:51:22 -0700
X-ASG-Debug-ID: 1398556333-0614671716199b0d0001-zOQ9WJ
Received: from gateway05.websitewelcome.com (gateway05.websitewelcome.com [69.93.154.37]) by
barracuda.noa.nintendo.com with ESMTP id xVNPkwaqGgdyH5Ag for ; Sat,
26 Apr 2014 16:52:13 -0700 (PDT)
X-Barracuda-Envelope-From: chris@example.org
X-Barracuda-Apparent-Source-IP: 69.93.154.37
```
Les données suivantes dans cette transcription sont utiles :
* Noms d'hôtes internes, adresses IP et disposition des sous-domaines
* Le serveur de messagerie utilise Microsoft Exchange Server 2010 SP3
* Un appareil Barracuda Networks est utilisé pour effectuer le filtrage de contenu
## Fichiers de configuration
```
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/*
```
Paramètres dangereux lors de la configuration d'un serveur Bind :
| **Option** | **Description** |
| ----------------- | ------------------------------------------------------------------------------ |
| `allow-query` | Définit les hôtes autorisés à envoyer des requêtes au serveur DNS. |
| `allow-recursion` | Définit les hôtes autorisés à envoyer des requêtes récursives au serveur DNS. |
| `allow-transfer` | Définit les hôtes autorisés à recevoir des transferts de zone depuis le serveur DNS. |
| `zone-statistics` | Collecte des données statistiques sur les zones. |
## Commandes automatiques HackTricks
```
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'
```
[**DragonJAR Security Conference is an international cybersecurity event**](https://www.dragonjarcon.org/) with over a decade of history that will take place on September 7th and 8th, 2023 in Bogotá, Colombia. It is a highly technical event where the latest research in Spanish is presented, attracting hackers and researchers from around the world.\
Register now at the following link and don't miss this great conference!:
{% embed url="https://www.dragonjarcon.org/" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
* **Travaillez-vous dans une entreprise de cybersécurité**? Voulez-vous voir votre **entreprise annoncée dans HackTricks**? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).