Qu'est-ce que le tunneling DNS? Instruction de détection





Le tunnel DNS transforme le système de noms de domaine en une arme de hacker. Le DNS est essentiellement le vaste annuaire téléphonique d'Internet. DNS est également le protocole sous-jacent qui permet aux administrateurs d'interroger la base de données du serveur DNS. Jusqu'à présent, tout semble clair. Mais les pirates informatiques rusés ont réalisé qu'il était possible de communiquer secrètement avec l'ordinateur victime en injectant des commandes de contrôle et des données dans le protocole DNS. Cette idée est au cœur du tunnel DNS.



Fonctionnement du tunnel DNS







Tout sur Internet a son propre protocole distinct. Et DNS prend en charge un protocole défi-réponse relativement simple . Si vous voulez voir comment cela fonctionne, vous pouvez exécuter nslookup, le principal outil de soumission des requêtes DNS. Vous pouvez demander une adresse en spécifiant simplement le nom de domaine qui vous intéresse, par exemple:







Dans notre cas, le protocole a répondu avec l'adresse IP du domaine. En termes de protocole DNS, j'ai fait une demande d'adresse ou un soi-disant. "Un type. Il existe d'autres types de requêtes, et le protocole DNS répondra avec un ensemble différent de champs de données qui, comme nous le verrons plus tard, peuvent être exploités par des pirates.



D'une manière ou d'une autre, à la base, le protocole DNS consiste à transmettre une requête au serveur et sa réponse au client. Que faire si un attaquant ajoute un message caché dans la demande de nom de domaine? Par exemple, au lieu de saisir une URL totalement légitime, il entrera les données qu'il souhaite transférer:







Supposons qu'un attaquant contrôle le serveur DNS. Ensuite, il peut transmettre des données - par exemple, des données personnelles - et ne pas nécessairement être découvert. Après tout, pourquoi une requête DNS deviendrait-elle quelque chose d'illégitime?



En contrôlant le serveur, les pirates peuvent fausser les réponses et renvoyer des données au système cible. Cela leur permet de transmettre des messages cachés dans divers champs de la réponse DNS aux logiciels malveillants sur la machine infectée, avec des instructions telles que la recherche dans un dossier spécifique.



La partie «tunnel» de cette attaque consiste à masquer les données et les commandes à la détection par les systèmes de surveillance. Les pirates peuvent utiliser des jeux de caractères base32, base64, etc., ou même crypter des données. Un tel codage passera inaperçu par de simples utilitaires de détection des menaces qui effectuent des recherches en texte clair.



Et c'est le tunnel DNS!



Historique des attaques de tunnel DNS



Tout a un début, y compris l'idée de détourner le protocole DNS à des fins de piratage. Pour autant que nous puissions en juger, la première discussion sur une telle attaque a été menée par Oskar Pearson sur la liste de diffusion de Bugtraq en avril 1998.



En 2004, le tunneling DNS a été introduit dans Black Hat en tant que technique de piratage dans une présentation de Dan Kaminsky. Ainsi, l'idée est très vite devenue un véritable outil d'attaque.



Aujourd'hui, le tunnel DNS prend une position forte sur la carte des menaces potentielles (et les blogueurs de sécurité sont souvent invités à l'expliquer).



Avez-vous entendu parler de la tortue de mer? Il s'agit d'une campagne en cours menée par des groupes de cybercriminels - très probablement parrainés par l'État - pour détourner des serveurs DNS légitimes afin de rediriger les requêtes DNS vers leurs propres serveurs. Cela signifie que les organisations recevront de «mauvaises» adresses IP qui pointent vers de fausses pages Web gérées par des pirates comme Google ou FedEx. Dans le même temps, les attaquants pourront obtenir les comptes et les mots de passe des utilisateurs qui les saisiront sans le savoir sur ces faux sites. Ce n'est pas un tunnel DNS, mais juste une autre conséquence désagréable du contrôle des pirates sur les serveurs DNS.



