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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-21333 — CVE-2025-21333 的概念验证漏洞利用,这是 Hyper-V 的 vkrnlintvsp.sys 中基于堆的缓冲区溢出,通过 I/O Ring 和令牌替换导致本地权限提升。 | Kitploit
Инструменты/GitHubGitHub/uname1able/cve-2025-21333
Повышение привилегийКриминалистика памятиАнализ уязвимостейЭксплуатацияОбучение и ОбразованиеЭксплуатация Бинарных ФайловЛаборатории и Практика
GitHubuname1able/cve-2025-21333

CVE-2025-21333

CVE-2025-21333 的概念验证漏洞利用,这是 Hyper-V 的 vkrnlintvsp.sys 中基于堆的缓冲区溢出,通过 I/O Ring 和令牌替换导致本地权限提升。

Репозиторий
21 месяц назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2025-21333

Hyper-V NT Kernel Integration VSP (vkrnlintvsp.sys): переполнение кучи Paged Pool → локальное повышение привилегий (LPE).
Этот каталог содержит исходный код PoC для лаборатории (на основе MrAle98/CVE-2025-21333-POC, с локальными патчами).


1. Сводка уязвимости

ПолеСодержание
CVECVE-2025-21333
ТипПереполнение буфера в куче
ВоздействиеЛокальное повышение привилегий (EoP); ранее отмечалась эксплуатация в дикой природе
Компонентvkrnlintvsp.sys
Уязвимая функцияVkiRootAdjustSecurityDescriptorForVmwp
Тег пулаViRo
Патч2025-01-14; для Win11 23H2 требуется ≥ 22631.4751 (KB5050021)

Корневая причина

В VkiRootAdjustSecurityDescriptorForVmwp:

  1. Длина выделения вычисляется через WORD: AclSize + sid1 + sid2 + 16
  2. При AclSize = 0xfff0 сумма равна 0x10040 → усекается до 0x40
  3. ExAllocatePool2(..., 0x40, 'ViRo')
  4. memmove(pool, dacl, AclSize) по-прежнему копирует полные 0xfff0 байт

Ключевое неравенство: allocatedBytes(0x40) < accessEnd(0xfff0).

Подтверждено динамически в KD:

  • ExAllocatePool2 → @rdx = 0x40
  • memmove → @r8 = 0xfff0

Путь срабатывания

Необходимо включить Windows Sandbox (и Nested Virtualization), чтобы соответствующие syscall попадали в vkrnlintvsp.sys:

root@kitploit:~
PoC → NtCreateCrossVmEvent
    → VkiRootCalloutCreateEvent
    → VkiRootAdjustSecurityDescriptorForVmwp

2. Версия системы для воспроизведения

ПолеЗначение
Гостевая ОС

Запатченная 23H2 (≥ 22631.4751) не воспроизводится. Требуется включить Nested Virtualization + Windows Sandbox.


3. Цепочка эксплуатации (кратко)

  1. Spray WNF_STATE_DATA
  2. Конструкция Dual-ACE задаёт AclSize=0xfff0, вызывая переполнение и увеличивая DataSize соседнего WNF
  3. Освобождаются два чанка, затем выделяются: IrRB (I/O Ring RegBuffers) + NpAt (PipeAttribute)
  4. Перезапись одного элемента в RegBuffers → подделка IOP_MC_BUFFER_ENTRY в пользовательском режиме
  5. IoRing Read/Write → произвольное чтение/запись в ядре
  6. Замена токена → PRIV_ESC_OK → привязанная к сессии видимая оболочка SYSTEM

Ожидаемая раскладка: 0x30 IrRB + 0x80 NpAt (требуется found1=1 && found2=1).


4. Ключевые моменты стабилизации на данной системе (22631.3447)

Условия, которые нельзя опускать по сравнению с апстримом:

Раскладка при spray кучи недетерминирована, повышение привилегий не 100%; при неудаче можно повторить.


5. Ссылки

  • MSRC: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-21333
  • Апстрим-анализ: https://medium.com/@ale18109800/cve-2025-21333-windows-heap-based-buffer-overflow-analysis-d1b597ae4bae
  • Апстрим-PoC: https://github.com/MrAle98/CVE-2025-21333-POC
  • Примитив I/O Ring: https://windows-internals.com/one-i-o-ring-to-rule-them-all-a-full-read-write-exploit-primitive-on-windows-11/
Скачать инструмент
Windows 11 23H2
Сборка гостевой ОС10.0.22631.3447 (< 4751, воспроизводится)
vkrnlintvsp.sys10.0.22621.2506; SHA256 015DD1211569B6F85CC0041269F249BA5935A3DA89B615B502DF59EAD5354BB8
ТемаСуть
Dual-ACEОдиночный ACE с AceSize=0xf000 будет изменён SeCapture до примерно 0xf008 → переполнения нет; обязателен двойной ACE, чтобы в ядре осталось AclSize=0xfff0
Код возвратаCrossVm может вернуть STATUS_INVALID_ACL (0xC0000077), сканирование WNF всё равно нужно продолжать
Таймингиfree CCC → Submit IoRing → Sleep(5000) → free DDD → pipe spray
SandboxУбивать WindowsSandboxClient только после подтверждения IrRB/NpAt
ntos RVAExAllocatePool2=0xaac7a0, PsInitialSystemProcess=0xd1da60 (на сборке 3447 со смещениями из апстрима получится system EPROCESS: 0)
Видимая оболочкаCreateProcessAsUser + TokenSessionId + winsta0\Default → VISIBLE_SYSTEM_CMD_OK