
Le tunneling DNS transforme le système de noms de domaine en une arme pour les hackers. Le DNS est essentiellement un énorme annuaire d'Internet. De plus, le DNS est un protocole de base qui permet aux administrateurs d'effectuer des requêtes vers la base de données du serveur DNS. Pour l'instant, tout cela semble clair. Mais des hackers rusés ont réalisé qu'il était possible de communiquer de manière secrète avec un ordinateur victime en injectant des commandes et des données de contrôle dans le protocole DNS. C'est cette idée qui est à la base du tunneling DNS.
Comment fonctionne le tunneling DNS

Il existe un protocole distinct pour chaque chose sur Internet. Et le DNS supporte un type de réponse relativement simple type demande-réponse. Si vous souhaitez voir comment cela fonctionne, vous pouvez exécuter nslookup, l'outil principal pour effectuer des requêtes DNS. Vous pouvez demander une adresse simplement en entrant un nom de domaine d'intérêt, par exemple :

Dans notre cas, le protocole a répondu par l'adresse IP du domaine. En termes de protocole DNS, j'ai effectué une demande d'adresse ou une demande de type « A ». Il existe également d'autres types de requêtes, et le protocole DNS répondra avec différents ensembles de champs de données, que, comme nous le verrons plus tard, les hackers peuvent exploiter.
Quoi qu'il en soit, fondamentalement, le protocole DNS s'occupe de transmettre la requête au serveur et de renvoyer la réponse au client. Que se passerait-il si un attaquant ajoutait un message caché dans la requête du nom de domaine ? Par exemple, au lieu d'entrer une URL parfaitement légitime, il entrerait des données qu'il souhaite transmettre :

