Qu’est-ce que le tunneling DNS ? Instructions de détection

Qu’est-ce que le tunneling DNS ? Instructions de détection

Le tunneling DNS transforme le système de noms de domaine en une arme pour les pirates. Le DNS est essentiellement l'énorme 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 des pirates rusés ont réalisé qu'ils pouvaient communiquer secrètement avec l'ordinateur de la victime en injectant des commandes de contrôle et des données dans le protocole DNS. Cette idée est à la base du tunneling DNS.

Comment fonctionne le tunneling DNS

Qu’est-ce que le tunneling DNS ? Instructions de détection

Tout sur Internet a son propre protocole distinct. Et la prise en charge DNS est relativement simple protocole type demande-réponse. Si vous voulez voir comment cela fonctionne, vous pouvez exécuter nslookup, le principal outil permettant de réaliser des requêtes DNS. Vous pouvez demander une adresse en précisant simplement le nom de domaine qui vous intéresse, par exemple :

Qu’est-ce que le tunneling DNS ? Instructions de détection

Dans notre cas, le protocole a répondu avec l'adresse IP du domaine. Au niveau du protocole DNS, j'ai fait une demande d'adresse ou ce qu'on appelle une demande. "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, le protocole DNS consiste essentiellement à transmettre une requête au serveur et sa réponse au client. Que se passe-t-il si un attaquant ajoute un message caché dans une demande de nom de domaine ? Par exemple, au lieu de saisir une URL tout à fait légitime, il saisira les données qu'il souhaite transmettre :

Qu’est-ce que le tunneling DNS ? Instructions de détection

Disons qu'un attaquant contrôle le serveur DNS. Il peut alors transmettre des données, des données personnelles par exemple, sans nécessairement être détecté. Après tout, pourquoi une requête DNS deviendrait-elle soudainement quelque chose d’illégitime ?

En contrôlant le serveur, les pirates peuvent forger des 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 présents sur la machine infectée, avec des instructions telles que la recherche dans un dossier spécifique.

La partie « tunnelage » de cette attaque est dissimulation données et commandes issues de la détection par les systèmes de surveillance. Les pirates peuvent utiliser des jeux de caractères base32, base64, etc., ou même chiffrer les données. Un tel codage passera inaperçu par de simples utilitaires de détection des menaces qui recherchent le texte en clair.

Et c'est le tunneling DNS !

Historique des attaques par tunneling 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 le savoir, le premier discussion Cette attaque a été menée par Oskar Pearson sur la liste de diffusion Bugtraq en avril 1998.

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

Aujourd’hui, le tunneling DNS occupe une place de choix sur la carte menaces potentielles (et on demande souvent aux blogueurs sur la sécurité de l’information de l’expliquer).

Avez-vous entendu parler de Tortue de mer ? Il s’agit d’une campagne en cours menée par des groupes cybercriminels – très probablement parrainés par l’État – visant à 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 pointant vers de fausses pages Web gérées par des pirates informatiques, tels que Google ou FedEx. Dans le même temps, les attaquants pourront obtenir des comptes d’utilisateurs et des mots de passe, qui les saisiront sans le savoir sur ces faux sites. Il ne s’agit pas d’un tunneling DNS, mais simplement d’une autre conséquence malheureuse du contrôle des serveurs DNS par les pirates.

Menaces de tunneling DNS

Qu’est-ce que le tunneling DNS ? Instructions de détection

Le tunneling DNS est comme un indicateur du début de la phase des mauvaises nouvelles. Lesquels? Nous en avons déjà parlé de plusieurs, mais structurons-les :

  • Sortie de données (exfiltration) – un pirate informatique transmet secrètement des données critiques via DNS. Ce n'est certainement 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 encodages - mais cela fonctionne, et en même temps - en secret !
  • Commandement et contrôle (abrégé C2) – les pirates utilisent le protocole DNS pour envoyer des commandes de contrôle simples, par exemple cheval de Troie d'accès à distance (Cheval de Troie d'accès à distance, en abrégé RAT).
  • Tunneling IP sur DNS - Cela peut paraître fou, mais il existe des utilitaires qui implémentent une pile IP en plus des requêtes et des réponses du protocole DNS. Il effectue le transfert de données via FTP, Netcat, ssh, etc. une tâche relativement simple. Extrêmement inquiétant !

Détection du tunneling DNS

Qu’est-ce que le tunneling DNS ? Instructions de détection

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

à analyse de charge La partie défenderesse recherche des anomalies dans les données échangées qui peuvent être détectées par des méthodes statistiques : noms d'hôtes étranges, type d'enregistrement DNS moins utilisé ou encodage non standard.

à analyse du trafic le nombre de requêtes DNS vers chaque domaine est estimé par rapport à la moyenne statistique. Les attaquants utilisant le tunneling DNS généreront une grande quantité de trafic vers le serveur. En théorie, nettement supérieur à l'échange de messages DNS normal. Et cela doit être surveillé !

Utilitaires de tunneling DNS

Si vous souhaitez effectuer votre propre pentest et voir dans quelle mesure votre entreprise peut détecter et répondre à une telle activité, il existe plusieurs utilitaires pour cela. Tous peuvent créer un tunnel en mode IP sur DNS:

  • Iode – disponible sur de nombreuses plateformes (Linux, Mac OS, FreeBSD et Windows). Vous permet d'installer un shell SSH entre les ordinateurs cible et de contrôle. C'en est une bonne guider sur la configuration et l'utilisation d'Iodine.
  • OzymanDNS – Projet de tunneling DNS de Dan Kaminsky, écrit en Perl. Vous pouvez vous y connecter via SSH.
  • DNSCat2 - "Un tunnel DNS qui ne rend pas malade." Crée un canal C2 crypté pour l'envoi/téléchargement de fichiers, le lancement de shells, etc.

Utilitaires de surveillance DNS

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

  • dnsHunter – Module Python écrit pour MercenaryHuntFramework et Mercenary-Linux. Lit les fichiers .pcap, extrait les requêtes DNS et effectue un mappage de géolocalisation pour faciliter l'analyse.
  • réassembler_dns – un utilitaire Python qui lit les fichiers .pcap et analyse les messages DNS.

Micro FAQ sur le tunneling DNS

Des informations utiles sous forme de questions et réponses !

Q : Qu'est-ce que le tunneling ?
О: C'est simplement 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 par tunnel DNS a-t-elle été effectuée ?
О: 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 Piersan dans la liste de diffusion Bugtraq en avril 1998.

Q : Quelles attaques sont similaires au tunneling DNS ?
О: Le 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 tunneling DNS, le pirate informatique cache ses données, mais dans ce cas, cela ressemble au trafic d'un navigateur Web classique accédant à un site distant (contrôlé par l'attaquant). Cela peut passer inaperçu des programmes de surveillance s'ils ne sont pas configurés pour percevoir la menace abus du protocole HTTP à des fins de piratage.

Souhaitez-vous que nous vous aidions à détecter les tunnels DNS ? Découvrez notre module Bord Varonis et essayez-le gratuitement démo!

Source: habr.com

Ajouter un commentaire