* 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)
* **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!:
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.\
| `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. |
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` :
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.
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
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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:
[**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.\
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).
[**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!:
* **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)!
* **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).