Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
DNCI — DNCI - Инжектор кода .NET | Kitploit
Инструменты/GitHubGitHub/guibacellar/dnci
Пост-эксплуатацияТестирование на ПроникновениеRed Teaming
GitHubguibacellar/dnci

DNCI

DNCI - Инжектор кода .NET

Репозиторий
149267 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

DNCI - Инжектор кода .Net

DNCI позволяет удаленно внедрять код .Net (.exe или .dll) в неуправляемые процессы в Windows.

1. Структура проекта

Проект структурирован следующим образом:

  • DNCI.Injector.Library — библиотека инжекции. Содержит все компоненты и логику инжекции;
  • DNCI.Injector.Runner — утилита командной строки для инжекции;
  • DNCIClrLoader — микро-код на C++ для загрузки сборки .NET в память;
  • InjectDemo.Console.ClassicNet — демонстрационное классическое консольное приложение .Net для инжекции;
  • InjectDemo.Console.DotNetCore — демонстрационное консольное приложение .Net Core для инжекции;
  • InjectDemo.Dll.ClassicNet — демонстрационная классическая DLL .Net для инжекции;

2. Документация и использование:

2.1. Документация утилиты командной строки

  • Параметры:
    • --help Отображение справочной информации
    • --assemblyFile <SOURCE_FILE_PATH> Целевой классический DLL-файл .NET
    • --className <TARGET_CLASS_NAME> Полное имя типа управляемой сборки
    • --methodName <TARGET_CLASS_ENTRYPOINT_METHOD> Имя управляемого метода для выполнения. Пример: EntryPoint (метод должен быть 'public static int')
    • --argument <ENTRYPOINT_METHOD_ARGUMENT> Необязательный аргумент для передачи в управляемую функцию
    • --targetMode <TARGET_MODE> Режим целевой инжекции (BruteForce, PID, ProcessName)
    • --pid <TARGET_PROCESS_ID> Идентификатор целевого процесса
    • --processName <TARGET_PROCESS_Name> Имя целевого процесса

Примеры

Внедрение классического консольного приложения .Net в Notepad++

В этом примере используется файл .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"

Внедрение классического консольного приложения .Net в процесс с ID 66

В этом примере используется файл .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"

Попытка внедрения классического консольного приложения .Net в любой запущенный процесс

В этом примере используется файл .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. Документация библиотеки инжекции

Библиотека инжекции предназначена для использования любой программой .Net. Фактически, утилита командной строки DNCI сама использует библиотеку DNCI.

  • Классы
    • Injector — основной компонент инжектора;
    • InjectorConfiguration — модель конфигурации. Создана как абстрактная модель между Injector и его потребителями;
    • InjectorConfigurationBuilder — Fluent-построитель для модели InjectionConfiguration;
    • InjectorResult — модель результата. Создана как абстрактная модель между Injector и его потребителями;
    • InjectorResultStatus — перечисление всех возможных статусов инжекции;

Параметры сборки

Внедрение классического консольного приложения .Net в удаленный процесс

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

Перебор для внедрения классического DLL-приложения .Net в любой доступный процесс

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

Запуск инжектора

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);
}
Скачать инструмент