Dans la grande guerre dite de périmétrisation, les défenseurs et les attaquants livrent un combat sans fin. Quand un défenseur autorise l'établissement d'une connexion pour offrir un service à ses utilisateurs, un attaquant trouve un moyen de créer une application autour de ce service afin d'offrir une connectivité de type tunnel et ainsi contourner toutes les mesures de filtrage mises en place. Dans cet article, nous décrivons l'établissement d'un tunnel autour du protocole Domain Name System (DNS).
1. Introduction
Si vous êtes connecté à Internet, Internet est connecté à vous [Diehl-loi8]. Triste constat, mais la communication est à ce prix. En d'autres termes, point d'échange sans communication à double sens. Tout protocole de communication à double sens (de type requête/réponse) peut être détourné pour établir un canal de communication alternatif, autrement appelé tunnel dans la suite de cet article. Un tunnel est une connexion qui permet de faire transiter des données encapsulées dans un autre protocole.
Le plus simple des tunnels que tout le monde connaît est une connexion TCP. Ce tunnel TCP permet de faire transiter tout type de protocole de couche applicative (couche 7 du modèle OSI). Ce genre de tunnel est vraiment basique, puisqu'il ne nécessite qu'un client et un serveur TCP, ce protocole étant inclus dans toute pile réseau depuis qu'Internet existe. Les tunnels plus avancés, tels que celui dont nous parlerons ici, mettent en œuvre...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première