Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
rpcfirewall — Firewall de RPC para Windows que audita, detecta y bloquea llamadas a procedimientos remotos maliciosas para prevenir movimiento lateral, reconocimiento y explotación de ataques basados en RPC como DCSync y ZeroLogon. | Kitploit
Herramientas/GitHubGitHub/zeronetworks/rpcfirewall
Herramientas DefensivasReconocimientoExplotaciónEvasión de IDS/IPSMovimiento LateralSeguridad de RedesPruebas de PenetraciónRespuesta a Incidentes
GitHubzeronetworks/rpcfirewall

rpcfirewall

Firewall de RPC para Windows que audita, detecta y bloquea llamadas a procedimientos remotos maliciosas para prevenir movimiento lateral, reconocimiento y explotación de ataques basados en RPC como DCSync y ZeroLogon.

Ver Repositorio
5478051hace 1 añoRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

GitHub release (latest SemVer) GitHub all releases

Necesito Más Información

Consulte nuestra publicación del blog sobre RPC Firewall o nuestra charla de BlackHat para comprender mejor RPC, los ataques RPC y la solución: RPC Firewall.

Únase a nuestro espacio de trabajo de la comunidad Slack de |Zero| Labs para cualquier pregunta, problema o simplemente para dar un grito.

Nos encantaría saber de usted también por correo electrónico (si es ese tipo de persona). Contáctenos en [email protected]

Cómo Empezar

El siguiente tutorial muestra la instalación y configuración básica de RPC Firewall, así como una demostración de cómo protege contra varios ataques basados en RPC.

RPC Firewall 2.0 Tutorial

¿Por qué debería importarme?

RPC es el mecanismo subyacente que se utiliza para numerosas técnicas de movimiento lateral, reconocimiento, ataques de retransmisión, o simplemente para explotar servicios RPC vulnerables.

¿Ataque DCSync? sobre RPC. ¿DCOM remoto? sobre RPC. ¿WMIC? sobre RPC. ¿SharpHound? sobre RPC. ¿PetitPotam? sobre RPC. ¿PsExec? sobre RPC. ¿ZeroLogon? sobre RPC... bueno, ya se hace una idea :)

Terminología?

A lo largo de este documento, utilizaremos los siguientes términos:

  • RPC Firewall: Se refiere al archivo RpcFirewall.dll real, que se carga en varios servidores RPC para protegerlos.
  • RPC Filters: Se refiere al mecanismo nativo de filtrado RPC de Windows.
  • RPCFW Configuration: Se refiere al archivo RpcFw.conf, que se utiliza para controlar cómo se comportan RPC Firewall y RPC Filters.
  • RPCFW Manager: La interfaz de línea de comandos, que brinda a los usuarios acceso tanto a RPC Firewall como a RPC Filters.

¿Para qué se utiliza?

Investigación

Se puede utilizar para auditar todas las llamadas RPC remotas. Al ejecutar cualquier herramienta de ataque remota, verá qué UUID y Opnums de RPC se llamaron de forma remota.

Vea un ejemplo de configuración aquí.

Detección de Ataques RPC Remotos

Cuando la Configuración de RPCFW está configurada para auditar, los eventos se escriben en el Registro de Eventos de Windows. Los eventos de RPC Filter se escriben en el registro de seguridad, con el ID de evento 5712. Los registros de RPC Firewall se escriben en Aplicación/RPCFW.

Los usuarios pueden reenviar estos registros a su SIEM y usarlos para crear líneas de base del tráfico RPC remoto para varios servidores. Una vez que se audita una llamada RPC anormal, úsela para activar una alerta para su equipo del SOC.

Integramos varias reglas Sigma que se pueden usar para detectar actividades y ataques RPC inusuales.

Prevención de Ataques RPC Remotos

La Configuración de RPCFW se puede configurar para bloquear y auditar solo las llamadas RPC potencialmente maliciosas. Todas las demás llamadas RPC no se auditan para reducir el ruido y mejorar el rendimiento.

Una vez que se detecta una llamada RPC potencialmente maliciosa, se bloquea y se audita. Esto podría usarse para alertar a su equipo del SOC, mientras mantiene sus servidores protegidos.

Para complementar la protección, puede usar las capacidades de filtrado RPC, que también son compatibles a través de RpcFwManager.exe.

