Qu’est-ce que le DNS Tunneling ? Guide de détection

Le DNS Tunneling transforme le DNS ou système de noms de domaine en une arme de piratage. Comme nous le savons, le DNS est l’équivalent d’un annuaire téléphonique pour l’Internet....
Michael Buckbee
5 minute de lecture
Dernière mise à jour 13 octobre 2023

Le DNS Tunneling transforme le DNS ou système de noms de domaine en une arme de piratage. Comme nous le savons, le DNS est l’équivalent d’un annuaire téléphonique pour l’Internet. Le DNS a également un protocole simple pour permettre aux administrateurs d’interroger la base de données d’un serveur DNS. Jusque-là, tout va bien.
Des pirates malins ont réalisé qu’ils pouvaient secrètement communiquer avec un ordinateur cible en introduisant en cachette des commandes et des données dans le protocole DNS. Cette idée est au cœur du DNS Tunneling.

Vous voulez en savoir plus sur l’état d’esprit des hackers ? Inscrivez-vous à notre webinaire sur les cyberattaques.

Comment fonctionne un tunnel DNS ?

DNS tunneling illustration of the process

Il y a un protocole pour tout sur Internet, et le DNS supporte un protocole de réponse aux requêtes assez simple. Si vous voulez voir comment cela fonctionne, vous pouvez essayer d’accéder à nslookup, l’outil indispensable pour interroger le DNS. Vous pouvez rechercher une adresse juste en entrant le nom de domaine, un peu comme ce que j’ai fait ci-dessous :

DNS tunneling screenshot of nslookup

Notez que le protocole a répondu, dans ce cas avec l’adresse IP du domaine. Dans la langue du protocole DNS, j’ai fait une requête adresse, ou requête “A”. Il y a d’autres requêtes que vous pouvez faire où le protocole DNS répond avec différents champs de données, qui comme nous le verrons bientôt peuvent être exploités par des pirates.

Quoi qu’il en soit, sous le capot, le protocole DNS transmet la requête au serveur et la réponse au client. Que se passe-t-il si un hacker introduit un message dans une requête DNS ? Si par exemple, au lieu de taper une URL légitime, ils entreraient les données qu’ils voudraient exfiltrer, comme ceci :

DNS tunneling screenshot of how nslookups work

Supposons que les pirates contrôlent le serveur DNS. Ils pourraient alors récupérer les données – numéros de sécurité sociale, etc. – sans nécessairement être repérés. Après tout, pourquoi une requête DNS serait-elle autre chose que légitime ?

Sous le contrôle des pirates, ils falsifieraient ensuite les réponses et renverraient les données au système cible. Cela leur permettrait de renvoyer les messages cachés dans les différents champs de réponse DNS au logiciel malveillant qu’ils ont chargé sur l’ordinateur de la victime – par exemple, de le diriger vers, disons, ce dossier de recherche, etc.

La partie “tunneling” de cette attaque consiste à masquer les données et les commandes pour éviter leur détection par le logiciel de surveillance. Les pirates peuvent utiliser le base32, base64 ou d’autres jeux de caractères, ou même crypter les données. Cet encodage irait au-delà d’un simple logiciel de détection qui recherche des motifs en texte clair.

Et ça, c’est du DNS tunneling !

Téléchargez un Livre-Blanc sur l'analyse de la sécurité

"Les organisations ne parviennent pas à détecter les piratages dans des délais rapides, avec moins de 20 % des vols de données détectés en interne. - Gartner"

Historique des attaques par tunnel DNS

Tout a un début, y compris l’idée de détourner le protocole DNS à des fins de piratage. D’après ce que nous pouvons dire, la première discussion sur cette attaque a eu lieu en avril 1998, lorsque Oskar Pearson figurait sur la liste de diffusion de Bugtraq.

En 2004, elle fut présentée à Black Hat comme une technique – voir la présentation de Dan Kaminsky. L’idée est donc passée très rapidement à une méthode d’attaque réelle.