Supposons qu'un attaquant contrôle le serveur DNS. Il peut alors transmettre des données, par exemple des données personnelles, sans forcément être découvert. Après tout, pourquoi une requête DNS pourrait-elle devenir quelque chose d'illégitime ?
En contrôlant le serveur, les hackers peuvent falsifier les réponses et renvoyer des données vers le système ciblé. Cela leur permet de transmettre des messages cachés dans divers champs de la réponse DNS vers un logiciel malveillant sur la machine infectée, avec des instructions telles que rechercher dans un dossier spécifique.
La partie « tunnelisante » de cette attaque réside dans des données et des commandes pour éviter la détection par les systèmes de surveillance. Les hackers peuvent utiliser des ensembles de caractères en base32, en base64, etc., ou même chiffrer les données. Ce type de codage passera inaperçu auprès des simples outils de détection des menaces qui recherchent du texte en clair.
Et c'est ce qu'est le tunneling DNS !
L'histoire des attaques par tunneling DNS
Tout a un commencement, y compris l'idée de capturer le protocole DNS à des fins de hacking. Autant que l'on puisse en juger, la première telle attaque a été réalisée par Oskar Pearson dans une mailing list Bugtraq en avril 1998.
En 2004, le tunneling DNS a été présenté à Black Hat comme une méthode de hacking lors de la présentation de Dan Kaminsky. Ainsi, l'idée a rapidement évolué pour devenir un véritable outil d'attaque.
À ce jour, le tunneling DNS occupe une place certaine sur la carte (et les blogueurs en sécurité informatique sont souvent sollicités pour l'expliquer).
Avez-vous entendu parler de ? Это действующая кампания киберпреступных группировок — скорее всего, спонсируемая государством, — направленная на захват легитимных DNS-серверов с целью перенаправления DNS-запросов на собственные сервера. Это означает, что организации будут получать «плохие» IP-адреса, указывающие на поддельные веб-страницы под управлением хакеров, — например, Google или FedEx. При этом злоумышленники смогут заполучить учётные записи и пароли пользователей, которые те неосознанно введут их на таких поддельных сайтах. Это не DNS-туннелирование, но просто ещё одно скверное последствие контроля DNS-серверов хакерами.
Les menaces de tunneling DNS

Le tunneling DNS est comme un indicateur du début de la mauvaise nouvelle. Quelle mauvaise nouvelle précisément ? Nous en avons déjà parlé, mais structurons-les :
- Exfiltration de données – un hacker transmet discrètement des données critiques par-dessus le DNS. Ce n'est définitivement pas le moyen le plus efficace de transférer des informations depuis l'ordinateur de la victime, compte tenu de tous les coûts et des encodages, mais cela fonctionne, et en plus – discrètement !
- Commandement et contrôle (Command and Control, abrégé C2) – les hackers utilisent le protocole DNS pour envoyer de simples commandes de contrôle, disons, via (Remote Access Trojan, abrégé RAT).
- Tunneling IP-Over-DNS – cela peut sembler fou, mais il existe des utilitaires qui implémentent la pile IP par-dessus les requêtes et réponses du protocole DNS. Cela rend le transfert de données à l'aide de FTP, Netcat, ssh, etc., relativement simple. Extrêmement sinistre !
Détection du tunneling DNS

Il existe deux principales méthodes pour détecter les abus du DNS : l'analyse de charge et l'analyse de trafic.
En cas analyse de charge la partie défensive recherche des anomalies dans les données transmises dans les deux sens, qui peuvent être détectées par des méthodes statistiques : des noms d'hôtes aux apparences étranges, un type d'enregistrement DNS qui n'est pas utilisé si souvent, ou un encodage non standard.
En cas analyse de trafic évalue le nombre de requêtes DNS pour chaque domaine par rapport à un niveau moyen. Les attaquants utilisant le tunneling DNS généreront un volume important de trafic vers le serveur. En théorie, cela excédera considérablement l'échange normal de messages DNS. Et c'est quelque chose à suivre !
Outils de tunnelisation DNS
Si vous souhaitez effectuer votre propre test d'intrusion et vérifier à quel point votre entreprise est capable de détecter et de réagir à une telle activité, plusieurs outils sont à votre disposition. Tous peuvent tunneliser en mode IP-Over-DNS:
- – disponible sur de nombreuses plateformes (Linux, Mac OS, FreeBSD et Windows). Il permet d'établir un shell SSH entre l'ordinateur cible et l'ordinateur de contrôle. Voici un excellent guide pour configurer et utiliser Iodine.
- – un projet de tunnelisation DNS développé par Dan Kaminsky, écrit en Perl. Il permet de se connecter via SSH.
- – « le tunnel DNS qui ne rend pas malade ». Crée un canal C2 chiffré pour l'envoi/téléchargement de fichiers, le lancement de shells, etc.
Outils de surveillance DNS
Voici une liste de quelques outils qui seront utiles pour détecter les attaques de tunnelisation :
- – un module Python conçu pour MercenaryHuntFramework et Mercenary-Linux. Il lit des fichiers .pcap, extrait des requêtes DNS et effectue une correspondance de géolocalisation, ce qui aide à l'analyse.
- – un outil Python qui lit des fichiers .pcap et analyse des messages DNS.
Micro FAQ sur la tunnelisation DNS
Informations utiles sous forme de questions et réponses !
Q : Qu'est-ce que la tunnelisation ?
R : C'est simplement un moyen de transmettre des données sur un protocole existant. Le protocole sous-jacent fournit un canal ou un tunnel dédié, qui est ensuite utilisé pour masquer les informations réellement transmises.
Q : Quand a eu lieu la première attaque de tunnelisation DNS ?
R : Nous ne le savons pas ! Si vous le savez, merci de nous le faire savoir. À notre connaissance, la première discussion sur cette attaque a été initiée par Oscar Persans dans la liste de diffusion Bugtraq en avril 1998.
Q : Quelles attaques ressemblent à la tunnelisation DNS ?
R : Le DNS n'est pas le seul protocole pouvant être utilisé pour la tunnelisation. Par exemple, les logiciels malveillants de contrôle et de commande (C2) utilisent souvent HTTP pour masquer le canal de communication. Comme dans le cas de la tunnelisation DNS, le hacker masque ses données, mais ici elles ressemblent à du trafic normal d'un navigateur web se connectant à un site distant (contrôlé par l'attaquant). Cela peut passer inaperçu pour les logiciels de surveillance, sauf s'ils sont configurés pour percevoir abus du protocole HTTP à des fins de piratage.
Vous souhaitez que nous vous aidions à détecter le tunneling DNS ? Découvrez notre module et essayez-le gratuitement !
Source : habr.com
