Sommaire
Cet article présente la solution open source RPCFirewall de la société ZeroNetworks. Il s'agit d'un pare-feu conçu pour filtrer les appels RPC sur les systèmes d'exploitation Windows.
Nous rappellerons d'abord ce qu'est le protocole RPC et les risques associés. Ensuite, nous explorerons le fonctionnement de RPCFirewall et pourquoi il constitue une solution efficace pour atténuer ces risques et améliorer la sécurité d'un domaine Windows et des systèmes qui le composent.
Bien que les administrateurs système ne l'utilisent pas directement, le protocole RPC (Remote Procedure Call) est omniprésent dans les environnements Windows, en particulier au sein des domaines Active Directory. Créé dans les années 1980, RPC permet à un client d'exécuter des fonctions sur un serveur distant comme s'il s'agissait d'appels locaux, facilitant ainsi les communications entre applications distribuées.
RPC ne doit pas être comparé directement à des protocoles comme HTTP ou FTP, car il opère au niveau 5 (Session) du modèle OSI et est conçu pour orchestrer des échanges complexes entre services plutôt que pour transférer des données ou gérer des connexions réseau. Sa fonction principale est de permettre à un processus de rendre accessibles ses fonctionnalités à d'autres processus, même s'ils sont distants. L'implémentation la plus répandue de RPC dans les systèmes Windows est DCE/RPC (Distributed Computing Environment/Remote Procedure Call), qui est au cœur de nombreuses fonctionnalités critiques du système, comme la gestion des services réseau, l'authentification et la gestion des permissions.
Vous pouvez voir le protocole RPC comme un protocole "valise", qui permet d'organiser les échanges client-serveur tout en restant ouvert sur la finalité exacte de ces échanges, il permet à chaque interface d’implémenter son propre protocole basé sur RPC et répondant à des tâches plus spécifiques. Cette flexibilité le rend extrêmement polyvalent, et c’est pourquoi il est utilisé dans de nombreux contextes. Parmi les cas d’usage courant du protocole RPC dans un domaine Windows, on trouve par exemple :
Par exemple, si vous avez lu notre article sur l'attaque DCSync, vous savez que le protocole RPC est utilisé lors d'une synchronisation de données entre deux contrôleurs de domaine. On retrouve d'abord un appel DCE/RPC pour la connexion initiale, puis EPM pour mapper les services proposés par le serveur via RPC, et enfin DRSUAPI pour effectuer la synchronisation des données.
En contexte Windows, le Portmapper ou Endpoint Mapper (EPM) est le service qui écoute sur le port TCP/135. Il aide les clients à localiser l'adresse et le port d'un...
[Courte citation de 8% de l'article original]