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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/synacktiv/windows_kernel_shadow_stack
Повышение привилегийАнализ уязвимостейЭксплуатацияСтатьи и ИсследованияЭксплуатация Бинарных Файлов
GitHubsynacktiv/windows_kernel_shadow_stack

windows_kernel_shadow_stack

Концепт-демонстрации, иллюстрирующие некоторые аспекты механизма защиты Shadow Stack в ядре Windows.

Репозиторий

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
77831 год назадПроверено Kitploit

Доказательства концепций

Этот проект направлен на демонстрацию некоторых аспектов механизма защиты теневого стека, реализованного Microsoft в Windows 11. Код ориентирован конкретно на Windows 11 24H2. Он может не работать на других версиях Windows 11 из-за управления смещениями ядра.

Проект разделён на две части: клиент и драйвер. Связь между ними осуществляется через механизм IOCTL. Клиент запрашивает у драйвера выполнение действий на уровне ядра.

Возможности

  • Инкрементировать один из адресов возврата ядра текущего потока, чтобы нарушить его выравнивание и вызвать BSOD.
  • Пропустить один из кадров стека ядра текущего потока, чтобы продемонстрировать устойчивость теневого стека.
  • Включить/отключить CET в текущем регистре CR4, что приводит к BSOD.
  • Запись в регистры MSR, что обычно приводит к BSOD.
  • Запись в теневой стек, что приводит к BSOD.
  • Запись в PTE теневого стека, что вызывает BSOD.
  • Выполнять деления, чтобы продемонстрировать поведение try/except и теневого стека при делении на ноль.

Сборка

Используйте build.bat.

Предварительные требования

В качестве предварительного условия следующие комплекты должны быть для одной и той же сборки Windows:

  • Microsoft Windows SDK (Software Development Kit)
  • Microsoft WDK (Windows Driver Kit)

Примечание: POC был протестирован с версией комплектов 10.0.26100.0.

Конфигурация целевой машины

Для активации защиты теневого стека ядра необходимо добавить или задать следующие значения в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\:

ИмяТипДанные
EnableVirtualizationBasedSecurityREG_DWORD1
Scenarios\HypervisorEnforcedCodeIntegrity\EnabledREG_DWORD1
Scenarios\KernelShadowStacks\EnabledREG_DWORD1

Кроме того, чтобы загрузить драйвер, подписанный для тестирования, необходимо выполнить следующую команду в консоли с правами администратора:

root@kitploit:~
bcdedit /set testsigning on

Затем потребуется перезагрузка.

Использование

Загрузка драйвера

Чтобы загрузить драйвер, необходимо ввести следующие команды в консоли с правами администратора:

root@kitploit:~
sc create shadow type= kernel binPath= ABSOLUTE_PATH_TO_THE_DRIVER
sc start shadow

Клиент

Клиент имеет следующие параметры:

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

SergiusTheBest за его FindWDK.

Скачать инструмент
ПараметрОписание
incУвеличить адрес возврата к вызывающему коду на 1
skipМодифицировать RSP, чтобы он указывал на предыдущий кадр стека
cdisableОтключить CET в CR4
cenableВключить CET в CR4
wrmsr REGISTER VALUEЗаписать в REGISTER указанное значение VALUE
wrshskЗапись в теневой стек
wrshskpteПерезаписать PTE теневого стека
div DIVIDEND DIVISORВыполнить целочисленное деление в пространстве ядра