Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
rpcfirewall — Pare-feu RPC Windows qui audite, détecte et bloque les appels de procédure distante malveillants pour empêcher le mouvement latéral, la reconnaissance et l'exploitation d'attaques basées sur RPC comme DCSync et ZeroLogon. | Kitploit
Outils/GitHubGitHub/zeronetworks/rpcfirewall
Outils DéfensifsReconnaissanceExploitationÉvasion IDS/IPSMouvement LatéralSécurité RéseauTests d'IntrusionRéponse aux Incidents
GitHubzeronetworks/rpcfirewall

rpcfirewall

Pare-feu RPC Windows qui audite, détecte et bloque les appels de procédure distante malveillants pour empêcher le mouvement latéral, la reconnaissance et l'exploitation d'attaques basées sur RPC comme DCSync et ZeroLogon.

Voir le dépôt
54780il y a 1 anVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

GitHub release (latest SemVer) GitHub all releases

Besoin de plus d'informations

Consultez notre article de blog sur RPC Firewall ou notre présentation BlackHat pour mieux comprendre RPC, les attaques RPC et la solution : RPC Firewall.

Rejoignez notre espace Slack communautaire |Zero| Labs pour toute question, problème, ou simplement pour nous saluer.

Nous aimerions également avoir de vos nouvelles par email (si vous êtes de ce type). Contactez-nous à [email protected]

Pour commencer

Le tutoriel suivant montre l'installation de base et la configuration de RPC Firewall, ainsi qu'une démonstration de sa protection contre diverses attaques basées sur RPC.

RPC Firewall 2.0 Tutorial

Pourquoi est-ce important ?

RPC est le mécanisme sous-jacent utilisé pour de nombreuses techniques de mouvement latéral, de reconnaissance, d'attaques de relais, ou simplement pour exploiter des services RPC vulnérables.

Attaque DCSync ? via RPC. DCOM à distance ? via RPC. WMIC ? via RPC. SharpHound ? via RPC. PetitPotam ? via RPC. PsExec ? via RPC. ZeroLogon ? via RPC... bon, vous voyez l'idée :)

Terminologie ?

Tout au long de ce document, nous utiliserons les termes suivants :

  • RPC Firewall : Fait référence à la DLL RpcFirewall.dll réelle, qui est chargée dans divers serveurs RPC pour les protéger.
  • RPC Filters : Fait référence au mécanisme de filtrage RPC natif de Windows.
  • RPCFW Configuration : Fait référence au fichier RpcFw.conf, utilisé pour contrôler le comportement de RPC Firewall et RPC Filters.
  • RPCFW Manager : L'interface en ligne de commande, qui donne aux utilisateurs l'accès à la fois à RPC Firewall et RPC Filters.

À quoi ça sert ?

Recherche

Peut être utilisé pour auditer tous les appels RPC distants. Une fois que vous exécutez des outils d'attaque distants, vous verrez quels UUID RPC et Opnums ont été appelés à distance.

Voir un exemple de configuration ici.

Détection des attaques RPC à distance

Lorsque la RPCFW Configuration est configurée pour auditer, les événements sont écrits dans le journal des événements Windows. Les événements RPC Filter sont écrits dans le journal de sécurité, avec l'ID d'événement 5712. Les journaux RPC Firewall sont écrits dans Application/RPCFW.

Les utilisateurs peuvent transférer ces journaux vers leur SIEM et les utiliser pour créer des bases de référence du trafic RPC distant pour divers serveurs. Lorsqu'un appel RPC anormal est audité, utilisez-le pour déclencher une alerte pour votre équipe SOC.

Nous avons intégré plusieurs règles Sigma qui peuvent être utilisées pour détecter des activités et attaques RPC inhabituelles.

Prévention des attaques RPC à distance

La RPCFW Configuration peut être configurée pour bloquer et auditer uniquement les appels RPC potentiellement malveillants. Tous les autres appels RPC ne sont pas audités afin de réduire le bruit et d'améliorer les performances.

Lorsqu'un appel RPC potentiellement malveillant est détecté, il est bloqué et audité. Cela peut être utilisé pour alerter votre équipe SOC, tout en protégeant vos serveurs.

Pour compléter la protection, vous pouvez utiliser les capacités de filtrage RPC, également prises en charge via RpcFwManager.exe.

Un exemple d'une telle configuration se trouve ici.

Quels sont les composants de RPC Firewall ?

