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

Avantages pour l’IT, Sécurité des données

DNS Tunelling

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 !

Andy Green

Andy Green

Andy blogue sur les réglementations autour de la confidentialité et de la sécurité des données. Il suit également de près les nouvelles menaces de logiciels malveillants et ce qu'elles signifient pour la sécurité informatique.

Avatar

Adrien Rahmati-Georges

Ancien étudiant en informatique, diplômé de l'Ecole de Guerre Economique en Risques, Sûreté Internationale et Cybersécurité. Spécialisé en droit du numérique, Adrien travaille chez Varonis en tant que Coordinateur Marketing pour la région EMEA. Il vous fournit ici du contenu français et allemand, écrit par nos incroyables auteurs Varonis !

 

Votre cybersécurité est-elle au cœur de votre infrastructure ?

Bénéficiez d'une évaluation personnalisée des risques auxquels sont exposées vos données, effectuée par des ingénieurs passionnés par la sécurité des données.