Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
RpcInvestigator — Ferramenta de descoberta e análise de interfaces RPC do Windows com enumeração visual de endpoints, parsing de PE, resolução de símbolos, sniffing ETW em tempo real e geração de código cliente em tempo real para auditoria de segurança. | Kitploit
Ferramentas/GitHubGitHub/trailofbits/rpcinvestigator
Análise de VulnerabilidadesEngenharia ReversaTestes de PenetraçãoAnálise de Binários
GitHubtrailofbits/rpcinvestigator

RpcInvestigator

Ferramenta de descoberta e análise de interfaces RPC do Windows com enumeração visual de endpoints, parsing de PE, resolução de símbolos, sniffing ETW em tempo real e geração de código cliente em tempo real para auditoria de segurança.

Ver Repositório
365343há 2 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

RPC Investigator

Please read our blog post announcement.

O RPC Investigator (RPCI) é uma aplicação de interface de usuário Windows Forms em .NET/C# que fornece uma interface avançada de descoberta e análise para endpoints RPC do Windows. A ferramenta fornece uma interface visual ao redor das capacidades RPC existentes da plataforma NtApiDotNet, incluindo:

  • Enumeração de todos os servidores RPC ALPC ativos
  • Análise de servidores RPC a partir de qualquer arquivo PE
  • Análise de servidores RPC a partir de processos e seus módulos carregados, incluindo serviços
  • Obtenção de informações de símbolo de um Servidor de Símbolos
  • Exportação de definições de servidores RPC como objetos .NET serializados para seus próprios scripts

Além desses recursos principais, o RPCI oferece capacidades adicionais:

  • O Client Workbench permite criar e executar um binário cliente RPC dinamicamente clicando com o botão direito em um servidor RPC de interesse. O workbench possui um editor de código C# que permite editar o cliente em tempo real e observar os resultados dos procedimentos RPC executados em seu código.
  • Servidores RPC descobertos são organizados em uma biblioteca pesquisável, permitindo pivotar os dados dos servidores RPC de maneiras úteis, como pesquisar todos os procedimentos RPC de todos os servidores por rotinas interessantes através de uma interface de busca personalizável.
  • A ferramenta RPC Sniffer adiciona visibilidade aos dados ETW relacionados a RPC para fornecer uma visão quase em tempo real das chamadas RPC ativas. Ao combinar dados ETW com dados de servidores RPC do NtApiDotNet, podemos construir uma imagem mais completa da atividade RPC em andamento.

Fluxos de Trabalho Comuns

Existem vários fluxos de trabalho que o RPC Investigator suporta:

  • Auditoria
    • Enumeração de todos os servidores RPC ALPC ativos em todos os processos que estão se comunicando com um endpoint ALPC
    • Enumeração de todos os servidores RPC em execução em um serviço do Windows
    • Carregar servidores RPC offline definidos em um arquivo PE (como EXE ou DLL)
  • Interativo
    • Client Workbench: Geração automática de código cliente RPC que pode ser personalizado e usado para chamar qualquer serviço RPC.
    • RPC Sniffer: Monitoramento em tempo real dos dados de Event Tracing for Windows (ETW) relacionados a RPC.

Exemplo de Fluxo de Trabalho: Analisando o RPC do Agendador de Tarefas

Neste exemplo, vamos inspecionar o serviço RPC do Agendador de Tarefas do Windows, que é usado para gerenciar e executar tarefas agendadas. Vamos encontrar o serviço, gerar código cliente e depois personalizar o cliente para interagir com um dos procedimentos expostos.

Primeiro, carregue a lista de serviços do Windows clicando em File -> Load From Service. Isso abre uma nova janela de lista de serviços:

Encontre o serviço Schedule, que é o Agendador de Tarefas do Windows, selecione o serviço e clique em Go.

Você será perguntado antes do RPCI carregar todas as DLLs RPC associadas. Clique em Yes para continuar. Uma vez carregado, você verá uma lista de todos os servidores RPC descobertos em todos os módulos carregados no processo do serviço. O servidor RPC do Agendador de Tarefas do Windows possui um ID de Interface 86D35949-83C9-4044-B424-DB363231FD0C. Encontre a linha na lista que possui esse ID de Interface, que deve ter um serviço em execução chamado Task Scheduler, clique com o botão direito na linha e selecione New Client.

