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
RpcInvestigator — Herramienta de descubrimiento y análisis de interfaces RPC de Windows con enumeración visual de puntos finales, análisis de PE, resolución de símbolos, sniffing ETW en tiempo real y generación de código cliente sobre la marcha para auditoría de seguridad. | Kitploit
Herramientas/GitHubGitHub/trailofbits/rpcinvestigator
Análisis de VulnerabilidadesIngeniería InversaPruebas de PenetraciónAnálisis de Binarios
GitHubtrailofbits/rpcinvestigator

RpcInvestigator

Herramienta de descubrimiento y análisis de interfaces RPC de Windows con enumeración visual de puntos finales, análisis de PE, resolución de símbolos, sniffing ETW en tiempo real y generación de código cliente sobre la marcha para auditoría de seguridad.

Ver Repositorio
365343hace 2 añosRevisado 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

RPC Investigator

Lea nuestro anuncio del blog.

RPC Investigator (RPCI) es una aplicación de interfaz de usuario de Windows Forms en .NET/C# que ofrece una interfaz avanzada de descubrimiento y análisis para puntos finales RPC de Windows. La herramienta proporciona una interfaz visual alrededor de las capacidades centrales RPC existentes de la plataforma NtApiDotNet, incluyendo:

  • Enumerar todos los servidores RPC ALPC activos
  • Analizar servidores RPC desde cualquier archivo PE
  • Analizar servidores RPC de procesos y sus módulos cargados, incluidos los servicios
  • Extraer información de símbolos de un servidor de símbolos
  • Exportar definiciones de servidores RPC como objetos .NET serializados para su propio scripting

Además de estas funciones principales, RPCI proporciona capacidades adicionales:

  • El Banco de trabajo del cliente le permite crear y ejecutar un binario cliente RPC sobre la marcha haciendo clic derecho en un servidor RPC de interés. El banco de trabajo tiene un panel de editor de código C# que le permite editar el cliente en tiempo real y observar los resultados de los procedimientos RPC ejecutados en su código.
  • Los servidores RPC descubiertos se organizan en una biblioteca con capacidad de búsqueda, lo que le permite pivotar los datos del servidor RPC de maneras útiles, como buscar en todos los procedimientos RPC de todos los servidores rutinas interesantes a través de una interfaz de búsqueda personalizable.
  • La herramienta RPC Sniffer agrega visibilidad a los datos ETW relacionados con RPC para proporcionar una vista casi en tiempo real de las llamadas RPC activas. Al combinar datos ETW con datos de servidores RPC de NtApiDotNet, podemos construir una imagen más completa de la actividad RPC en curso.

Flujos de trabajo comunes

Hay varios flujos de trabajo compatibles con RPC Investigator:

  • Auditoría
    • Enumerar todos los servidores RPC ALPC activos en todos los procesos que se comunican con un punto final ALPC
    • Enumerar todos los servidores RPC que se ejecutan en un servicio de Windows
    • Cargar servidores RPC sin conexión definidos en un archivo PE (como un EXE o DLL)
  • Interactivo
    • Banco de trabajo del cliente: Generar automáticamente código cliente RPC que se puede personalizar y usar para llamar a cualquier servicio RPC.
    • RPC Sniffer: Monitoreo en tiempo real de datos de Seguimiento de eventos para Windows (ETW) relacionados con RPC.

Ejemplo de flujo de trabajo: Análisis del RPC del Programador de tareas

En este ejemplo, inspeccionaremos el servicio RPC del Programador de tareas de Windows, que se utiliza para administrar y ejecutar tareas programadas. Encontraremos el servicio, generaremos código cliente y luego personalizaremos el cliente para interactuar con uno de los procedimientos expuestos.

Primero, cargue la lista de servicios de Windows haciendo clic en Archivo -> Cargar desde servicio. Esto abre una nueva ventana de lista de servicios:

Busque el servicio Schedule, que es el Programador de tareas de Windows, seleccione el servicio y haga clic en Ir.

Se le pedirá antes de que RPCI cargue todos los DLL RPC asociados. Haga clic en Sí para continuar. Una vez cargados, verá una lista de todos los servidores RPC descubiertos en todos los módulos cargados en el proceso del servicio. El servidor RPC del Programador de tareas de Windows tiene un ID de interfaz de 86D35949-83C9-4044-B424-DB363231FD0C. Busque la fila en la lista que tenga este ID de interfaz, que debería tener un servicio en ejecución llamado Task Scheduler, haga clic derecho en la fila y seleccione Nuevo cliente.

La parte izquierda de la ventana del cliente muestra metadatos del servidor RPC y la salida de la línea de comandos del código cliente. El lado derecho muestra dos pestañas:

  • Código cliente - Código cliente C# generado automáticamente que se puede personalizar para interactuar con uno o más procedimientos.
  • Procedimientos - Lista de procedimientos RPC expuestos.