Menaces de tunnel DNS







Le tunnel DNS est comme un indicateur du début de la mauvaise nouvelle. Lesquels? Nous en avons déjà couvert quelques-uns, mais structurons-les:



  • () – DNS. - — — , – !
  • (Command and Control, C2) – DNS- , , (Remote Access Trojan, RAT).
  • IP-Over-DNS – , , IP- DNS-. FTP, Netcat, ssh .. . !


DNS-







Il existe deux méthodes principales pour détecter les abus DNS: l'analyse de charge et l'analyse du trafic.



Lors de l' analyse de la charge, le défendeur recherche des anomalies dans les données transmises dans les deux sens, qui peuvent être détectées par des méthodes statistiques: noms d'hôtes d'apparence étrange, un type d'enregistrement DNS peu utilisé ou un encodage non standard.



Lors de l' analyse du trafic, le nombre de requêtes DNS vers chaque domaine est estimé, par rapport au niveau moyen. Les attaquants utilisant le tunnel DNS génèrent une grande quantité de trafic vers le serveur. En théorie, largement supérieur à la messagerie DNS normale. Et cela doit être surveillé!



Utilitaires de tunneling DNS



Si vous souhaitez effectuer votre propre test de pénétration et vérifier dans quelle mesure votre entreprise peut détecter et répondre à une telle activité, il existe plusieurs utilitaires pour cela. Tous sont capables de créer un tunnel en mode IP-sur-DNS :



  • Iode - Disponible sur de nombreuses plates-formes (Linux, Mac OS, FreeBSD et Windows). Vous permet d'installer un shell SSH entre la cible et l'ordinateur hôte. Voici un bon guide pour configurer et utiliser votre iode.
  • OzymanDNS est un projet de tunneling DNS de Dan Kaminsky écrit en Perl. Vous pouvez vous y connecter via SSH.
  • DNSCat2 - "Un tunnel DNS qui ne se sent pas malade". Crée un canal C2 crypté pour envoyer / télécharger des fichiers, lancer des shells, etc.


Utilitaires de surveillance DNS



Vous trouverez ci-dessous une liste de plusieurs utilitaires qui seront utiles pour détecter les attaques de tunneling:



  • dnsHunter est un module Python écrit pour MercenaryHuntFramework et Mercenary-Linux. Lit les fichiers .pcap, extrait les recherches DNS et effectue une correspondance de géolocalisation pour faciliter l'analyse.
  • remontemble_dns est un utilitaire Python qui lit les fichiers .pcap et analyse les messages DNS.


FAQ Micro Tunneling DNS



Les informations les plus utiles sous forme de questions et réponses!



Q: Qu'est-ce que le tunneling?

R: C'est juste un moyen de transférer des données via un protocole existant. Le protocole sous-jacent fournit un canal ou tunnel dédié, qui est ensuite utilisé pour masquer les informations réellement transmises.



Q: Quand la première attaque de tunnel DNS a-t-elle été menée?

R: Nous ne savons pas! Si vous le savez, faites-le nous savoir. À notre connaissance, la première discussion sur l'attaque a été initiée par Oscar Pearsan sur la liste de diffusion de Bugtraq en avril 1998.



Q: Quelles attaques sont similaires au tunnel DNS?

SUR:DNS est loin d'être le seul protocole pouvant être utilisé pour le tunneling. Par exemple, les logiciels malveillants de commande et de contrôle (C2) utilisent souvent HTTP pour masquer le canal de communication. Comme pour le tunnel DNS, le pirate cache ses données, mais dans ce cas, cela ressemble au trafic d'un navigateur Web normal accédant à un site distant (contrôlé par l'attaquant). Cela peut passer inaperçu par les programmes de surveillance s'ils ne sont pas configurés pour percevoir la menace de piratage du protocole HTTP.



Vous voulez que nous vous aidions avec la détection du tunnel DNS? Découvrez notre module Varonis Edge et essayez la démo gratuite !



All Articles