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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-7771 — Полная цепочка эксплойта для CVE-2025-7771 в ThrottleStop.sys, использующая невалидированные IOCTL-запросы чтения/записи физической памяти для повышения привилегий от администратора до SYSTEM в Windows. | Kitploit
Инструменты/GitHubGitHub/yulisec/cve-2025-7771
Оборонительные ИнструментыПовышение привилегийАнализ уязвимостейЭксплуатацияТестирование на ПроникновениеRed TeamingРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHubyulisec/cve-2025-7771

CVE-2025-7771

Полная цепочка эксплойта для CVE-2025-7771 в ThrottleStop.sys, использующая невалидированные IOCTL-запросы чтения/записи физической памяти для повышения привилегий от администратора до SYSTEM в Windows.

11121 дней назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2025-7771 — произвольное чтение/запись физической памяти через ThrottleStop.sys

Полноценный proof-of-concept для драйвера TechPowerUp ThrottleStop.sys (CVE-2025-7771). Подписанный, всё ещё загружаемый драйвер ядра предоставляет непроверенное чтение и запись физической памяти через два IOCTL. Этот репозиторий превращает данный примитив в рабочую локальную эскалацию привилегий из администратора в SYSTEM и документирует особенность именования устройства, которая ломает большинство детектов, основанных на путях и именах файлов.

PoC для тех же IOCTL уже существовал (см. раздел «Благодарности»). Это независимая, полная цепочка эксплуатации, а не демонстрация примитива.

Уязвимый драйвер

ПолеЗначение
SHA25616F83F056177C4EC24C7E99D01CA9D9D6713BD0497EEEDB777A3FFEFA99C97F0
SHA182ED942A52CDCF120A8919730E00BA37619661A3
MD56BC8E3505D9F51368DDF323ACB6ABC49
Версия3.0.0.0 ("Low-Level Driver", 2004-2020)
ПодписантTechPowerUp LLC, DigiCert EV Code Signing
Отпечаток сертификата524EDA9C819321C66E22C7BABEB23DAEAFFB2182
Срок действия сертификата2019-08-10 — 2022-06-15

Сертификат истёк в 2022 году, но подпись несёт доверенную контрассигнатуру с меткой времени, поэтому Windows всё ещё загружает драйвер. Отзыв помогает только если его дата предшествует времени подписи, что редко бывает для таких старых драйверов.

В ресурсе версии отсутствуют CompanyName, OriginalFilename и InternalName, поэтому файл невозможно атрибутировать вендору по его собственным метаданным.

Уязвимость

Два IOCTL читают и записывают физическую память без проверки границ или адреса:

IOCTLОперация
0x80006498Чтение физической памяти
0x8000649CЗапись физической памяти

Оба используют METHOD_BUFFERED, поэтому разыменования пользовательского указателя нет; дефект заключается в отсутствии проверки предоставленного вызывающим физического адреса, а не в непроверенном указателе.

Стоит отметить: обработчик записи 0x8000649C объявлен как FILE_READ_ACCESS. Дескриптор, открытый только для чтения, всё равно может выполнять запись в физическую память, поэтому объявленная маска доступа не соответствует тому, что обработчик делает на самом деле.

Воздействие

Открытие устройства требует прав администратора, поэтому само по себе это не пересечение границы привилегий. Но атакующему, уже обладающему правами администратора, это даёт произвольное чтение/запись ядра из пользовательского режима, что обходит защиты, которые должны действовать выше уровня администратора: целостность кода HVCI, PPL и самозащиту EDR/AV. Классический bring-your-own-vulnerable-driver.

В качестве конкретной демонстрации PoC использует примитив чтения/записи для кражи токена SYSTEM и запуска оболочки SYSTEM.

CVSS 4.0: AV:L/AC:H/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H (8.7, High).

Как работает эксплойт