Un ejemplo de dicha configuración se puede encontrar aquí.

¿Cuáles son los Componentes de RPC Firewall?

Se compone de 3 componentes:

  1. RpcFwManager.exe - Actúa como una herramienta de gestión independiente de línea de comandos para el despliegue de RPC Filters y Firewall. También actúa como el servicio instalado para implementar RPC Firewall.
  2. RpcFirewall.dll - DLL inyectada que realiza la auditoría y el filtrado de llamadas RPC.
  3. RpcMessages.dll - Una biblioteca común para compartir funciones y lógica que escribe datos en el Visor de Eventos de Windows.

¿Usar RPC Firewall o RPC Filters?

Si bien hay ventajas y desventajas al usar cada método, hay un par de beneficios importantes al usar RPC Firewall que requieren atención especial. Estos son:

  1. Granularidad: El RPC Firewall se aplica para cada llamada RPC y se puede usar para crear controles más granulares para funciones RPC específicas.
  2. Identificación de Dirección de Origen: RPC Firewall es mejor para determinar la dirección de origen de la persona que llama. RPC Filters no puede identificar la dirección de origen de las llamadas realizadas a través de tuberías con nombre (SMB), lo que significa que ¡las reglas de filtrado de RPC fallarán para las llamadas RPC realizadas a través de tuberías con nombre!
  3. ¡Errores!: RPC Filters sufre varios errores que Microsoft no se entusiasma en corregir. Un par de ejemplos son: los rangos de IP no funcionan y no se puede aplicar un filtro "catch-all", ya que podría dañar varios servicios del Controlador de Dominio como NetLogon.

Por otro lado, RPC Filters son excelentes para permitir o denegar en masa UUID completos, ya que lo hacen sin ningún problema.

¿Cómo usar?

¿Cuál es el estado?

Antes de ejecutar cualquier comando, se recomienda verificar el estado de la implementación. Esto se hace emitiendo el comando '/status':

root@kitploit:~
RpcFwManager.exe /status

Esto mostrará el estado tanto de RPC Firewall como de RPC Filters. Esto generará información detallada sobre el estado de la instalación y también el estado de ejecución de la implementación.

Los sufijos 'fw' / 'flt'

Casi todos los comandos pueden tener el sufijo fw o flt al final. Esto le indica a RPCFW Manager si el comando se aplica a RPC Firewall ('fw'), RPC Filters ('flt') o ambos cuando no se usa ningún sufijo.

Instalación / Desinstalación

Realice la instalación de la función relevante (RPC Filters / RPC Firewall / ambas).

  • Instalación de RPC Firewall: Configura el registro de eventos, coloca los dll relevantes en la carpeta %SystemRoot%\System32 y configura el registro de aplicaciones RPCFW para el Visor de Eventos. También instala el servicio "RPC Firewall", que se utilizará para la persistencia.
  • Instalación de RPC Filters: Habilita la auditoría de seguridad de los eventos RPC. Estos se pueden encontrar en el registro de Seguridad, con el ID de evento 5712.

Asegúrese de que el visor de eventos esté cerrado durante la instalación/desinstalación. Además, es una buena práctica detener y desinstalar antes de la instalación, para asegurarse de que no haya versiones anteriores instaladas.

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

La desinstalación hace lo contrario. También aquí es una buena práctica asegurarse de que el servicio esté detenido antes de la desinstalación.

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

Iniciar / Detener

RPC Filters, por su naturaleza, se aplican a todo el sistema, a cualquier servidor RPC. La aplicación de dichos filtros también es persistente entre reinicios. Cualquier proceso nuevo o antiguo estará protegido por RPC Filters, según la Configuración de RPCFW.

RPC Firewall se inyecta y protege cualquier proceso de servidor RPC que esté escuchando llamadas RPC remotas. Esto se hace inyectando RPC Firewall en procesos que cargan RPCRT4.DLL (el tiempo de ejecución de RPC). Una vez cargado, RPC Firewall detectará si el servidor RPC está escuchando llamadas RPC remotas. Si no, se descarga a sí mismo. Si el proceso es un servidor RPC válido, el rpcFirewall comienza a auditar y monitorear las llamadas RPC entrantes, según la Configuración de RPCFW.

