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
DNCI — DNCI - Injetor de Código .NET | Kitploit
Ferramentas/GitHubGitHub/guibacellar/dnci
Pós-ExploraçãoTestes de PenetraçãoRed Teaming
GitHubguibacellar/dnci

DNCI

DNCI - Injetor de Código .NET

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

DNCI - Injetor de Código .Net

DNCI permite a injeção remota de código .Net (.exe ou .dll) em processos não gerenciados no Windows.

1. Estrutura do Projeto

O projeto está estruturado em:

  • DNCI.Injector.Library - Biblioteca de injeção. Contém todos os componentes e lógica de injeção;
  • DNCI.Injector.Runner - Utilitário de linha de comando para injeção;
  • DNCIClrLoader - Microcódigo C++ para carregar o assembly .NET na memória;
  • InjectDemo.Console.ClassicNet - Aplicativo de Console .Net Clássico de demonstração a ser injetado;
  • InjectDemo.Console.DotNetCore - Aplicativo de Console .Net Core de demonstração a ser injetado;
  • InjectDemo.Dll.ClassicNet - DLL .Net Clássica de demonstração a ser injetada;

2. Documentação e Uso:

2.1. Documentação do Utilitário de Linha de Comando

  • Parâmetros:
    • --help Mostrar informação de ajuda
    • --assemblyFile <SOURCE_FILE_PATH> Arquivo DLL .NET Clássico alvo
    • --className <TARGET_CLASS_NAME> O nome de tipo totalmente qualificado do assembly gerenciado
    • --methodName <TARGET_CLASS_ENTRYPOINT_METHOD> O nome do método gerenciado a ser executado. Ex: EntryPoint (Este método deve ser 'public static int')
    • --argument <ENTRYPOINT_METHOD_ARGUMENT> Um argumento opcional para passar para a função gerenciada
    • --targetMode <TARGET_MODE> Modo de alvo de injeção (BruteForce, PID, ProcessName)
    • --pid <TARGET_PROCESS_ID> ID do processo alvo
    • --processName <TARGET_PROCESS_Name> Nome do processo alvo

Exemplos

Injetar Aplicativo de Console .Net Clássico no Notepad++

Este exemplo utilizou o arquivo InjectDemo.Console.ClassicNet .exe. DNCI.Injector.Runner.exe --assemblyFile "<PATH_TO_FILE>\InjectDemo.Console.ClassicNet.exe" --className InjectDemo.Console.ClassicNet.Program --methodName EntryPoint --targetMode=processName --processName notepad++ --argument "OK BOY"

Injetar Aplicativo de Console .Net Clássico no Processo com ID 66

Este exemplo utilizou o arquivo InjectDemo.Console.ClassicNet .exe. DNCI.Injector.Runner.exe --assemblyFile "<PATH_TO_FILE>\InjectDemo.Console.ClassicNet.exe" --className InjectDemo.Console.ClassicNet.Program --methodName EntryPoint --targetMode=PID --pid 66 --argument "OK BOY"

Tentar Injetar Aplicativo de Console .Net Clássico em Qualquer Processo em Execução

Este exemplo utilizou o arquivo InjectDemo.Console.ClassicNet .exe. DNCI.Injector.Runner.exe --assemblyFile "<PATH_TO_FILE>\InjectDemo.Console.ClassicNet.exe" --className InjectDemo.Console.ClassicNet.Program --methodName EntryPoint --targetMode=BruteForce --argument "OK BOY"

2.2. Documentação da Biblioteca de Injeção

A biblioteca de injeção foi projetada para ser usada por qualquer programa .Net. Na verdade, o Utilitário de Linha de Comando DNCI usa a própria biblioteca DNCI.

  • Classes
    • Injector - Componente principal de injeção;
    • InjectorConfiguration - Modelo de configuração. Criado para ser um modelo abstrato entre o Injector e seus consumidores;
    • InjectorConfigurationBuilder - Construtor fluente para o modelo InjectionConfiguration;
    • InjectorResult - Modelo de resultado. Criado para ser um modelo abstrato entre o Injector e seus consumidores;
    • InjectorResultStatus - Enum com todos os status de injeção possíveis;

Parâmetros de Construção

Injetar Aplicativo de Console .Net Clássico em um Processo Remoto

root@kitploit:~
Injector.Library.InjectorConfiguration config = Injector.Library.InjectorConfigurationBuilder
    .Instance()
    .InjectThisClrBinary(@"<PATH_TO_BINARY>\InjectDemo.Console.ClassicNet.exe")
    .ClrClassName("InjectDemo.Console.ClassicNet.Program")
    .ClrMethodName("EntryPoint")
    .WithArguments("OK - It Works Baby")
    .InjectOnProcess("cmd") // Try to Inject on cmd process
    .InjectOnProcess("chrome") // Try to Inject on chrome process
    .InjectOnProcess("cmd.exe") // Try to Inject on cmd.exe process
    .InjectOnProcess("calc") // Try to Inject on calc process
    .InjectOnProcess("notepad++")  // Try to Inject on notepad++ process
    .Build();

Força Bruta para Injetar Aplicativo DLL .Net Clássico em Qualquer Processo Disponível

root@kitploit:~
Injector.Library.InjectorConfiguration config = Injector.Library.InjectorConfigurationBuilder
   .Instance()
   .InjectThisClrBinary(@"<PATH_TO_BINARY>\InjectDemo.Dll.ClassicNet.dll")
   .ClrClassName("InjectDemo.Dll.ClassicNet.Class1")
   .ClrMethodName("EntryPoint")
   .WithArguments("OK - It Works Baby")
   .InjectWithBruteForce()
   .Build();

Executando o Injetor

root@kitploit:~
// Create Injector Instance
DNCI.Injector.Library.Injector injector = new Library.Injector(configBuilderconfig);

// Execute the Injection
List<InjectorResult> result = injector.Run();

// Print Injection Result on Console
foreach (InjectorResult res in result)
{
    Console.WriteLine(res);
}
Baixar ferramenta