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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/hypersine/sdokeycrypt-sys-local-privilege-elevation
Повышение привилегийАнализ уязвимостейЭксплуатацияШелл-кодЭксплуатация Бинарных Файлов
GitHubhypersine/sdokeycrypt-sys-local-privilege-elevation

SdoKeyCrypt-sys-local-privilege-elevation

CVE-2019-9729. Перенесено из https://github.com/DoubleLabyrinth/SdoKeyCrypt-sys-local-privilege-elevation

Репозиторий

Популярное

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

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

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

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

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

SdoKeyCrypt.sys - Уязвимость локального повышения привилегий

1. Что такое SdoKeyCrypt.sys?

SdoKeyCrypt.sys — это драйвер защиты клавиатуры для MMORPG (Massively Multiplayer Online Role-Playing Game) под названием MapleStory Online, издаваемой Shanda Group в Китае.

Официальный сайт игры: http://mxd.sdo.com. (Язык: китайский)

Этот драйвер загружается и устанавливается в папку C:\Windows\System32\ при первом запуске игры. Поскольку игра очень большая, примерно 13.11 GB, я сделал резервную копию SdoKeyCrypt.sys для тех, кто хочет воспроизвести этот эксплойт.

SdoKeyCrypt.sys определённо официальный и НЕ был никем модифицирован.

Вы можете видеть, что здесь есть действительная подпись дайджеста, выпущенная Shanda Computer (Shanghai) Co., Ltd., что подтверждает: SdoKeyCrypt.sys действительно создан компанией Shanda.

2. Чем вызвана уязвимость?

В процедуре обработки IRP_MJ_DEVICE_CONTROL, когда код IOCTL равен (DWORD)(-0x7FFF3FFC + 0x18) = 0x8000c01c, драйвер некорректно обрабатывает данные, переданные из пользовательского пространства, из-за чего значение размера может стать отрицательным, и произойдёт переполнение кучи в меньшую сторону (heap underflow).

С помощью heap spraying, также известного как атака pool Feng Shui, можно отключить SMEP и выполнить произвольный shellcode в режиме ядра для локального повышения привилегий.

3. Как использовать PoC-код?

С помощью x64-компилятора Microsoft Visual C++ (поддерживающего C++11)

root@kitploit:~
$ cl poc.cpp /Fe:poc.exe /link /dynamicbase:no /fixed ntdll.lib

Протестировано на Visual Studio 2017 Community; ниже приведён пример вывода:

root@kitploit:~
C:\Github\SdoKeyCrypt-sys-local-privilege-elevation>cl poc.cpp /Fe:poc.exe /link /dynamicbase:no /fixed ntdll.lib
Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27027.1 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

poc.cpp
Microsoft (R) Incremental Linker Version 14.16.27027.1
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:poc.exe
/dynamicbase:no
/fixed
ntdll.lib
poc.obj

Затем убедитесь, что SdoKeyCrypt.sys загружен, и запустите poc.exe напрямую. Если всё прошло правильно, вы получите оболочку nt authority\system.

4. Скриншот

PoC-код протестирован и отлично работает на Win10 1709 и Win10 1803.

Однако он не работает на Win10 1809, где используется пул на основе кучи, который затрудняет атаку heap spraying. Но он может вызвать BSOD, так что как минимум присутствует локальная уязвимость типа «отказ в обслуживании» (Denial-of-Service).

Ниже приведено тестовое видео на Win10 1803 17134.619.

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