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

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

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

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

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

Категории

Все категории
Loading categories
Kernel_VADInjector — Инжектор DLL для Windows 10, работающий через драйвер, использующий VAD и скрывающий загруженный драйвер | Kitploit
Инструменты/GitHubGitHub/lleon1435/kernel_vadinjector
Обход IDS/IPSШелл-кодПост-эксплуатацияRed TeamingРазработка Полезной НагрузкиСостязательная Атака
GitHublleon1435/kernel_vadinjector

Kernel_VADInjector

Инжектор DLL для Windows 10, работающий через драйвер, использующий VAD и скрывающий загруженный драйвер

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

Популярное

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

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

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

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

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

Driver DLL Injector

Driver DLL Injector Описание

Driver DLL Injector — это мощный инструмент, который позволяет пользователям загружать выбранные ими драйверы с помощью предпочтительного маппера. Используя возможности загрузчика неподписанных драйверов, такого как KDmapper, этот инжектор был создан и протестирован на процессах Windows 10 2004 x64

Драйверная часть:

Драйвер перехватывает безопасную для PatchGuard функцию xKdEnumerateDebuggingDevices для связи с нашим процессом пользовательского режима. Этот метод хорошо детектируется популярными античитами, поэтому мы идём дальше и захватываем поток пользовательского режима в ядре для связи, восстанавливая адрес исходной функции и тем самым обходя проверки целостности функций.

Для сокрытия оставляемых следов драйвер делает следующее:

  • Манипуляция VAD: драйвер стратегически выделяет память за «стеком потока», используя недокументированные функции дескриптора виртуального адреса (VAD), такие как MiInsertChange и MiAllocVad, которые не являются широко известными. После выделения VAD и успешной загрузки DLL драйвер удаляет VAD из дерева VAD.

  • Манипуляция PTE: чтобы обойти проверки NtQueryVirtualMemory, драйвер манипулирует записями таблицы страниц (PTE), делая страницы, выделенные через VAD, исполняемыми. Изменяя PTE, драйвер гарантирует, что VAD не обновляется с включённым исполняемым (X) битом, обходя потенциальные ограничения.

  • Очистка PiDDBCacheTable, MmUnloadedDrivers (список хеш-корзин).

  • В зависимости от того, какой ручной маппер вы используете для драйвера, вам также придётся учитывать большие пулы.

Часть пользовательского режима:

Процесс пользовательского режима использует оверлей Discord для вызова функции main нашей DLL.

Процесс пользовательского режима делает следующее:

  • «Связывается» с перехваченной функцией ядра, предоставляя все наши адреса и коды сообщений.
  • Сканирует процесс на наличие оверлея Discord; если он найден, подготавливает шеллкод и выделяет VAD.
  • Подготавливает шеллкод для вызова main DLL, а затем
  • После внедрения DLL процесс пользовательского режима отправляет драйверу сообщение «We're done!», и драйвер очищает все оставленные следы.

Чтобы использовать Driver DLL Injector, выполните следующие шаги:

root@kitploit:~
1. Выберите и установите совместимый маппер, например KDmapper.
2. Скомпилируйте или соберите проект Driver DLL Injector.
3. Загрузите драйвер с помощью выбранного маппера
4. Запустите тестовое приложение (с включённым оверлеем Discord)
5. Запустите приложение пользовательского режима и дождитесь окна сообщения Hello World.

Векторы обнаружения

  • Обходы таблицы страниц, обходы стека и т.д.
  • WDF покажет загруженный драйвер, потому что он не очищается, как MmUnLoadedDrivers
  • Поток пользовательского режима будет иметь огромное количество циклов процессора, потраченных в режиме ядра; проверьте «Время ядра» в диспетчере задач

Возникшие проблемы

При создании этого проекта на пути возникло несколько препятствий. Некоторые из них:

  • DLL падала из-за неправильно настроенных свойств DLL. Установка /sdl-, /GS- и библиотеки времени выполнения в /MT исправила мои проблемы с падениями.
  • Маппинг драйвера с помощью маппера вызывал BSOD KMODE_EXCEPTION; это было исправлено установкой свойства драйвера /GS-.
  • Оверлей Discord инициализируется не сразу; если внедрить код до инициализации оверлея, произойдёт падение из-за нулевых указателей.

Благодарности

ModMap — за демонстрацию манипуляции VAD

SkCrypt — за шифрование

Stealthy Kernel Mode Injector — за основу драйвера

Poseidon — за захват потока пользовательского режима в ядре

FACE INJECTOR — за шеллкод

Скачать инструмент