Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
DNCI — DNCI - .NET-Code-Injektor | Kitploit
Tools/GitHubGitHub/guibacellar/dnci
Post-ExploitationPenetrationstestsRed Teaming
GitHubguibacellar/dnci

DNCI

DNCI - .NET-Code-Injektor

Repository anzeigen
14926vor 7 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

DNCI - Dot Net Code-Injektor

DNCI ermöglicht die Injektion von .Net-Code (.exe oder .dll) in unmanaged Prozesse unter Windows.

1. Projektstruktur

Das Projekt ist wie folgt strukturiert:

  • DNCI.Injector.Library - Injektionsbibliothek. Enthält alle Injektionskomponenten und -logik;
  • DNCI.Injector.Runner - Befehlszeilenprogramm für die Injektion;
  • DNCIClrLoader - C++ MicroCode zum Laden der .NET-Assembly in den Speicher;
  • InjectDemo.Console.ClassicNet - Demo Classic .Net Konsolenanwendung, die injiziert werden soll;
  • InjectDemo.Console.DotNetCore - Demo .Net Core Konsolenanwendung, die injiziert werden soll;
  • InjectDemo.Dll.ClassicNet - Demo Classic .Net DLL, die injiziert werden soll;

2. Dokumentation und Verwendung:

2.1. Dokumentation des Befehlszeilenprogramms

  • Parameter:
    • --help Hilfeinformationen anzeigen
    • --assemblyFile <SOURCE_FILE_PATH> Zieldatei (.NET Classic DLL)
    • --className <TARGET_CLASS_NAME> Der vollqualifizierte Typname der verwalteten Assembly
    • --methodName <TARGET_CLASS_ENTRYPOINT_METHOD> Der Name der verwalteten Methode, die ausgeführt werden soll. Z.B. EntryPoint (Diese Methode sollte 'public static int' sein)
    • --argument <ENTRYPOINT_METHOD_ARGUMENT> Ein optionales Argument, das an die verwaltete Funktion übergeben werden soll
    • --targetMode <TARGET_MODE> Injektionszielmodus (BruteForce, PID, ProcessName)
    • --pid <TARGET_PROCESS_ID> Zielprozess-ID
    • --processName <TARGET_PROCESS_Name> Zielprozessname

Beispiele

Klassische .Net-Konsolenanwendung in Notepad++ injizieren

Dieses Beispiel verwendet die Datei 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"

Klassische .Net-Konsolenanwendung in Prozess mit ID 66 injizieren

Dieses Beispiel verwendet die Datei 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"

Versuch, eine klassische .Net-Konsolenanwendung in einen beliebigen laufenden Prozess zu injizieren

Dieses Beispiel verwendet die Datei 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. Dokumentation der Injektionsbibliothek

Die Injektionsbibliothek wurde entwickelt, um von jedem .Net-Programm verwendet zu werden. Tatsächlich verwendet das DNCI-Befehlszeilenprogramm selbst die DNCI-Bibliothek.

  • Klassen
    • Injector - Hauptinjektorkomponente;
    • InjectorConfiguration - Konfigurationsmodell. Entwickelt als abstraktes Modell zwischen dem Injector und seinen Konsumenten;
    • InjectorConfigurationBuilder - Fluent Builder für das InjectionConfiguration-Modell;
    • InjectorResult - Ergebnismodell. Entwickelt als abstraktes Modell zwischen dem Injector und seinen Konsumenten;
    • InjectorResultStatus - Aufzählung aller möglichen Injektionsstatus;

Build-Parameter

Klassische .Net-Konsolenanwendung in einen Remote-Prozess injizieren

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

Brute-Force-Injektion einer klassischen .Net-DLL-Anwendung in einen beliebigen verfügbaren Prozess

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

Ausführen des Injectors

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);
}
Tool herunterladen