Исследователи безопасности из компании SafeBreach детализировали новый метод атаки, названный EPM Poisoning. Эта техника позволяет злоумышленнику без привилегий выдать себя за легитимную системную службу, используя уязвимость в протоколе удаленного вызова процедур Windows (RPC). Конечная цель цепочки эксплойтов — заставить защищенный процесс пройти аутентификацию на сервере атакующего, похитить его учетные данные и использовать их для полного захвата домена Active Directory.

В основе атаки лежит уязвимость спуфинга в Windows Storage, отслеживаемая как CVE-2025-49760. Несмотря на относительно низкий рейтинг по шкале CVSS (3.5), ее эксплуатация в правильной последовательности приводит к катастрофическим последствиям. Компания Microsoft устранила этот недостаток в рамках ежемесячного обновления Patch Tuesday в июле 2025 года. В официальном описании уязвимости говорится: «Внешний контроль имени или пути файла в хранилище Windows позволяет авторизованному злоумышленнику выполнять спуфинг по сети».
Фундаментальная проблема кроется в работе компонента Endpoint Mapper (EPM) протокола RPC. EPM функционирует как справочная служба, аналогичная системе DNS: если DNS преобразует доменное имя в IP-адрес, то EPM сопоставляет уникальный идентификатор интерфейса службы (UUID) с конкретной сетевой конечной точкой. Главный недостаток EPM заключается в отсутствии проверки подлинности процесса, который регистрирует тот или иной UUID. Это позволяет любому процессу, даже с низкими привилегиями, зарегистрировать известный UUID системной службы и перенаправить все запросы к ней на свой вредоносный сервер.
Атака наиболее эффективна против служб, которые не запускаются немедленно при старте системы. Злоумышленник использует состояние гонки, нацеливаясь на службы с типом запуска «Вручную» или «Отложенный запуск». Это создает временное окно, в течение которого легитимная служба еще не активна, а ее RPC-интерфейс не зарегистрирован, что позволяет атакующему занять ее место в EPM.
Для демонстрации была разработана цепочка эксплойта, нацеленная на службу хранилища (StorSvc.dll). Вредоносный процесс регистрирует ее UUID в EPM, указывая на собственный поддельный RPC-сервер. Затем атакующий инициирует обращение к этой службе со стороны службы оптимизации доставки (DoSvc.dll) — системного компонента, работающего в режиме Облегченного защищенного процесса (PPL), который был введен в Windows 8.1 для защиты критических процессов от вредоносного кода.
Из-за «отравления» EPM, запрос от защищенного процесса DoSvc.dll поступает на поддельный сервер злоумышленника. Атакующий немедленно вызывает метод
Получив NTLM-хеш, злоумышленник переходит к следующему этапу — атаке типа NTLM Relay, известной как ESC8. Похищенные учетные данные ретранслируются на веб-страницу регистрации служб сертификации Active Directory (AD CS). С помощью такого инструмента, как Certipy, атакующий от имени скомпрометированной службы запрашивает цифровой сертификат.
Имея на руках действительный сертификат, выданный центром сертификации домена, злоумышленник использует его для получения тикета Kerberos (Ticket-Granting Ticket, TGT). Этот тикет предоставляет права, достаточные для выполнения дампа всех секретов с контроллера домена, что равносильно полной компрометации всей сетевой инфраструктуры.
Автором исследования является Рон Бен Ицхак из компании SafeBreach, который представил свои выводы на конференции DEF CON 33. Для автоматизации поиска уязвимых RPC-интерфейсов команда SafeBreach также выпустила инструмент RPC-Racer.
Помимо захвата домена, техника EPM Poisoning может применяться и для других атак. Например, для организации атак «человек посередине» (Adversary-in-the-Middle), когда трафик перехватывается, анализируется и затем перенаправляется на легитимную службу, или для проведения атак типа «отказ в обслуживании» (DoS) путем регистрации множества системных UUID и последующего отклонения всех входящих запросов.
Для обнаружения подобных атак рекомендуется вести мониторинг системных вызовов к функции

