Sploitus

Exploit for cve-2025-7771 CVE-2025-7771

kitploit · 2026-08-25

Exploit Code

MARKDOWN71 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-MEIN-0-CVE-2025-7771
# CVE-2025-7771 — ThrottleStop.sys LPE

PoC для CVE-2025-7771. ThrottleStop.sys предоставляет два обработчика IOCTL, которые позволяют произвольное чтение/запись физической памяти без контроля доступа — любой процесс с правами администратора может читать или записывать в любом месте физической ОЗУ.

Протестировано на Windows 10 22H2 и Windows 11 23H2 x64.

* * *

## Что я сделал

Начал с загрузки бинарного файла драйвера в IDA Pro, чтобы разобраться, как он работает внутри. Нашел диспетчерскую процедуру `IRP_MJ_DEVICE_CONTROL` и проследил ее до двух кодов IOCTL:

  * `0x80006498` — чтение из физического адреса
  * `0x8000649C` — запись по физическому адресу



Оба просто вызывают `MmMapIoSpace` напрямую с любым переданным адресом. Никакой проверки границ, ни валидации вызывающего, ничего. В этом и заключается ошибка.

Отсюда путь эксплуатации довольно прямолинеен:

  1. Открыть дескриптор `\\.\ThrottleStop`
  2. Использовать запрос Superfetch PFN (`NtQuerySystemInformation` класс 79) для построения карты трансляции виртуальных→физических адресов
  3. Утечка базы ntoskrnl через `NtQuerySystemInformation` класс 11
  4. Загрузить `ntoskrnl.exe` с диска, чтобы определить RVA экспорта `PsInitialSystemProcess`, добавить к базе времени выполнения, чтобы получить VA ядра
  5. Перевести этот VA в физический адрес, прочитать его — получите указатель на SYSTEM EPROCESS
  6. Прочитать токен SYSTEM из `EPROCESS+0x4b8`
  7. Пройти по `ActiveProcessLinks`, чтобы найти собственный EPROCESS
  8. Записать токен SYSTEM в поле нашего собственного токена (физическая запись, обходит все защиты виртуальной памяти)
  9. Запустить cmd.exe — он наследует наш теперь-токен SYSTEM



Поле токена — это `_EX_FAST_REF`, поэтому младшие 4 бита являются счетчиком ссылок, а не частью указателя. Отмаскируйте их при чтении токена SYSTEM, сохраняйте свои биты счетчика ссылок при записи, иначе рискуете получить BSOD.

* * *

## Сборка

root@kitploit:~
    
    
    cl /std:c++20 /EHsc /O2 exploit_single.cpp /link ntdll.lib advapi32.lib
    

Требуется MSVC (VS2022+) и загруженный драйвер. Запускать от имени администратора.

## Смещения EPROCESS

Эти смещения для Windows 10 20H2–22H2 и Windows 11 22H2/23H2 x64. Проверьте с помощью `dt nt!_EPROCESS` в WinDbg, если у вас другая сборка.

Поле| Смещение  
---|---  
UniqueProcessId| 0x440  
ActiveProcessLinks| 0x448  
Token| 0x4b8  
  
* * *

## Ссылки

  * CVE-2025-7771
  * Исследование Kaspersky об активной эксплуатации в реальных условиях
  * jonomango/superfetch



* * *

_Только для образовательных и исследовательских целей. Протестировано на личной виртуальной машине._