Et aujourd’hui, le tunneling DNS fait partie intégrante du paysage de la menace (et les blogueurs de sécurité sont souvent invités à l’expliquer).

Avez-vous entendu parler de Sea Turtle ? Il s’agit d’une campagne en cours menée par des cybergangs – probablement parrainés par un État – pour détourner des serveurs DNS légitimes afin qu’ils puissent rediriger les requêtes DNS vers leurs propres serveurs. Cela signifie qu’une organisation recevrait de mauvaises adresses IP pointant vers des pages Web usurpées contrôlées par les pirates – disons pour Google ou FedEx. Les pirates peuvent alors récupérer les informations d’identification lorsque les utilisateurs entrent sans le savoir des informations dans de fausses pages Web. Il ne s’agit pas d’un tunnel DNS à proprement parler, mais d’une autre conséquence néfaste des pirates qui contrôlent le serveur DNS.

Menaces liées aux tunnels DNS

DNS tunneling threats illustration

Le tunneling DNS est un mécanisme qui permet aux mauvaises choses de se produire. Quel genre de mauvaises choses ? Nous en avons déjà suggéré quelques-unes, mais nous allons les énumérer :

  • Exfiltration des données – Les pirates informatiques sortent les données sensibles par DNS. Ce n’est certainement pas la façon la plus efficace d’obtenir des données à partir de l’ordinateur d’une victime – avec tous les frais supplémentaires et l’encodage – mais cela peut fonctionner et c’est furtif !
  • Commande et contrôle (C2) – Les pirates utilisent le protocole DNS pour envoyer des commandes simples à un cheval de Troie d’accès distant (RAT), par exemple.
  • Tunnelage IP sur DNS – Cela peut paraître fou, mais il existe des services qui ont implémenté une pile IP sur le protocole requête-réponse DNS. Cela rendrait relativement facile le transfert de données à l’aide de logiciels de communication standards tels que FTP, Netcat, ssh, etc. Terriblement maléfique !

Détection de tunnel DNS

DNS tunneling illustration of the ways to detect DNS tunneling

Il existe deux méthodes générales pour détecter une mauvaise utilisation du DNS : l’analyse de la charge utile et l’analyse du trafic.

Avec l’analyse de la charge utile, les défenseurs examinent les données inhabituelles qui sont envoyées dans les deux sens : des noms d’hôtes étranges, un type d’enregistrement DNS qui n’est pas utilisé très souvent, et des jeux de caractères inhabituels qui peuvent être repérés par des techniques statistiques.

Dans une analyse de trafic, les défenseurs examinent le nombre de requêtes vers un domaine DNS et le comparent à l’utilisation moyenne. Les pirates qui exécutent le tunneling DNS créeront un trafic très important vers le serveur. En théorie, bien plus qu’un échange DNS normal. Et ça devrait être détectable !

Services de tunnel DNS

Si vous voulez faire votre propre pentest (test d’intrusion) pour voir si votre entreprise peut détecter et répondre à ce genre d’attaques, il y a quelques services disponibles.
Tous ceux ci-dessous font de l’IP-sur-DNS :

  • Iodine – Disponible sur de nombreuses plates-formes (Linux, Mac OS, FreeBSD et Windows). Il vous permet de configurer un shell SSH entre l’ordinateur cible et l’ordinateur de route. Voici un bon tutoriel sur la façon de configurer et d’utiliser Iodine.
  • OzymanDNS – Un projet de tunnel DNS de Dan Kaminsky écrit en Perl. Vous pouvez utiliser le SSH avec.
  • DNSCat2 – “Un tunnel DNS qui ne vous rendra pas malade”. Crée un canal C2 crypté pour vous permettre de télécharger des fichiers dans les deux sens, d’exécuter un shell, etc.

 Services de surveillance du DNS

