P³: новая техника инъекции шеллкода через параметры процессов Windows
Введение: новая угроза для Windows
Process Parameter Poisoning (P³) — это передовая техника внедрения шеллкода, нацеленная на фундаментальные механизмы создания процессов в Windows. В отличие от традиционных методов, атакующие манипулируют легитимными параметрами запуска, которые по умолчанию находятся под пристальным наблюдением средств безопасности из-за их частого использования в кампаниях вредоносного ПО, внедрениях в пустой процесс и различных техниках постэксплуатации. Суть метода заключается в использовании структур памяти, присутствующих в каждом процессе, в качестве нестандартного контейнера для вредоносной полезной нагрузки.
Механика атаки: PEB как укрытие
Краеугольным камнем техники выступает Process Environment Block (PEB) целевого процесса, а именно его структура RTL_USER_PROCESS_PARAMETERS. P³ превращает данные, которые система передаёт создаваемому процессу, в поле боя. Инжектор внедряет закодированный шеллкод не в динамически выделяемую память, а непосредственно в три легитимных поля параметров запуска:
- Командная строка;
- Переменные окружения;
- Член lpReserved структуры STARTUPINFOW (в значительной степени недокументированная область).
Главное преимущество такого подхода — отсутствие необходимости в типичных вызовах API выделения памяти или записи во время начального этапа размещения полезной нагрузки. Данные попадают в адресное пространство процесса через стандартные, доверенные механизмы создания процесса, что позволяет обойти ряд поведенческих детекторов.
Жизненный цикл атаки: от запуска до исполнения
После того как целевой процесс создан с модифицированными параметрами, инжектор обращается к функции NtQueryInformationProcess. Она запрашивает PEB, позволяя атакующему вычислить адрес памяти, по которому размещены отравленные данные. Далее последовательность действий включает:
- Изменение настроек защиты памяти на соответствующих страницах для придания им исполняемых прав;
- Модификацию контекста выполнения начального потока, в результате чего указатель инструкций перенаправляется на встроенный в параметры шеллкод.
Скрытность и обход средств защиты
Техника P³ намеренно отходит от широко распространённой практики, ставшей индикатором вредоносной активности: создание целевого процесса в приостановленном состоянии. Вместо этого метод полагается на особый генератор шеллкода, исключающий появление нулевых байтов, и поэтапный декодер. Эта схема позволяет начальной полезной нагрузке:
- восстановить код второго этапа;
- выделить локальную память;
- скопировать декодированную полезную нагрузку;
- изменить настройки защиты памяти;
- и в конечном итоге передать управление финальной полезной нагрузке.
Вызов для защитных систем
Легитимные процессы могут обращаться к данным PEB и использовать API контекста потока, однако комбинация исполнения shellcode в памяти параметров процесса и манипуляция потоком управления формирует яркий сигнал потенциально вредоносного поведения. Эта двойственность подчёркивает сложность техники P³ в обходе традиционных механизмов обнаружения и указывает на эволюцию ландшафта киберугроз, нацеленных на системы Windows. Process Parameter Poisoning стирает грань между доверенными операциями и эксплуатацией, заставляя пересматривать модели детектирования.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