A parte esquerda da janela do cliente mostra metadados do servidor RPC e a saída da linha de comando do código cliente. O lado direito mostra duas guias:

  • Client Code - Código cliente C# gerado automaticamente que pode ser personalizado para interagir com um ou mais procedimentos.
  • Procedures - Lista de procedimentos RPC expostos.

Neste exemplo, vamos chamar o procedimento SchRpcHighestVersion. Este método aceita um único argumento, out int version, que, após a chamada, conterá a versão mais alta do protocolo do Agendador de Tarefas suportada pela interface RPC. Os 16 bits mais altos são a versão principal e os 16 bits mais baixos são a versão secundária.

Para chamar este procedimento:

  1. Na janela Client Code, encontre o método Run, que é o ponto de entrada principal para o cliente RPC.

  2. Edite o corpo do método Run para chamar o procedimento:

    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. Após adicionar este código, execute o cliente clicando no botão Run. Isso compilará o código C# e depois executará o método Run.

    • Você verá uma janela popup com eventuais erros de compilação se o código cliente não puder ser compilado.

Se a compilação for bem-sucedida, você verá algo semelhante ao seguinte na caixa Output:

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

Configuração

O RPC Investigator possui várias configurações.

ConfiguraçãoDescriçãoPadrão
dbghelp.dllLocalização do arquivo do módulo dbghelp.dllEncontrar a versão mais recente dentro dos Windows Kits instalados.
Symbol PathCaminho para símbolos do Windows, que pode ser um servidor de símbolos ou diretório localServidor público padrão do Windows: srv*c:\symbols*https://msdl.microsoft.com/download/symbols
Trace LevelNível de log de rastreamentoinfo

As configurações podem ser modificadas dentro da aplicação através do menu Edit -> Settings.

Solução de Problemas

Após seu lançamento inicial, o RPC Investigator foi convertido de uma aplicação .NET Framework para uma aplicação .NET 7. Se você encontrar problemas de compilação, certifique-se de que o Visual Studio esteja atualizado. É uma boa ideia limpar todas as pastas de saída de compilação antes de compilar a partir da versão .NET Framework.

Além disso, devido à migração da classe insegura BinaryFormatter para protobuf-net, as bibliotecas RPC geradas com a versão .NET Framework são incompatíveis com a versão .NET.

Se você estiver enfrentando travamentos aleatórios no RPC Investigator, pode encontrar uma solução pedindo ao seu administrador para ajustar seu EDR. Descobrimos que alguns EDRs não se comportam adequadamente com linguagens compiladas em tempo real (JIT).

Em alguns casos, o RPC Investigator é detectado como malicioso por EDRs, incluindo alguns falsos positivos no Virus Total. Este é um problema conhecido. Isso ocorre porque o RPC Investigator contém o NtObjectManager - um pacote criado por James Forshaw que é conhecido por ser detectado (falso positivo) por muitos EDRs, incluindo o Windows Defender.

Ambiente de Desenvolvimento

  1. Instale o Visual Studio Community 2022, certifique-se de selecionar o fluxo de trabalho .NET Desktop Development.
  2. Baixe e instale o Windows 10 SDK mais recente. Realize uma instalação completa para que o .NET 4.8.1 e as Ferramentas de Depuração sejam instalados.
  3. Abra a Solução e verifique se os projetos foram carregados corretamente. Se houver um erro sobre a falta do .NET 4.8.1 Targeting Pack, baixe e instale o .NET Framework 4.8.1 Developer Pack e reinicie o Visual Studio.

Leitura Adicional

Como o RPC do Windows tem sido um tópico de pesquisa popular por mais de uma década, há muitos recursos e esforços de pesquisa relacionados para listar aqui. Listamos alguns abaixo que encontramos enquanto construíamos esta ferramenta:

  • 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

Se você não está familiarizado com os internals do RPC ou precisa de uma atualização técnica, recomendamos uma das fontes autoritativas sobre o assunto - a palestra de Alex Ionescu no SyScan 2014 em Singapura, All about the RPC, LRPC, ALPC, and LPC in your PC.

Baixar ferramenta