En este ejemplo llamaremos al procedimiento SchRpcHighestVersion. Este método acepta un solo argumento, out int version, que, después de llamar al procedimiento, contendrá la versión más alta del protocolo del Programador de tareas compatible con la interfaz RPC. Los 16 bits altos son la versión principal y los 16 bits bajos son la versión secundaria.

Para llamar a este procedimiento:

  1. En la ventana Código cliente, busque el método Run, que es el punto de entrada principal para el cliente RPC.

  2. Edite el cuerpo del método Run para llamar al procedimiento:

    root@kitploit:~
    public async Task<bool> Run()
    {
        int version;
        int status = SchRpcHighestVersion(out version);
        if (status == 0) {
            long major = (version & 0xffff0000) >> 16;
            long minor = version & 0x0000ffff;
            Console.WriteLine("highest supported RPC version: {0}.{1}", major, minor);
        } else {
            Console.WriteLine("call to SchRpcHighestVersion failed with error: {0:X}", status);
        }
        return true;
    }
    
  3. Después de agregar este código, ejecute el cliente haciendo clic en el botón Ejecutar. Esto compilará el código C# y luego ejecutará el método Run.

    • Verá un cuadro emergente con cualquier error de compilación si el código cliente no se pudo compilar.

Si la compilación es exitosa, verá algo similar a lo siguiente en el cuadro Salida:

root@kitploit:~
> Run() output:
highest supported RPC version: 1.6

Configuración

RPC Investigator tiene varias opciones de configuración.

ConfiguraciónDescripciónPredeterminado
dbghelp.dllUbicación del archivo del módulo dbghelp.dllBuscar la versión más reciente en los Windows Kits instalados.
Ruta de símbolosRuta a los símbolos de Windows, que puede ser un servidor de símbolos o un directorio localServidor público de Windows predeterminado: srv*c:\symbols*https://msdl.microsoft.com/download/symbols
Nivel de seguimientoEl nivel de seguimiento de registroinfo

Los parámetros de configuración se pueden modificar dentro de la aplicación a través del menú Editar -> Configuración.

Solución de problemas

Después de su lanzamiento inicial, RPC Investigator se convirtió de una aplicación de .NET Framework a una aplicación de .NET 7. Si encuentra problemas de compilación, asegúrese de que Visual Studio esté actualizado. Es buena idea limpiar todas las carpetas de salida de compilación antes de compilar desde la versión de .NET Framework.

Además, debido al cambio de la clase insegura BinaryFormatter a protobuf-net, las bibliotecas RPC generadas con la versión de .NET Framework son incompatibles con la versión de .NET.

Si experimenta fallos aleatorios en RPC Investigator, es posible que encuentre una solución pidiendo a su administrador que ajuste su EDR. Hemos descubierto que algunos EDR no se comportan correctamente con lenguajes JIT.

En algunos casos, RPC Investigator es detectado como malicioso por los EDR, incluidos algunos falsos positivos en Virus Total. Este es un problema conocido. Esto se debe a que RPC Investigator contiene NtObjectManager, un paquete creado por James Forshaw que es conocido por ser detectado (falso positivo) por muchos EDR, incluido Windows Defender.

Entorno de desarrollo

  1. Instale Visual Studio Community 2022, asegúrese de seleccionar la carga de trabajo Desarrollo de escritorio de .NET.
  2. Descargue e instale el último SDK de Windows 10. Realice una instalación completa para que se instalen .NET 4.8.1 y las Herramientas de depuración.
  3. Abra la solución y verifique que los proyectos se cargaron correctamente. Si hay un error sobre el paquete de destino .NET 4.8.1 faltante, descargue e instale .NET Framework 4.8.1 Developer Pack y luego reinicie Visual Studio.

Lecturas adicionales

Debido a que RPC de Windows ha sido un tema de investigación popular durante más de una década, hay demasiados recursos y esfuerzos de investigación relacionados para nombrar aquí. A continuación, enumeramos algunos que encontramos mientras desarrollábamos esta herramienta:

  • https://clearbluejar.github.io/posts/surveying-windows-rpc-discovery-tools/
  • https://www.powerofcommunity.net/poc2019/James.pdf
  • https://www.tiraniddo.dev/2022/06/finding-running-rpc-server-information.html
  • https://clearbluejar.github.io/posts/from-ntobjectmanager-to-petitpotam/
  • https://itm4n.github.io/from-rpcview-to-petitpotam/
  • https://learn.microsoft.com/en-us/windows/win32/rpc/rpc-security-essentials
  • https://www.cyberark.com/resources/threat-research-blog/understanding-windows-containers-communication
  • https://github.com/silverf0x/RpcView
  • https://github.com/xpn/RpcEnum
  • https://github.com/cyberark/RPCMon
  • https://github.com/tyranid/WindowsRpcClients

Si no está familiarizado con los internos de RPC o necesita un repaso técnico, le recomendamos una de las fuentes autorizadas sobre el tema: la charla de Alex Ionescu en SyScan 2014 en Singapur, Todo sobre RPC, LRPC, ALPC y LPC en su PC.

Descargar herramienta