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
DNCI — DNCI - Inyector de Código .NET | Kitploit
Herramientas/GitHubGitHub/guibacellar/dnci
Post-ExplotaciónPruebas de PenetraciónRed Teaming
GitHubguibacellar/dnci

DNCI

DNCI - Inyector de Código .NET

Ver Repositorio
14926hace 7 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

DNCI - Inyector de Código .Net

DNCI permite la inyección de código .Net (.exe o .dll) de forma remota en procesos no administrados en Windows.

1. Estructura del Proyecto

El proyecto está estructurado en:

  • DNCI.Injector.Library - Biblioteca de inyección. Contiene todos los componentes y lógica de inyección;
  • DNCI.Injector.Runner - Utilidad de línea de comandos para inyección;
  • DNCIClrLoader - Microcódigo C++ para cargar el ensamblado .NET en memoria;
  • InjectDemo.Console.ClassicNet - Aplicación de consola .Net clásica de demostración para ser inyectada;
  • InjectDemo.Console.DotNetCore - Aplicación de consola .Net Core de demostración para ser inyectada;
  • InjectDemo.Dll.ClassicNet - DLL .Net clásica de demostración para ser inyectada;

2. Documentación y Uso:

2.1. Documentación de la Utilidad de Línea de Comandos

  • Parámetros:
    • --help Muestra información de ayuda
    • --assemblyFile <SOURCE_FILE_PATH> Archivo DLL Clásico .NET de destino
    • --className <TARGET_CLASS_NAME> El nombre de tipo completo del ensamblado administrado
    • --methodName <TARGET_CLASS_ENTRYPOINT_METHOD> El nombre del método administrado a ejecutar. Ej: EntryPoint (Este método debe ser 'public static int')
    • --argument <ENTRYPOINT_METHOD_ARGUMENT> Un argumento opcional para pasar a la función administrada
    • --targetMode <TARGET_MODE> Modo de destino de inyección (BruteForce, PID, ProcessName)
    • --pid <TARGET_PROCESS_ID> ID del proceso de destino
    • --processName <TARGET_PROCESS_Name> Nombre del proceso de destino

Ejemplos

Inyectar una aplicación de consola clásica .Net en Notepad++

Este ejemplo utiliza el archivo .exe InjectDemo.Console.ClassicNet. 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"

Inyectar una aplicación de consola clásica .Net en el proceso con ID 66

Este ejemplo utiliza el archivo .exe InjectDemo.Console.ClassicNet. 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"

Intentar inyectar una aplicación de consola clásica .Net en cualquier proceso en ejecución

Este ejemplo utiliza el archivo .exe InjectDemo.Console.ClassicNet. 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. Documentación de la Biblioteca de Inyección

La biblioteca de inyección fue diseñada para ser utilizada por cualquier programa .Net. De hecho, la utilidad de línea de comandos DNCI utiliza la propia biblioteca DNCI.

  • Clases
    • Injector - Componente principal del inyector;
    • InjectorConfiguration - Modelo de configuración. Creado para ser un modelo abstracto entre el Injector y sus consumidores;
    • InjectorConfigurationBuilder - Constructor fluido para el modelo InjectionConfiguration;
    • InjectorResult - Modelo de resultado. Creado para ser un modelo abstracto entre el Injector y sus consumidores;
    • InjectorResultStatus - Enumeración con todos los estados de inyección posibles;

Parámetros de construcción

Inyectar aplicación de consola .Net clásica en un proceso 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();

Fuerza bruta para inyectar una DLL .Net clásica en cualquier proceso disponible

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();

Ejecutar el Inyector

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);
}
Descargar herramienta