Il est composé de 3 éléments :

  1. RpcFwManager.exe - Agit comme un outil de gestion en ligne de commande autonome pour le déploiement des filtres RPC et du pare-feu. Il agit également comme le service installé pour déployer le pare-feu RPC.
  2. RpcFirewall.dll - DLL injectée qui effectue l'audit et le filtrage des appels RPC.
  3. RpcMessages.dll - Une bibliothèque commune pour partager des fonctions et la logique qui écrit les données dans l'Observateur d'événements Windows.

Utiliser RPC Firewall ou RPC Filters ?

Bien qu'il y ait des avantages et des inconvénients à utiliser chaque méthode, il y a quelques avantages majeurs à utiliser RPC Firewall qui nécessitent une attention particulière. Ce sont :

  1. Granularité : Le pare-feu RPC est appliqué pour chaque appel RPC et peut être utilisé pour créer des contrôles plus granulaires pour des fonctions RPC spécifiques.
  2. Identification de l'adresse source : RPC Firewall est meilleur pour déterminer l'adresse source de l'appelant. RPC Filters ne peut pas identifier l'adresse source des appels effectués sur des pipes nommées (SMB), ce qui signifie que les règles de filtrage RPC échoueront pour les appels RPC effectués sur des pipes nommées !!!
  3. Bogues ! : Les filtres RPC souffrent de divers bogues que Microsoft n'est pas enthousiaste à corriger. Quelques exemples : les plages d'adresses IP ne fonctionnent pas et vous ne pouvez pas appliquer un filtre « attrape-tout », car cela pourrait endommager plusieurs services de contrôleur de domaine comme NetLogon.

D'un autre côté, RPC Filters sont excellents pour autoriser ou refuser en bloc des UUID entiers, car ils le font sans aucun problème.

Comment utiliser ?

Quel est l'état ?

Avant d'exécuter une commande, il est recommandé de vérifier l'état du déploiement. Cela se fait en exécutant la commande '/status' :

root@kitploit:~
RpcFwManager.exe /status

Cela montrera l'état à la fois de RPC Firewall et de RPC Filters. Cela affichera des informations détaillées sur l'état d'installation et également l'état d'exécution du déploiement.

Les suffixes 'fw' / 'flt'

Presque toutes les commandes peuvent être suffixées par fw ou flt à la fin. Cela indique au RPCFW Manager si la commande s'applique à RPC Firewall ('fw'), RPC Filters ('flt') ou les deux lorsqu'aucun suffixe n'est utilisé.

Installation / Désinstallation

Effectuez l'installation de la fonctionnalité concernée (RPC Filters / RPC Firewall / les deux).

  • Installation du pare-feu RPC : Configure le journal des événements, dépose les DLL appropriées dans le dossier %SystemRoot%\System32 et configure le journal d'application RPCFW pour l'Observateur d'événements. Il installe également le service "RPC Firewall", qui sera utilisé pour la persistance.
  • Installation des filtres RPC : Active l'audit de sécurité des événements RPC. Ceux-ci se trouvent dans le journal de sécurité, avec l'ID d'événement 5712.

Assurez-vous que l'Observateur d'événements est fermé pendant l'installation/désinstallation. Il est également recommandé d'arrêter et de désinstaller avant l'installation, pour s'assurer qu'il n'y a pas de versions précédentes installées.

root@kitploit:~
RpcFwManager.exe /stop
RpcFwManager.exe /uninstall
RpcFwManager.exe /install

La désinstallation fait l'inverse. Ici aussi, il est recommandé de s'assurer que le service est arrêté avant la désinstallation.

root@kitploit:~
RpcFwManager.exe /stop
RpcFwManager.exe /uninstall

Démarrage / Arrêt

Les RPC Filters, de par leur nature, sont appliqués à l'ensemble du système, à tout serveur RPC. L'application de tels filtres est également persistante après les redémarrages. Tout processus nouveau ou ancien sera protégé par RPC Filters, conformément à la RPCFW Configuration.

RPC Firewall est injecté et protège tout processus de serveur RPC qui écoute les appels RPC distants. Cela se fait en injectant RPC Firewall dans les processus qui chargent RPCRT4.DLL (le runtime RPC). Une fois chargé, RPC Firewall détecte si le serveur RPC écoute les appels RPC distants. Si ce n'est pas le cas, il se décharge. Si le processus est un serveur RPC valide, le rpcFirewall commence à auditer et surveiller les appels RPC entrants, conformément à la RPCFW Configuration.

La méthode recommandée pour protéger les services RPC est d'utiliser la commande '/start'. Cela démarre le service RPC Firewall (pour 'fw' ou sans suffixe) et crée des RPC Filters (pour 'flt' ou sans suffixe).

