T1134.004: Подмена родительского PID
Злоумышленники могут подменить идентификатор родительского процесса (PPID) у нового процесса, чтобы обойти средства защиты с функцией мониторинга процессов или повысить привилегии. Новые процессы обычно порождаются непосредственно из родительского или вызывающего процесса, если способ не указан явно. Один из способов явно назначить PPID нового процесса — API-вызов CreateProcess
, в котором имеется параметр, определяющий используемый PPID. Эта возможность используется такими функциями Windows, как контроль учетных записей пользователей (UAC), для правильной установки PPID после того, как запрашиваемый процесс с повышенными привилегиями порождается в контексте SYSTEM (обычно с помощью svchost.exe
или consent.exe
), а не текущего пользователя.
Эти механизмы могут использоваться для обхода средств защиты — в частности, тех, что блокируют процессы, порождаемые непосредственно из документов Office, а также анализирующих необычные или потенциально вредоносные взаимосвязи между родительскими и дочерними процессами. Для этого злоумышленники могут, например, подменить идентификатор PPID процессов PowerShell/Rundll32 идентификатором процесса explorer.exe
, а не документа Office, доставленного путем целевого фишинга с вложением. Эта подмена может быть выполнена с помощью Visual Basic внутри вредоносного документа Office или любого кода, который может выполнять вызовы нативного API.
При явном назначении PPID также могут быть получены повышенные привилегии при наличии соответствующих прав доступа у родительского процесса. Например, злоумышленник в контексте привилегированного пользователя (администратора) может породить новый процесс и назначить ему родительским процесс, выполняющийся от имени SYSTEM (например, lsass.exe
), в результате чего новый процесс получит повышенные привилегии через унаследованный токен доступа.
Какие продукты Positive Technologies покрывают технику
Экспертиза MaxPatrol SIEM
mitre_attck_defense_evasion: PT-CR-941: MalSecLogon_PPID_Spoofing: Запуск процесса через службу "Вторичный вход в систему" с использованием техники PPID Spoofing mitre_attck_defense_evasion: PT-CR-2042: ParentPid_Spoofing: Использование техники "Подмена родительского PID", с помощью которой злоумышленники могут подменить идентификатор родительского процесса для исполняемого файла mitre_attck_defense_evasion: PT-CR-2043: Subrule_ParentPid_Spoofing: Один и тот же процесс с правами доступа 0x1fffff и 0x1f3fff обратился к памяти двух различных процессов
Способы обнаружения
ID | DS0009 | Источник и компонент данных | Процесс: Создание процесса | Описание | Отслеживайте создание процессов и выполнение командных строк, которые могут использоваться для обхода средств защиты, особенно тех, что блокируют процессы, запускаемые напрямую из документов Office, и анализируют необычные или потенциально вредоносные связи между родительскими и дочерними процессами, например подмену PPID процессов PowerShell и rundll32 идентификатором explorer.exe. |
---|
ID | DS0009 | Источник и компонент данных | Процесс: Вызовы API ОС | Описание | Отслеживайте вызовы API CreateProcess/CreateProcessA, особенно те, которые исходят от пользовательских или потенциально вредоносных процессов и имеют параметры с явным назначением PPID (например, флаги создания процесса 0x8XXX, указывающие на то, что процесс создается с расширенной информацией о запуске). Вредоносное использование CreateProcess/CreateProcessA может также сопровождаться вызовом UpdateProcThreadAttribute, который может потребоваться для обновления атрибутов создания процесса. Это может вызвать ложные срабатывания, связанные с обычным поведением UAC при повышении уровня привилегий, поэтому по возможности проводите сравнение с базовыми данными о нормальной работе системы. |
---|
ID | DS0009 | Источник и компонент данных | Процесс: Метаданные процесса | Описание | Отслеживайте несоответствия в полях, содержащих данные о PPID, таких как EventHeader ProcessId в данных трассировки событий Windows (ETW), Creator Process ID/Name в журналах событий Windows, а также ProcessID и ParentProcessID, предоставляемые ETW и другими утилитами, такими как диспетчер задач и Process Explorer. Поле EventHeader ProcessId, предоставленное ETW, указывает на фактический родительский процесс. |
---|