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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2021-40449 — Эксплойт Windows для локального повышения привилегий (LPE) через CVE-2021-40449 — use-after-free в win32kfull!GreResetDCInternal, использующий утечку токенов, эксплуатацию гаджетов ядра и внедрение шеллкода для получения привилегий SYSTEM. | Kitploit
Инструменты/GitHubGitHub/hakivvi/cve-2021-40449
Повышение привилегийКриминалистика памятиАнализ уязвимостейЭксплуатацияШелл-кодРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHubhakivvi/cve-2021-40449

CVE-2021-40449

Эксплойт Windows для локального повышения привилегий (LPE) через CVE-2021-40449 — use-after-free в win32kfull!GreResetDCInternal, использующий утечку токенов, эксплуатацию гаджетов ядра и внедрение шеллкода для получения привилегий SYSTEM.

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

Популярное

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

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

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

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

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

CVE-2021-40449

Мой эксплойт для CVE-2021-40449, Windows LPE через UAF в win32kfull!GreResetDCInternal.

Краткое описание

Наряду с уязвимостью UAF используются и другие примитивы для реализации этого эксплойта:

  • получение адреса access token эксплойта в ring0 через функцию NtQuerySystemInformation() с параметром SystemHandleInformation.
  • использование rtlSetAllBits() в качестве гаджета для перезаписи access_token.privileges эксплойта значениями 0xFF.
  • получение адреса rtlSetAllBits() в ring0 путем утечки базового адреса модуля ntoskrnl.exe через функцию EnumDeviceDrivers().
  • создание параметра гаджета BitMapHeader таким образом, чтобы позволить перезаписать access_token.privileges эксплойта.
  • выделение созданного BitMapHeader через примитив NtSetInformationThread() и утечка адреса выделения в большом пуле через функцию NtQuerySystemInformation() с параметром SystemBigPoolInformation.
  • для взаимодействия с уязвимой функцией сначала перечисляем принтеры в системе через EnumPrinters(), загружаем драйвер одного из них, затем перехватываем вызовы к функции обратного вызова пользовательского режима DrvEnablePDEV().
  • в перехватчике проксируем вызов к оригинальной функции DrvEnablePDEV(), выполняем действия эксплойта, затем возвращаем то, что вернул проксированный вызов, обратно в GDI.
  • запуск UAF через второй вызов ResetDC() в перехваченной функции DrvEnablePDEV().
  • перехват освобожденного объекта PDC путем распыления сфабрикованного объекта того же размера с использованием примитива CreatePalette().
  • использование новой полученной привилегии SeDebugPrivilege для получения NT AUTHORITY\SYSTEM путем внедрения шелл-кода в процесс winlogon.exe.

Более подробную информацию можно найти в этой статье от Kaspersky.

PoC

PoC Протестировано на Win10 Redstone (сборка 14393).

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