Всё выполняется из пользовательского режима через IOCTL физического чтения/записи драйвера. Обхода таблиц страниц и использования CR3 нет; оба процесса находятся прямым сканированием физической памяти:

  1. Найти SYSTEM. Сканировать физическую память в поисках EPROCESS, у которого ImageFileName равно System, а UniqueProcessId равно 4. Сканирование ограничено диапазонами занятой оперативной памяти, прочитанными из ключа реестра прошивки HARDWARE\RESOURCEMAP\...\Physical Memory, а не угаданным окном, поэтому дыры MMIO никогда не затрагиваются и ничего выше установленной оперативной памяти не пропускается.
  2. Прочитать токен SYSTEM. Прочитать поле Token (EPROC_TOKEN) из найденного EPROCESS.
  3. Найти наш процесс. Сканировать физическую память тем же способом в поисках собственного EPROCESS PoC, сопоставляя имя образа как 8-байтовый шаблон и подтверждая по его PID.
  4. Подменить токен. Записать значение токена SYSTEM в наш собственный слот Token. Токен является _EX_FAST_REF, поэтому младшие биты счётчика ссылок по умолчанию маскируются (--mask выбирает поведение).
  5. Доказать. Запустить cmd.exe; whoami возвращает NT AUTHORITY\SYSTEM.

Смещения (EPROC_TOKEN, EPROC_PID, EPROC_IMG_NAME и т. д.) предназначены для конкретной сборки и должны быть подтверждены через dt nt!_EPROCESS на целевой версии Windows.

Имя исполняемого файла имеет значение. Шаг 3 находит наш собственный процесс путём сопоставления его ImageFileName в физической памяти, а это поле ограничено 15 символами, при этом сканирование сопоставляет первые 8. Держите скомпилированное имя коротким и уникальным; если переименовываете бинарник, оставайтесь в этих пределах, иначе самосканирование не найдёт процесс.

Имя устройства контролируется атакующим

Драйвер не использует фиксированное имя устройства. Он выводит имя объекта устройства из имени службы, под которой зарегистрирован; имя файла на диске не имеет значения. Регистрация бинарника под службой TRIXX даёт \\.\TRIXX независимо от того, как файл называется на диске.

Таким образом, любой детект, завязанный на \Device\ThrottleStop или ThrottleStop.sys, тривиально обходится. Детектирование должно основываться на хеше файла или сертификате подписи:

SHA256:     16F83F056177C4EC24C7E99D01CA9D9D6713BD0497EEEDB777A3FFEFA99C97F0
Thumbprint: 524EDA9C819321C66E22C7BABEB23DAEAFFB2182
Subject:    CN=TechPowerUp LLC, O=TechPowerUp LLC, L=Spokane, S=Washington, C=US

Список DEVICE_NAMES в исходном коде — это лишь проба для известных установок продукта. Передайте имя устройства аргументом, чтобы нацелиться на службу, зарегистрированную вами самостоятельно.

Связанные драйверы TechPowerUp

CVEДрайвер
CVE-2019-7245GPU-Z.sys
CVE-2025-5324GPU-Z.sys
CVE-2025-7771ThrottleStop.sys (этот репозиторий)

Драйвер не включён

Бинарник здесь не поставляется. Проверяйте любую копию по SHA256 выше. Образец каталогизирован в LOLDrivers.

Сборка

cl /nologo /EHsc /W4 /O2 src\ThrottleStop.cpp /Fe:myLittleLpe.exe /link advapi32.lib

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

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

sc.exe create <name> type= kernel binPath= C:\path\to\ThrottleStop.sys
sc.exe start <name>

myLittleLpe.exe

sc.exe stop <name>
sc.exe delete <name>

Бинарник не принимает аргументов. Он выводит карту физической памяти, сканирует в поисках EPROCESS SYSTEM и локального процесса, подменяет токен и запускает cmd.exe от имени NT AUTHORITY\SYSTEM.

Демонстрация

Запуск myLittleLpe.exe, показывающий карту физической памяти, сканирование EPROCESS, подмену токена и оболочку SYSTEM

Другие PoC и предыдущие работы

Другие публичные работы по тому же драйверу для сравнения:

  • Demoo1337/ThrottleStop — более ранний PoC для тех же IOCTL
  • xM0kht4r/CVE-2025-7771 — физическое чтение/запись плюс VA-to-PA через Superfetch
  • AmrHuss/throttlestop-exploit-rw — физическое чтение/запись с трансляцией адресов через Superfetch
  • v31l0x1/ThrottleStopPPL — обход защиты PPL
  • Yuri08loveElaina/CVE-2025-7771 — другая реализация

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

  • LOLDrivers — каталогизация уязвимых драйверов

Отказ от ответственности

Опубликовано для защитных исследований и инженерии детектирования. Уязвимость уже публична как CVE-2025-7771. Всё здесь тестировалось на системах, принадлежащих автору. Не запускайте это против систем, которыми вы не владеете или не имеете разрешения тестировать.

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