El método recomendado para proteger los servicios RPC es usar el comando '/start'. Esto inicia el servicio de RPC Firewall (para 'fw' o sin sufijo), y crea RPC Filters (para 'flt' o sin sufijo).

root@kitploit:~
RpcFwManager.exe /start

También es posible usar RPC Firewall de forma ad-hoc, para proteger procesos específicos. Esto no iniciará el servicio de RPC Firewall y no persistirá entre reinicios.

Para proteger un solo proceso por ID de proceso (PID):

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

Para proteger un solo proceso por nombre:

root@kitploit:~
RpcFwManager.exe /start process <nombre del proceso>

Para detener la protección, simplemente emita el comando '/stop' con el sufijo apropiado (no es posible detener la protección para un proceso específico).

root@kitploit:~
RpcFwManager.exe /stop

Según el sufijo utilizado ('fw' o 'flt' o ninguno), esto detendrá el servicio de RPC Firewall y descargará el dll de RPC Firewall de todos los procesos. Para RPC Filters, eliminará todos los filtros generados por el RPCFW Manager.

Persistencia

Una vez iniciado, el RPC Firewall persistirá entre reinicios. RPC Filters también son persistentes.

Configuración

El RPCFW Manager busca un archivo RpcFw.conf, en el mismo directorio del ejecutable. Este archivo utiliza las siguientes opciones de configuración:

Importante: Cada línea de configuración debe tener el prefijo 'fw:' o 'flt:' para indicar si la línea se aplica para RPC Firewall o RPC Filter.

Nombre del ParámetroExplicaciónSoportado por ...
opnum:Coincide con un opnum de RPCRPC Firewall
verbose:Puede ser true o false. Cuando es true, genera información de depuración para llamadas RPC específicas (por defecto false)RPC Firewall
prot:Coincide con el protocolo utilizado con cualquiera de las constantes de secuencia de protocolotanto RPC Firewall como Filters
addr:Coincide con una dirección IP remota (IPv4 o IPv6, incluyendo CIDR)RPC Firewall y parcialmente por RPC Filters, lea más aquí
uuid:Coincide con un uuid específicotanto RPC Firewall como Filters
action:Puede ser allow o block (por defecto allow)tanto RPC Firewall como Filters
audit:Puede ser true o false. Controla si los eventos se escriben en el registro RPCFW (por defecto false)tanto RPC Firewall como Filters
sid:Coincide un usuario autenticado con un identificador de seguridad. Puede ser un usuario o grupo específico.tanto RPC Firewall como Filters

Ver Más Cosas

Para ver más "cosas" relacionadas con RPC, hay un comando show. Por ahora, solo muestra procesos protegidos, que no pueden protegerse con el módulo de firewall RPC.

root@kitploit:~
RpcFwManager.exe /show

El orden de configuración es importante, ya que la primera coincidencia determina el resultado de la llamada RPC.

Por ejemplo, el siguiente fragmento de configuración protegerá un DC de un DCSync usando RPC Firewall. Lo hace habilitando el opnum 3 "peligroso" DRSGetNCChanges del UUID MS-DRSR solo desde otros controladores de dominio.

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

Siempre que cambie la configuración, debe notificar a rpcFirewall.dll mediante el comando de actualización:

root@kitploit:~
RpcFwManager.exe /update

Visualización de Registros

Para RPC Firewall, abra el Visor de Eventos -> Registros de Aplicaciones y Servicios -> RPCFW. Los ID de evento 1 y 2 se refieren a eventos de 'proteger' y 'desproteger'. El evento 3 audita las llamadas RPC reales. Además, agregue la columna Palabras clave. Esta columna contendría Auditoría de Éxito/Fallo, lo que implica si la llamada RPC fue bloqueada o no.

Para RPC Filters, abra el Visor de Eventos -> Seguridad -> RPCFW. Filtre por ID de evento 5712.

¿Puedo Contribuir?

¡Sí! No sea tímido para hacer una solicitud de extracción.

¡Quiero que RPC Firewall haga más cosas!

¡También queremos esto! Comuníquese con nosotros con cualquier pensamiento, idea o problema que tenga: [email protected]

¿Hay una Licencia?

Para más detalles, consulte LICENSE.

Descargar herramienta