input-textDNS (Domain Name System)

🧠 Qu'est-ce que le DNS ?

Le Domain Name System (DNS) est un système distribué dont le rôle est de traduire les noms de domaines en adresses IP. Il permet ainsi à un utilisateur de taper www.hackthebox.com dans son navigateur au lieu d’une adresse IP comme 10.129.14.5. DNS est souvent comparé à un annuaire téléphonique de l’internet.

Il n’existe pas de base de données centrale. À la place, des milliers de serveurs DNS interconnectés maintiennent collectivement l’ensemble des informations de résolution.


🏗️ Types de serveurs DNS

Type de serveur
Description

🏛️ DNS Root Server

Serveurs racine pour les TLDs (.com, .org, etc.). Il en existe 13 dans le monde, coordonnés par l’ICANN.

📘 Authoritative Name Server

Répond avec autorité pour un domaine spécifique.

📗 Non-Authoritative Server

Sert des réponses en cache ou obtenues via d'autres serveurs.

🗂️ Caching Server

Conserve temporairement les réponses DNS pour améliorer la vitesse.

🚀 Forwarding Server

Transmet les requêtes à un autre serveur DNS.

💻 Resolver

Souvent local (machine ou box), effectue la résolution initiale.


🔐 Sécurité & Confidentialité

Traditionnellement, DNS est non chiffré, ce qui permet à des acteurs malveillants ou à des FAI d’intercepter les requêtes. Des protocoles comme DNS over TLS (DoT), DNS over HTTPS (DoH) ou encore DNSCrypt permettent désormais de chiffrer les échanges.


📄 Types d’enregistrements DNS

Voici les enregistrements les plus courants et leur rôle :

Enregistrement
Description

A

Associe un domaine à une adresse IPv4.

AAAA

Associe un domaine à une adresse IPv6.

MX

Indique les serveurs de messagerie.

NS

Spécifie les nameservers du domaine.

TXT

Contient des données diverses : vérification Google, SPF, DMARC…

CNAME

Alias vers un autre domaine (Canonical Name).

PTR

Résolution inverse d’une IP vers un nom.

SOA

Donne des infos sur la zone DNS (admin, serial, etc.).


🧩 Hiérarchie DNS

Exemple hiérarchique pour WS01.dev.inlanefreight.com :


⚙️ Configuration DNS (BIND9)

BIND9 est une des implémentations les plus utilisées sous Linux. Elle repose sur trois fichiers principaux :

  • named.conf (configuration générale)

  • Zone files (résolution directe)

  • Reverse files (résolution inverse)

🗃️ Exemple : named.conf.local

📁 Exemple : fichier de zone directe

🔁 Exemple : fichier de zone inverse


⚠️ Paramètres sensibles & erreurs courantes

Option
Risque potentiel

allow-query { any; };

Le serveur peut répondre à tout le monde, même sur Internet.

allow-transfer { any; };

Permet des transferts de zone non autorisés (AXFR).

allow-recursion { any; };

Peut être utilisé pour des attaques de type DNS Amplification.

zone-statistics yes;

Peut révéler des métadonnées sensibles.


🧭 Techniques d’énumération DNS

Voici quelques exemples d’énumération possibles :

  • 🔍 Obtenir les nameservers : dig ns domain.com @<IP>

  • 🔁 Transfert de zone (AXFR) : dig axfr domain.com @<IP>

  • 🕵️ Brute force des sous-domaines : boucle Bash ou dnsenum

  • 📦 Voir tous les enregistrements publics : dig any domain.com @<IP>

  • 💬 Voir la version du serveur DNS : dig CH TXT version.bind @<IP>


📚 Ressources utiles


Interact with the target DNS using its IP address and enumerate the FQDN of it for the "inlanefreight.htb" domain.

Nous interagissons comme demandé :

Nous obtenons ainsi le FQDN souhaité : ns.inlanefreight.htb.


Identify if its possible to perform a zone transfer and submit the TXT record as the answer. (Format: HTB{...})

Nous dressons dans un premier temps les zones de transfers de inlanefreight.htb :

Certains sous-domaines nous sont alors remontés :

  • app.inlanefreight.htb

  • dev.inlanefreight.htb

  • internal.inlanefreight.htb

  • mail1.inlanefreight.htb

  • ns.inlanefreight.htb

Nous utilisons alors dig pour checker les zones de transfert sur chacun des sous-domaines jusqu'a tomber sur ce résultat :

Nous pouvons relevé la ligne suivante :

Cette ligne nous permet d'obtenir le flag :


What is the IPv4 address of the hostname DC1?

Grâce à la commande effectuée précédemment, nous savons que l'IP associée au DC1 est 10.129.34.16.


What is the FQDN of the host where the last octet ends with "x.x.x.203"?

Afin de résoudre cette question, j'effectue donc dans un premier temps une recherche des sous-domaines liés à inlanefreight.htb :

Nous observons alors la présence du sous-domaine dev.inlanefreight.htb.

Maintenant, nous effectuons une recherche des sous-domaines liés à ce dernier, ceci à l'aide de la liste :

Cette énumération nous permet alors de relever ceci :

Le FQDN lié à l'IP terminant par 203 est donc win2k.dev.inlanefreight.htb.


Last updated