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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2021-1732 — Эксплойт для ядра Windows для CVE-2021-1732, использование после освобождения в win32kfull.sys, позволяющее повышение локальных привилегий через создание специально подготовленных окон и манипуляцию обратными вызовами. | Kitploit
Инструменты/GitHubGitHub/beneficialcode/cve-2021-1732
Повышение привилегийАнализ уязвимостейЭксплуатацияЭксплуатация Бинарных Файлов
GitHubbeneficialcode/cve-2021-1732

CVE-2021-1732

Эксплойт для ядра Windows для CVE-2021-1732, использование после освобождения в win32kfull.sys, позволяющее повышение локальных привилегий через создание специально подготовленных окон и манипуляцию обратными вызовами.

Репозиторий

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
114 лет назадЕщё не проверено

CVE-2021-1732

  • Уязвимость возникает из-за несинхронизации между выделением памяти в пользовательском режиме при обратном вызове ядра и установкой атрибута tagWND->flag в функции win32kfull!NtUserCreateWindowEx драйвера Windows. Это позволяет подделать значение tagWND->offset, что приводит к выходу за пределы памяти.
  • Когда драйвер win32kfull.sys вызывает NtUserCreateWindowEx для создания окна, он проверяет tagWND->cbWndExtra (количество дополнительной выделяемой памяти для экземпляра окна). Если это значение не равно нулю, вызывается функция win32kfull!xxxClientAllocWindowClassExtraBytes, которая обращается к пользовательскому уровню через user32.dll!__xxxClientAllocWindowClassExtraBytes для выделения памяти. После выделения адрес возвращается обратно в ядро с помощью функции NtCallbackReturn, которая корректирует стек, сохраняет его и продолжает выполнение. Однако, когда значение tagWND->flag содержит атрибут 0x800, это сохраненное значение становится смещением (offset).
  • Злоумышленник может перехватить функцию user32.dll!_xxxClientAllocWindowClassExtraBytes, вызвать NtUserConsoleControl, чтобы изменить tagWND->flag, добавив атрибут 0x800, а затем с помощью NtCallbackReturn вернуть в ядро произвольное значение в tagWND->offset.
  1. Уязвимость находится в win32kfull!NtUserCreateWindowEx драйвера Windows.
  2. Когда драйвер win32kfull.sys вызывает NtUserCreateWindowEx для создания окна, он проверяет tagWND->cbWndExtra (количество дополнительной выделяемой памяти для экземпляра окна). Если это значение не равно нулю, вызывается функция win32kfull!xxxClientAllocWindowClassExtraBytes, которая обращается к пользовательскому уровню через user32.dll!__xxxClientAllocWindowClassExtraBytes для создания памяти. После выделения адрес возвращается обратно в ядро с помощью NtCallbackReturn, которая корректирует стек, сохраняет его и продолжает выполнение. Однако, когда значение tagWND->flag содержит атрибут 0x800, для этого значения используется адресация по смещению (offset addressing).
  3. Использование NtUserConsoleControl для изменения flag, чтобы он содержал атрибут 0x800.

17763:[[gpKernelHandleTable] + 0x18 * ((hwnd->cx * [gSharedInfo+0x10]) >> 5)]

Упоминается, что вызов NtUserConsoleControl сбрасывает значения tagWND->offset и tagWND->flag, добавляя атрибут 0x800. Когда flag содержит атрибут 0x800, для доступа используется смещение. Наша цель при вызове NtUserConsoleControl — изменить tagWND->flag, чтобы он содержал атрибут 0x800, а затем с помощью NtCallbackReturn вернуть указанное значение, чтобы изменить tagWND->offset, потому что win32kfull!xxxClientAllocWindowClassExtraBytes помещает возвращаемое значение в tagWND->offset.

+0x058 KernelCallbackTable : 0x00007ffb0e9d1070 Void

00007ffb0e9d1448`

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