Le DNS tunneling est une technique de piratage informatique qui transforme le protocole DNS en porte de sortie pour extraire des données en toute discrétion. Toutes les organisations et entreprises utilisent le protocole DNS (ou Domain Name System) dans leurs activités quotidiennes. Pour des pirates informatiques, trouver des failles dans ce système leur assure un accès direct au cœur même des réseaux du monde entier. Malgré son importance pivot dans le fonctionnement d’internet, c’est une technologie ancienne qui n’a pratiquement pas évolué depuis les débuts d’internet. Ses failles et ses faiblesses sont bien connues des pirates.
Le DNS est largement utilisé, les entreprises et les différents outils de sécurité informatique lui font généralement confiance. C’est pour cela qu’il est peu surveillé par les équipes chargées de la sécurité numérique.
Si l’on ajoute le fait que ce n’est pas un protocole utilisé traditionnellement pour transmettre des données, et que par essence, le protocole DNS génère un trafic très important. On comprend bien pourquoi la surveillance en est rare.
Ce qu’il faut retenir
- Le DNS Tunneling est une méthode permettant d’exfiltrer des données discrètement par les requêtes DNS
- Cette méthode existe théoriquement depuis les années 90, mais elle a pris un essor considérable ces 10 dernières années
- C’est une menace très prise au sérieux par les chercheurs en sécurité informatique
- La méthode pour instaurer un DNS Tunneling est simple et de nombreux pirates peuvent réaliser une attaque de ce type
- Il existe des méthodes et des outils pour détecter un DNS Tunneling et s’en protéger, nous vous partageons certains de ces outils à la fin de cet article
Vous connaissez probablement Kali Linux ? C’est la distribution la plus populaire des Red et Blue Team, éditée par OffSec, qui est notre partenaire en France. Si vous souhaitez rentrer dans le petit cercle fermé de ceux qui possèdent la certification OSCP de l’OffSec, reconnue au niveau international par la profession, je vous recommande chaudement de suivre notre formation OSCP PEN-200 au format Bootcamp qui a lieu chaque lundi avec un expert du milieu.
En candidat libre, si vous vous en sentez le courage, vous pouvez également commander et acheter directement toutes les certifications d’OffSec afin d’enrichir vos compétences autour de la cybersécurité et mieux renforcer la sécurité de votre entreprise.
Enfin si vous souhaitez vous former plus largement sur les outils d‘Ethical Hacking, vous pouvez jeter un œil à toutes nos formations en CyberSécurité présentes dans notre catalogue.
L’équipe AMBIENT IT
L’histoire du DNS TUnneling
Via le DNS Tunneling, des données cruciales peuvent être exfiltrées de façon extrêmement discrète par des pirates informatiques. En 2021, une étude avait révélé que les attaques reposant sur les failles du DNS avaient fortement augmenté.
QUAND est né le DNS TUNNELING ?
Même si l’idée d’utiliser les protocoles DNS date de 1998, il a fallu attendre 2004 pour voir cette technique devenir une méthode d’attaque concrète. C’est, en effet, à cette date que cette méthode fut mise à l’étude sur le blog du chercheur Dan Kaminsky et envisagée comme une menace sérieuse et concrète.
QUELLES SONT LES Premières grandes attaques de DNS TUNNELING ?
En 2014, un groupe du nom de OilRig utilisait le DNS Tunneling comme méthode d’attaque principale.
En 2018, des chercheurs en sécurités de Cisco Talos ont découvert une attaque informatique à très large échelle utilisant les failles dans le protocole DNS. Un groupe appelé « Sea Turtle » a réussi à compromettre les extensions nationales de nom de domaines, et ainsi espionner des organisations gouvernementales dans tout le Moyen-Orient.
QUEL EST LE FUTUR DU DNS TUNNELING ?
En 2019, ces mêmes chercheurs ont mis en garde les organisation du monde entier contre les nouvelles possibilités offertes aux auteurs de ces attaques après la découverte d’un autre groupe ciblant les DNS : DNSpionnage.
Évidemment, cela est bien plus sophistiqué qu’une attaque de DNS Tunneling classique, mais cela montre bien les possibilités offertes par le piratage de protocoles DNS.
Il existe énormément d’outils de DNS Tunneling et ils sont souvent facilement programmables par les pirates informatiques. Un réseau dont le protocole DNS est infecté peut avoir de nombreuses conséquences néfastes pour une entreprise.
Pour apprendre plus en détail comment protéger vos données face à toute forme de menace informatique, vous pouvez suivre notre formation Keycloak. Vous y apprendrez pendant 2 jours à utiliser l’outil et à protéger efficacement vos applications dans une formation mêlant pratique et théorie. Aucun prérequis n’est nécessaire pour apprendre l’utilisation de l’outil, pour que chacun puisse l’utiliser dans la sécurisation et la protection de ses systèmes.
L’équipe AMBIENT IT
Comment INSTALLER Son DNS TUNNELING ?
ÉTAPE 1 : Mise en place du domaine
Pour mener une attaque de DNS Tunneling réussie, il faut tout d’abord posséder un domaine. Il peut avoir l’apparence d’un domaine parfaitement normal et ressembler à n’importe quel site internet. La plupart des pirates infestent néanmoins leurs domaines de logiciels malveillants prêts à être envoyés à la cible dès la création du Tunnel.
Étape 2 : infection de la cible
La seconde étape est probablement la plus difficile : il faut infecter un ordinateur se trouvant derrière le Firewall de la cible. Celle-ci est généralement réalisée de façon classique : Site prévu à cet effet, email malveillant. Il existe même des cas où l’infection vient d’une pièce de hardware apporté directement dans les locaux de la cible.
Étape 3 : Prise de contrôle de la cible
Une fois l’ordinateur infecté, il devient un bot que le pirate peut contrôler à distance afin d’envoyer des données personnelles ou financières vers un serveur spécial créé à cet effet. Les protocoles DNS étant toujours autorisés à faire des requêtes à l’intérieur comme à l’extérieur du firewall, aucune des requêtes émise n’éveille les soupçons. L’un des outils le plus populaire pour réaliser de l’extraction de donnée est IODINE. Il permet d’exfiltrer des données via IPv4 en bypassant complètement les firewall.
L’utilisation de Do-exfiltration pour récupérer les données via les enregistrements DNS TXT est également une technique utilisée par les pirates informatiques.
QUELLES SONT LES Conséquences d’une infection DNS TUNNELING ?
La machine infectée peut directement faire des requêtes au résolveur DNS (aussi appelé serveur cache). De cette manière, il devient ainsi plus facile pour le pirate de réaliser des opérations malveillantes de type command and control (C2) comme un cheval de Troie en accès à distance (RAT).
Certains pirates réussissent à implémenter une pile IP sur le protocole de requêtes/réponses du DNS. Cela permet l’exfiltration de données par des logiciels de communication plus standards comme FTP ou Netcat. En d’autres termes, la mise en place du tunnel n’est que le début d’une stratégie plus long terme pouvant mener à des conséquences encore plus néfaste pour une organisation que du vol de données.
À cause de l’absence de lien direct entre l’ordinateur infecté et l’ordinateur attaquant, il est souvent impossible de tracer directement la source exacte de l’attaque.
Comment détecter et se prévenir des attaques DNS ?
Aussi redoutable que les attaques de DNS Tunneling puissent être, il est possible de s’en prévenir grâce à de bonnes pratiques et des outils adaptés. La plupart des signaux servants à repérer un DNS Tunneling sont généralement faibles, mais la présence de nombreuses anomalies peut être révélatrice de l’intrusion.
Comment savoir si l’on est victime de DNS TUNNELING ?
Tout d’abord, il est possible de repérer des requêtes inhabituelles voir des requêtes vers des noms de domaine inhabituels. Les pirates essayant de transmettre le maximum de données dans une requête, il en résulte fréquemment des requêtes DNS avec le nombre maximum de caractères (soit 255 pour un nom de domaine avec 63 maximum par label). Il existe des commandes permettant cette recherche.
Pour détecter un nombre important de requêtes DNS venant d’une même source :
Destination Port = 53
In Firewall Source Type:Same source IP, over 1000 port 53 connections (Sum / Count) within 1 minute.
In DNS Logs :Same source IP, over 1000 requests (Sum / Count) within 1 minute.
Pour détecter des requêtes DNS très lourdes venant d’une même source par le port 53 :
Destination Port = 53
In Firewall Source Type:Same source IP, over 300,000 bytes message size (Sum / Count) within 1 minute.
In DNS Logs :Same sourc IP, over 300,000 bytes question length (Sum / Count) within 1 minute
Il faut dans les deux cas ajouter des sources/destination/Domaine légitime à la liste blanche.
De manière générale, la meilleure pratique est de n’autoriser que les requêtes vers le service DNS que vous avez configuré (ex. Cloudflare, Cisco Umbrella) ou vers votre fournisseur d’accès internet. Évidemment, cela implique également que votre trafic de requêtes DNS ne contourne pas votre DNS forwarder.
La détection de requêtes contenant de l’encodage en base64 est un des piliers du repérage de DNS Tunneling. En effet, c’est une des méthodes utilisées par les pirates pour exfiltrer des données.
Il est par ailleurs possible de vérifier quand des enregistrements de DNS NS et A ont été créés et enregistrés à un domaine. C’est une technique très efficace pour détecter les domaines servants à effectuer des actions malveillantes.
QUELS OUTILS POUR SE PROTÉGER DU DNS TUNNELING ?
Un firewall DNS ainsi qu’un outil blacklistant les serveurs malveillants connus (et régulièrement mis à jour) constituent une base sécuritaire extrêmement importante.
dnsHunter est un outil en python permettant d’extraire les requêtes DNS afin de les géolocaliser. Même s’il ne détecte pas les éventuels tunnels à lui tout seul, il reste un excellent outil d’analyse. Reassemble_dns est un autre outil en python permettant de lire et compiler tous les messages DNS et de lire les fichiers .pcap.
Pour être sûr d’être en mesure de détecter et de se défendre contre des attaques de DNS Tunneling, la meilleure technique reste le test « grandeur nature ». Il existe des logiciels capables de simuler de telles attaques et ainsi permettre à vos équipes de se former en situation réelle. Parmi les logiciels de pentest (test d’intrusion) les plus efficaces, on peut noter :
- NSTX – Un des premiers logiciels pouvant faire de « l’IP over DNS ». Il est basé sur le langage Base64.
- DNSCAT – Écrit en Java, très flexible, il permet de réaliser facilement des tunnels DNS.
- DNS2TCP – Permet au protocole TCP de contourner le DNS, c’est aussi une technique très utilisée par les pirates informatiques.