T1564.010: Подмена аргументов процесса
Злоумышленники могут попытаться скрыть аргументы командной строки процесса, перезаписав его память. Аргументы командной строки процесса хранятся в специальной структуре данных — блоке операционного окружения процесса (PEB), который используется в Windows для хранения информации о процессе и его окружении. PEB также содержит аргументы командной строки процесса, которые используются при выполнении процесса. При создании процесса средства безопасности и датчики могут извлекать его аргументы из структуры PEB.
Злоумышленники могут манипулировать структурой PEB процесса, чтобы обойти защиту. Например, используя технику Внедрение в пустой процесс, злоумышленники могут создать процесс в приостановленном состоянии с безобидными аргументами, а после запуска процесса и инициализации PEB (и потенциальной регистрации сведений о процессе защитными средствами и датчиками) перезаписать PEB, чтобы изменить аргументы командной строки — например, посредством функций WriteProcessMemory()
нативного API, — а затем продолжить выполнение процесса уже с вредоносными аргументами.
Кроме того, злоумышленники могут запустить процесс с вредоносными аргументами командной строки, а затем заменить их на безобидные в памяти, чтобы обойти механизмы анализа процессов.
Этот метод может быть скомбинирован с другими приемами, например подменой родительского PID, с целью избежать анализа процессов или повлиять на его результаты.
Способы обнаружения
ID | DS0009 | Источник и компонент данных | Процесс: Создание процесса | Описание | Анализируйте поведение процессов, чтобы выявить аномальную активность и (или) действия, не соответствующие зарегистрированным в журнале аргументам командной строки. Отследить подмену аргументов процесса бывает непросто, поскольку злоумышленники могут оперативно изменить сохраненные аргументы, используемые для выполнения вредоносных задач. Эти изменения не всегда регистрируются средствами обнаружения новых процессов и могут остаться не замеченными инструментами анализа памяти процессов. По возможности отслеживайте технику Внедрение в пустой процесс, а именно события создания процесса (особенно в приостановленном состоянии) и обращения к таким процессам и (или) их модификации (особенно родительскими процессами) через вызовы API Windows. |
---|