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

412 lines
32 KiB
Markdown

# 53 - Pentesting DNS
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* 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).
</details>
<figure><img src="../.gitbook/assets/image (1) (1) (2) (4).png" alt=""><figcaption></figcaption></figure>
[**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 ont l'autorité sur 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 @<DNS_IP>
```
### **Transfert de zone**
Cette procédure est abrégée `Transfert de zone asynchrone complet` (`AXFR`).
```bash
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
```
### Plus d'informations
```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)
```
#### 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.
L'automatisation permet de gagner du temps et d'obtenir des résultats plus rapidement lors de la pentest DNS. Cependant, il est important de noter que l'automatisation ne remplace pas une analyse manuelle approfondie. Il est toujours nécessaire de vérifier les résultats obtenus et de les valider manuellement.
```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
dnsenum --dnsserver <DNS_IP> --enum -p 0 -s 0 -o subdomains.txt -f <WORDLIST> <DOMAIN>
```
#### 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 the DNS server to use for the query by typing `server <DNS server IP>` before entering the domain name or IP address. This can be useful when you want to query a specific DNS server instead of the default one.
Vous pouvez également spécifier le serveur DNS à utiliser pour la requête en saisissant `server <adresse IP du serveur DNS>` avant de saisir le nom de domaine ou l'adresse IP. Cela peut être utile lorsque vous souhaitez interroger un serveur DNS spécifique au lieu du serveur par défaut.
In addition to querying DNS servers, `nslookup` can also perform reverse lookups by entering 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 saisissant 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 saisir `exit` et d'appuyer sur Entrée.
```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...
```
### 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 that can be used specifically for DNS pentesting:
- **dns-brute.nse**: 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.nse**: This script exploits DNS cache snooping vulnerabilities to gather information about the target's DNS cache. It can be used to identify potential misconfigurations or security weaknesses in the DNS infrastructure.
- **dns-zone-transfer.nse**: This script attempts to perform a DNS zone transfer, which allows an attacker to obtain a complete copy of a DNS zone. It can be used to gather information about the target's DNS records and potentially identify misconfigured DNS servers.
- **dns-blacklist.nse**: This script checks if a target's IP address is listed in popular DNS blacklists. It can be used to identify if the target's IP address has been flagged as malicious or associated with spamming activities.
- **dns-random-srcport.nse**: This script sends DNS queries with random source ports, which can help bypass certain firewall rules or intrusion detection systems that filter DNS traffic based on source port numbers.
These scripts can be executed using the `--script` option in Nmap, followed by the script name. For example, to execute the `dns-brute.nse` script, the following command can be used:
```
nmap --script dns-brute.nse <target>
```
Remember to always use these scripts responsibly and with proper authorization, as unauthorized use can lead to legal consequences.
```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>
```
### 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 par 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 informations utiles sur l'infrastructure cible et faciliter d'autres attaques.
L'attaque de Reverse BF peut être réalisée en utilisant des outils automatisés tels que dnsrecon, fierce, dnsenum, etc. Ces outils effectuent des requêtes DNS répétées en utilisant différentes combinaisons de noms de domaine pour trouver des enregistrements valides.
Il est important de noter que l'attaque de Reverse BF peut être détectée par les systèmes de détection d'intrusion (IDS) et les pare-feu. Par conséquent, il est recommandé de prendre des mesures pour minimiser les risques de détection, tels que l'utilisation de proxies ou de réseaux anonymes.
Lors de l'exécution d'une attaque de Reverse BF, il est essentiel de respecter les lois et réglementations en vigueur et d'obtenir une autorisation appropriée pour effectuer des tests de pénétration.
```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
```
{% 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 <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
```
### 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 and can be potential targets for attackers.
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 can help identify potential vulnerabilities.
2. **DNS Enumeration**: Enumerate DNS records to gather information about the network's domain structure, subdomains, and associated IP addresses. This information can be useful for further enumeration and exploitation.
3. **DNS Cache Poisoning**: Attempt to poison the DNS cache by injecting malicious DNS records. This can lead to redirecting traffic to attacker-controlled servers or performing man-in-the-middle attacks.
4. **DNS Brute-Forcing**: Use tools like `dnsrecon` or `dnsenum` to perform brute-force attacks against DNS servers. This can help identify hidden subdomains or misconfigured DNS entries.
5. **DNSSEC**: Check if DNSSEC (Domain Name System Security Extensions) is implemented. DNSSEC adds an additional layer of security by digitally signing DNS records, preventing DNS spoofing attacks.
By thoroughly testing the security of Active Directory servers, you can identify and mitigate potential vulnerabilities, ensuring the integrity and confidentiality of the network's DNS infrastructure.
```
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
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 <domain>
```
# 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 @<IP>
```
**Non disponible**:
![](<../.gitbook/assets/image (275).png>)
**Disponible**:
![](<../.gitbook/assets/image (276).png>)
<figure><img src="../.gitbook/assets/image (1) (1) (2) (4).png" alt=""><figcaption></figcaption></figure>
[**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 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 à un compte inexistant
Extrait du livre : Network Security Assessment (3ème édition)
L'envoi simplement d'un message é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 <blah@nintendo.com>; 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'
```
<figure><img src="../.gitbook/assets/image (1) (1) (2) (4).png" alt=""><figcaption></figcaption></figure>
[**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/" %}
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* 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).
</details>