
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.
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]
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 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 :)
Tout au long de ce document, nous utiliserons les termes suivants :
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.
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.
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.
Il est composé de 3 éléments :
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 :
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.
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' :
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.
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é.
Effectuez l'installation de la fonctionnalité concernée (RPC Filters / RPC Firewall / les deux).
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.
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.
RpcFwManager.exe /stop
RpcFwManager.exe /uninstall