root@kitploit:~
RpcFwManager.exe /start

Il est également possible d'utiliser RPC Firewall de manière ad hoc, pour protéger des processus spécifiques. Cela ne démarrera pas le service RPC Firewall et ne sera pas persistant après les redémarrages.

Pour protéger un seul processus par son identifiant de processus (PID) :

root@kitploit:~
RpcFwManager.exe /start pid <pid>

Pour protéger un seul processus par nom :

root@kitploit:~
RpcFwManager.exe /start process <nom du processus>

Pour arrêter la protection, il suffit d'exécuter la commande '/stop' avec le suffixe approprié (il n'est pas possible d'arrêter la protection pour un processus spécifique).

root@kitploit:~
RpcFwManager.exe /stop

Selon le suffixe utilisé ('fw' ou 'flt' ou aucun), cela arrêtera le service RPC Firewall et déchargera la DLL RPC Firewall de tous les processus. Pour RPC Filters, cela supprimera tous les filtres générés par le RPCFW Manager.

Persistance

Une fois démarré, le RPC Firewall persistera après les redémarrages. Les RPC Filters sont également persistants.

Configuration

Le RPCFW Manager recherche un fichier RpcFw.conf dans le même répertoire que l'exécutable. Ce fichier utilise les options de configuration suivantes :

Important : Chaque ligne de configuration doit être préfixée par 'fw:' ou 'flt:' pour indiquer si la ligne s'applique à RPC Firewall ou RPC Filter.

Voir plus de choses

Pour voir plus de "choses" liées à RPC, il y a une commande show. Pour l'instant, elle affiche uniquement les processus protégés, qui ne peuvent pas être protégés avec le module pare-feu RPC.

root@kitploit:~
RpcFwManager.exe /show

L'ordre de configuration est important, car la première correspondance détermine le résultat de l'appel RPC.

Par exemple, l'extrait de configuration suivant protégera un contrôleur de domaine contre une attaque DCSync en utilisant RPC Firewall. Il le fait en autorisant l'opnum 3 DRSGetNCChanges "dangereux" de l'UUID MS-DRSR uniquement à partir des autres contrôleurs de domaine.

root@kitploit:~
fw:uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 addr:<dc_addr1> opnum:3 action:allow
fw:uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 addr:<dc_addr2> opnum:3 action:allow
fw:uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 opnum:3 action:block

Lorsque la configuration change, vous devez en informer la rpcFirewall.dll via la commande update :

root@kitploit:~
RpcFwManager.exe /update

Consultation des journaux

Pour RPC Firewall, ouvrez l'Observateur d'événements -> Journaux des applications et services -> RPCFW. Les ID d'événements 1 et 2 correspondent aux événements 'protect' et 'unprotect'. L'événement 3 audite les appels RPC réels. Ajoutez également la colonne Mots clés. Cette colonne contiendra Audit Succès/Échec, indiquant si l'appel RPC a été bloqué ou non.

Pour RPC Filters, ouvrez l'Observateur d'événements -> Sécurité -> RPCFW. Filtrez pour l'ID d'événement 5712.

Puis-je contribuer ?

Oui ! N'hésitez pas à faire une pull request.

Je veux que RPC Firewall fasse plus de choses !

Nous aussi ! N'hésitez pas à nous contacter avec toutes vos idées, suggestions ou problèmes : [email protected]

Y a-t-il une licence ?

Pour plus de détails, voir LICENSE.

Télécharger l’outil
Nom du paramètreExplicationPris en charge par ...
opnum:Correspond à un opnum RPCRPC Firewall
verbose:Peut être true ou false. Lorsque true, affiche des informations de débogage pour des appels RPC spécifiques (false par défaut)RPC Firewall
prot:Correspond au protocole utilisé à l'une des constantes de séquence de protocoleà la fois RPC Firewall et Filters
addr:Correspond à une adresse IP distante (IPv4 ou IPv6, y compris CIDR)RPC Firewall et partiellement par RPC Filters, en lire plus ici
uuid:Correspond à un uuid spécifiqueà la fois RPC Firewall et Filters
action:Peut être allow ou block (allow par défaut)à la fois RPC Firewall et Filters
audit:Peut être true ou false. Contrôle si les événements sont écrits dans le journal RPCFW (false par défaut)à la fois RPC Firewall et Filters
sid:Correspond à un utilisateur authentifié à un identifiant de sécurité. Peut être un utilisateur ou un groupe spécifique.à la fois RPC Firewall et Filters