Vous trouverez ci-dessous quelques utilitaires utiles pour détecter les attaques de tunneling :

  • dnsHunter – Un module Python écrit pour MercenaryHuntFramework & Mercenary-Linux. Lit les fichiers .pcap pour extraire les requêtes DNS et effectue des géo-recherches, ce qui facilite les analyses.
  • reassemble_dns – Un outil Python pour lire les fichiers .pcap et réassembler les messages DNS.

Mini-Foire aux Questions

Q : Qu’est-ce que le Tunneling ?

R : C’est juste un moyen d’ajouter des communications à un protocole existant. Le protocole sous-jacent transporte un canal ou un tunnel séparé, qui est ensuite utilisé pour cacher l’information qui est réellement envoyée.

Q : Quand a eu lieu la première attaque par tunnel DNS ?

R : Nous ne savons pas ! Si vous le savez, dites-le-nous. D’après ce que nous pouvons dire, la première discussion sur cette attaque a eu lieu en avril 1998, lorsque Oskar Pearson figurait sur la liste de diffusion de Bugtraq.

Q : Quelles sont les attaques similaires au tunneling DNS ?

R : Le DNS n’est pas le seul protocole que vous pouvez utiliser pour le tunneling. Par exemple, les logiciels malveillants Command and Control (C2) utilisent souvent le protocole HTTP pour masquer les communications. Tout comme avec le tunneling DNS, les pirates cachent leurs données, mais dans ce cas, il est fait pour ressembler au trafic d’un navigateur vers un site Web distant (contrôlé par les pirates). Il peut voler sous le radar d’un logiciel de surveillance qui n’est pas adapté à cette menace d’utilisation abusive de HTTP à des fins malveillantes.

Besoin d’aide pour repérer les tunnels DNS ? Découvrez le produit Varonis Edge et essayez une démo complétement gratuite dès aujourd’hui !

What should I do now?

Below are three ways you can continue your journey to reduce data risk at your company:

1

Schedule a demo with us to see Varonis in action. We'll personalize the session to your org's data security needs and answer any questions.

2

See a sample of our Data Risk Assessment and learn the risks that could be lingering in your environment. Varonis' DRA is completely free and offers a clear path to automated remediation.

3

Follow us on LinkedIn, YouTube, and X (Twitter) for bite-sized insights on all things data security, including DSPM, threat detection, AI security, and more.

Essayez Varonis gratuitement.

Obtenez un rapport détaillé sur les risques liés aux données basé sur les données de votre entreprise.
Se déploie en quelques minutes.

Keep reading

Varonis tackles hundreds of use cases, making it the ultimate platform to stop data breaches and ensure compliance.

qu’est-ce-qu’une-attaque-par-déni-de-service-distribué-(ddos)-?
Qu’est-ce qu’une attaque par déni de service distribué (DDoS) ?
Une attaque par déni de service distribué (DDoS) est une tentative visant à de rendre indisponible un serveur Web ou un système en ligne en le submergeant de données. Une...
qu’est-ce-qu’une-attaque-par-force-brute-?
Qu’est-ce qu’une attaque par force brute ?
Une attaque par force brute est une cyberattaque revenant à essayer d’ouvrir une porte en essayant une à une toutes les clés d’un trousseau. 5 % des violations de données avérées de 2017...
qu’est-ce-qu’un-plan-de-réponse-aux-incidents-et-comment-le-créer-?
Qu’est-ce qu’un plan de réponse aux incidents et comment le créer ?
Qu'est-ce qu'un plan de réponse aux incidents exactement, pourquoi devez-vous en avoir un, comment le créer, qui doit l'exécuter et les 6 étapes à effectuer.
qu’est-ce-que-le-dns,-comment-fonctionne-t-il-et-quelles-sont-ses-vulnérabilités-?
Qu’est-ce que le DNS, comment fonctionne-t-il et quelles sont ses vulnérabilités ?
Le Domain Name System (Système de noms de domaine – DNS) est la version Internet des Pages jaunes. Dans le bon vieux temps, lorsque vous aviez besoin de trouver l’adresse d’une...