Изображение носит иллюстративный характер
В основе атаки лежит уязвимость спуфинга в Windows Storage, отслеживаемая как CVE-2025-49760. Несмотря на относительно низкий рейтинг по шкале CVSS (3.5), ее эксплуатация в правильной последовательности приводит к катастрофическим последствиям. Компания Microsoft устранила этот недостаток в рамках ежемесячного обновления Patch Tuesday в июле 2025 года. В официальном описании уязвимости говорится: «Внешний контроль имени или пути файла в хранилище Windows позволяет авторизованному злоумышленнику выполнять спуфинг по сети».
Фундаментальная проблема кроется в работе компонента Endpoint Mapper (EPM) протокола RPC. EPM функционирует как справочная служба, аналогичная системе DNS: если DNS преобразует доменное имя в IP-адрес, то EPM сопоставляет уникальный идентификатор интерфейса службы (UUID) с конкретной сетевой конечной точкой. Главный недостаток EPM заключается в отсутствии проверки подлинности процесса, который регистрирует тот или иной UUID. Это позволяет любому процессу, даже с низкими привилегиями, зарегистрировать известный UUID системной службы и перенаправить все запросы к ней на свой вредоносный сервер.
Атака наиболее эффективна против служб, которые не запускаются немедленно при старте системы. Злоумышленник использует состояние гонки, нацеливаясь на службы с типом запуска «Вручную» или «Отложенный запуск». Это создает временное окно, в течение которого легитимная служба еще не активна, а ее RPC-интерфейс не зарегистрирован, что позволяет атакующему занять ее место в EPM.
Для демонстрации была разработана цепочка эксплойта, нацеленная на службу хранилища (StorSvc.dll). Вредоносный процесс регистрирует ее UUID в EPM, указывая на собственный поддельный RPC-сервер. Затем атакующий инициирует обращение к этой службе со стороны службы оптимизации доставки (DoSvc.dll) — системного компонента, работающего в режиме Облегченного защищенного процесса (PPL), который был введен в Windows 8.1 для защиты критических процессов от вредоносного кода.
Из-за «отравления» EPM, запрос от защищенного процесса DoSvc.dll поступает на поддельный сервер злоумышленника. Атакующий немедленно вызывает метод
GetStorageDeviceInfo()
, который заставляет службу оптимизации доставки подключиться к подконтрольному злоумышленнику SMB-ресурсу. Во время этого подключения служба аутентифицируется с использованием своей учетной записи компьютера, что приводит к утечке ее NTLM-хеша. Получив NTLM-хеш, злоумышленник переходит к следующему этапу — атаке типа NTLM Relay, известной как ESC8. Похищенные учетные данные ретранслируются на веб-страницу регистрации служб сертификации Active Directory (AD CS). С помощью такого инструмента, как Certipy, атакующий от имени скомпрометированной службы запрашивает цифровой сертификат.
Имея на руках действительный сертификат, выданный центром сертификации домена, злоумышленник использует его для получения тикета Kerberos (Ticket-Granting Ticket, TGT). Этот тикет предоставляет права, достаточные для выполнения дампа всех секретов с контроллера домена, что равносильно полной компрометации всей сетевой инфраструктуры.
Автором исследования является Рон Бен Ицхак из компании SafeBreach, который представил свои выводы на конференции DEF CON 33. Для автоматизации поиска уязвимых RPC-интерфейсов команда SafeBreach также выпустила инструмент RPC-Racer.
Помимо захвата домена, техника EPM Poisoning может применяться и для других атак. Например, для организации атак «человек посередине» (Adversary-in-the-Middle), когда трафик перехватывается, анализируется и затем перенаправляется на легитимную службу, или для проведения атак типа «отказ в обслуживании» (DoS) путем регистрации множества системных UUID и последующего отклонения всех входящих запросов.
Для обнаружения подобных атак рекомендуется вести мониторинг системных вызовов к функции
RpcEpRegister
и использовать технологию трассировки событий для Windows (ETW) для регистрации активности приложений. Исследователи отмечают, что для полного устранения угрозы требуется фундаментальное изменение в дизайне EPM: протокол должен криптографически проверять подлинность RPC-сервера при регистрации, по аналогии с механизмом SSL pinning, который используется для верификации подлинности серверов в веб-протоколах.