Уязвимости CorMem.sys: повышение привилегий и обход защиты PPL

Уязвимости в CorMem.sys позволяют обходить защиту процессов и повышать привилегии в Windows

Исследование, посвящённое драйверу CorMem.sys, показывает, что его механизмы работы с памятью и процессами могут быть использованы для обхода защитных механизмов Windows. В центре внимания — несколько команд IOCTL, которые открывают доступ к операциям с физической и виртуальной памятью, а также к манипуляциям с защищёнными процессами.

Как работают опасные IOCTL-команды

Авторы анализа выделяют три ключевые команды, через которые возможна эксплуатация уязвимостей:

  • IOCTL_MAP (0x22200c) — принимает от пользователя физические адреса и длины, после чего передаёт их на обработку функции сопоставления;
  • IOCTL_UNMAP (0x222010) — позволяет отменить отображение ранее сопоставленной области виртуальной памяти с помощью ZwUnmapViewOfSection;
  • IOCTL_V2P (0x22201C) — выполняет преобразование виртуального адреса ядра в физический адрес через MmGetPhysicalAddress без проверки исходного процесса.

Именно отсутствие должной валидации делает эти механизмы особенно опасными: они создают условия для обхода ограничений безопасности на уровне ядра.

Поиск ntoskrnl.exe и доступ к структурам ядра

Отдельное внимание в отчёте уделено эксплуатации, ориентированной на версии Windows 11, выходящие за рамки 24H2. В описанном сценарии эксплойт ищет образ ядра, перебирая адресное пространство с шагом 2 МБ — от 0xfffff800000000000 до 0xfffff808000000000.

Для этого используется функция VirtToPhys, которая помогает определить, какие страницы памяти сопоставлены. Затем проверяются допустимые PE-заголовки, позволяющие идентифицировать образ ntoskrnl.exe.

После определения базового адреса ntoskrnl.exe дальнейший анализ переходит к структуре системного процесса. Эксплойт использует связанный список ActiveProcessLinks, который объединяет структуры EPROCESS, чтобы получить доступ к данным о процессах и их токенах.

Повышение привилегий через токен SYSTEM

Ключевой этап атаки связан с манипуляцией токеном процесса. Получив доступ к структурам EPROCESS, злоумышленник может подменить или переназначить привилегии так, чтобы непривилегированный пользователь получил права, соответствующие SYSTEM.

На практике это позволяет запустить командную строку с системными правами и полностью контролировать дальнейшие действия в системе.

Как обходят защиту PPL и PPPRO

Отчёт также описывает стратегию завершения защищённых процессов, в том числе тех, которые классифицируются как PPL и PPPPRO. Поскольку в данном случае отсутствует IOCTL для прямого завершения процесса, эксплойт использует другой путь: он обнуляет отдельные поля в структуре EPROCESS, снимая защиту и открывая возможность для создания дескриптора процесса.

Однако на этом сложности не заканчиваются. Дополнительное препятствие создаёт драйвер фильтра WdFilter.sys, который ограничивает доступ к завершению процесса, скрывая флаг PROCESS_TERMINATE при создании дескриптора.

Чтобы обойти это ограничение, сначала открывается дескриптор процесса с правом PROCESS_QUERY_LIMITED_INFORMATION. Затем атакующий обращается к таблице дескрипторов процесса и вручную изменяет права доступа, добавляя необходимые разрешения для успешного завершения целевого процесса.

Вывод

Опубликованный разбор демонстрирует, что сочетание небезопасных IOCTL-операций, работы с физической памятью и недостаточной проверки прав доступа создаёт серьёзный риск для систем Windows. В руках злоумышленника такие возможности позволяют не только повышать привилегии до SYSTEM, но и обходить защиту PPL-процессов, включая механизмы, связанные с WdFilter.sys.

Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.

Ознакомиться подробнее с отчетом можно по ссылке.

Технологии киберугроз
Автор: Технологии киберугроз
Технологии киберугроз (бренд RST Cloud Russia) – технологическая компания, специализирующаяся на решениях по анализу угроз для предприятий любого размера. Мы собираем, нормализуем, обогащаем информацию о киберугрозах со всего мира. Нашими источниками являют более 260 открытых фидов, более 100 открытых поставщиков Threat Intelligence-отчетов, открытые online sandbox, социальные сети и репозитории GitHub. Мы также предоставляем ряд сервисов по: семантическом анализу Threat Intelligence-отчетов и приведения их в машиночитаемый формат STIX 2.1, проверки IoC на потенциальные ложноположительные сработки, а также получению WHOIS-записей для доменных имен.
Комментарии: