Imaginez que, en tant que farce de lycée, les élèves du secondaire changent tous les numéros de chambre dans les installations du lycée, de sorte que les nouveaux élèves qui ne connaissent pas encore le plan d’étage du lycée passeront le lendemain perdus et à aller au mauvaises classes. Imaginez maintenant que des numéros de chambre incompatibles soient enregistrés dans le répertoire du campus et que les étudiants continuent de se tromper de chambre, jusqu’à ce que quelqu’un le remarque et apporte des corrections au répertoire.
Exigences:
- Domaine – Un domaine pour les tests
- Programmation – Très grande connaissance de la programmation
Responsabilité:
Dans ce tutoriel, nous utiliserons des techniques de piratage, dans le seul but d’apprendre. Nous n’encourageons pas son utilisation à des fins lucratives ou inappropriées. Nous ne sommes pas responsables des dommages ou des dégradations pouvant être générés dans les systèmes utilisés. La seule responsabilité de l’utilisateur de ce tutoriel.
Connaissance :
- Linux – Élevé
- Programmation – Moyenne
- Kali Linux – Basse
- Fenêtres – Bas
- Réseaux – Très élevé
Niveau général du didacticiel : Élevé
Idéal pour : Ingénieurs réseau, Ingénieurs sécurité, Pentesteurs
Qu’est-ce que l’empoisonnement du cache DNS ?
L’empoisonnement du cache DNS consiste à placer de fausses informations dans un cache DNS, de sorte que les requêtes DNS renvoient la mauvaise réponse et que les utilisateurs sont dirigés vers les mauvais sites Web. L’empoisonnement du cache DNS est également appelé « usurpation de DNS ». Les adresses IP sont les « numéros de chambre » d’Internet et permettent au trafic d’arriver aux bons endroits. Les caches du résolveur DNS sont le « répertoire des locaux ». Lorsqu’ils mettent en cache de mauvaises informations, le trafic est dirigé vers les mauvais sites, jusqu’à ce que les informations mises en cache soient corrigées . (Notez que cela ne déconnecte pas réellement les sites Web de leurs adresses IP réelles.)
Étant donné que les résolveurs DNS n’ont généralement aucun moyen de vérifier les données dans leurs caches, des informations DNS incorrectes resteront dans le cache jusqu’à ce que la durée de vie (TTL) expire ou soit supprimée manuellement. Il existe plusieurs vulnérabilités qui rendent possible l’empoisonnement du DNS, mais le principal problème est que le DNS a été conçu pour un Internet beaucoup plus petit et était basé sur un principe de confiance (similaire à BGP ). Un protocole DNS plus sécurisé, appelé DNSSEC , est destiné à résoudre certains de ces problèmes, mais n’est pas encore largement utilisé.
Que font les résolveurs DNS ?
Les résolveurs DNS fournissent aux clients l’adresse IP associée à un nom de domaine . En d’autres termes, ils prennent des adresses de sites Web lisibles par l’homme comme « cloudflare.com » et les traduisent en adresses IP lisibles par machine. Lorsqu’un utilisateur essaie de naviguer sur un site Web, son système d’exploitation envoie une demande à un résolveur DNS. Le résolveur DNS répond avec l’adresse IP et le navigateur Web prend l’adresse et commence à charger le site Web.
Comment fonctionne la mise en cache DNS ?
Le résolveur DNS enregistrera les réponses aux requêtes d’adresse IP pendant une période de temps définie. Cela permet au résolveur de répondre beaucoup plus rapidement aux futures requêtes, sans avoir à communiquer avec les nombreux serveurs impliqués dans le processus de résolution DNS typique. Les résolveurs DNS mettent en cache les réponses aussi longtemps que la durée de vie (TTL) associée à cette adresse IP leur permet de le faire.
Réponse DNS non mise en cache :

Réponse DNS en cache :

Comment les attaquants empoisonnent-ils les caches DNS ?
Les attaquants peuvent empoisonner les caches DNS en se faisant passer pour des serveurs de noms DNS , en adressant une requête à un résolveur DNS, puis en usurpant les réponses lorsque le résolveur DNS interroge un serveur de noms. Cela est possible parce que les serveurs DNS utilisent UDP au lieu de TCP et parce qu’il n’y a actuellement aucune vérification des informations DNS.
Processus d’empoisonnement du cache DNS :

Cache DNS empoisonné :

Au lieu d’utiliser TCP, qui oblige les deux parties communicantes à effectuer une « prise de contact » pour initier la communication et vérifier l’identité des appareils, les requêtes et réponses DNS utilisent UDP, ou User Datagram Protocol. . Avec UDP, il n’y a aucune garantie qu’une connexion soit ouverte, que le destinataire soit prêt à recevoir ou que l’expéditeur soit celui qu’il prétend être. Pour cette raison, UDP est vulnérable à la falsification ; un attaquant peut envoyer un message en utilisant UDP et prétendre qu’il s’agit d’une réponse d’un serveur légitime en falsifiant les données d’en-tête.
Si un résolveur DNS reçoit une réponse usurpée, il accepte et met en cache les données sans critique, car il n’est pas possible de vérifier si les informations sont exactes et proviennent d’une source légitime. Le DNS a été créé aux débuts d’Internet, lorsque seuls les universités et les centres de recherche y avaient accès. Il n’y avait aucune raison de s’attendre à ce que quelqu’un essaie de diffuser de fausses informations DNS.
Malgré ces graves points de vulnérabilité dans le processus de mise en cache DNS, les attaques d’empoisonnement DNS ne sont pas faciles. Étant donné que le résolveur DNS interroge en fait le serveur de noms faisant autorité, les attaquants n’ont que quelques millièmes de seconde pour envoyer la fausse réponse, avant que la vraie réponse n’arrive du serveur de noms faisant autorité.
Les attaquants doivent également connaître ou deviner un certain nombre de facteurs afin d’effectuer des attaques d’usurpation de DNS :
- Quelles requêtes DNS ne sont pas mises en cache par le résolveur DNS qu’ils veulent attaquer, de sorte que le résolveur interroge les serveurs de noms faisant autorité
- Quel port * est utilisé par le résolveur DNS, ils utilisaient le même port pour chaque requête, mais maintenant ils utilisent un port aléatoire différent à chaque fois
- Le numéro d’identification de la demande
- À quels serveurs de noms faisant autorité la requête ira
Les attaquants pourraient également accéder au résolveur DNS d’une autre manière. Si un tiers malveillant exploite, pirate ou accède physiquement à un résolveur DNS, il peut plus facilement altérer les données mises en cache.
*Dans les réseaux, un port est un point de réception de communication virtuel. Les ordinateurs ont plusieurs ports, chacun avec son propre numéro, et pour que les ordinateurs puissent communiquer entre eux, certains ports devront être désignés pour certains types de communication. Par exemple, les communications HTTP vont toujours au port 80 et HTTPS utilise toujours le port 443.
Usurpation DNS et censure
Plusieurs gouvernements ont intentionnellement empoisonné les caches DNS de leur pays pour refuser l’accès à certains sites Web ou ressources Web.
J’espère que cela vous aidera.