Инъекции в процессы - это мощная и широко используемая техника, позволяющая злоумышленникам выполнять вредоносный код в адресном пространстве легитимного процесса. Внедряя код в доверенные процессы, злоумышленники могут избегать обнаружения, повышать привилегии и сохранять устойчивость взломанной системы. С помощью инъекций в процессы вредоносная полезная нагрузка может быть запущена под видом легитимных приложений, что значительно усложняет обнаружение подозрительной активности средствами безопасности.
Использование инъекции процессов злоумышленниками
Злоумышленники используют Process Injection для различных целей, включая уклонение от обнаружения, сохранение присутствия в системе и доступ к ресурсам процесса, таким как память и сеть.
Типичной практикой безопасности является составление списка всех процессов, запущенных в системе, и выявление вредоносных процессов среди легитимных, которые являются частью операционной системы или установленного программного обеспечения с узнаваемыми именами и путями к файлам. Механизмы безопасности сканируют процессы, которые демонстрируют необычные характеристики, такие как нестандартные пути к файлам или аномальное поведение, что может указывать на потенциальную угрозу. Такие процессы быстро помечаются как подозрительные и могут быть уничтожены для защиты системы.
Однако когда злоумышленники внедряют свой вредоносный код в существующий процесс, которому можно доверять, они создают проблему для обнаружения. Эта скрытная тактика, известная как Process Injection, позволяет вредоносному коду незаметно выполняться в пространстве памяти другого процесса, что значительно затрудняет обнаружение и нейтрализацию угрозы средствами защиты.
Инъекция процессов дает злоумышленникам два существенных преимущества:
Повышение привилегий
Если целевой процесс обладает повышенными привилегиями, внедренный код также будет иметь доступ к этим привилегиям, что позволит злоумышленнику получить больший контроль над системой и потенциально повысить свои привилегии еще больше. Например, если целевой процесс имеет доступ к сетевым ресурсам, то вредоносный код, инкапсулированный в этот процесс, может позволить злоумышленнику общаться через Интернет или с другими компьютерами в той же сети. Эта привилегия может позволить злоумышленнику осуществлять различные вредоносные действия, такие как загрузка полезной нагрузки или инструментов следующего этапа, утечка конфиденциальных данных, распространение вредоносного ПО на другие системы или запуск атак на сеть.
Уклонение от защиты
Злоумышленники обходят средства контроля безопасности, предназначенные для обнаружения и блокирования известных угроз, выполняя свой вредоносный код под привилегиями легитимного процесса. Поскольку вредоносный код скрыт в легитимном процессе, который обычно внесен в список разрешенных, целевой процесс выступает в качестве маскировки для вредоносного кода, позволяя ему ускользнуть от обнаружения и работать незамеченным. Поскольку код обычно выполняется непосредственно в памяти легитимного процесса, средствам дисковой экспертизы сложно обнаружить его, поскольку он не записывается на диск.
Легитимные процессы, используемые для инъекции процессов
Средства контроля безопасности могут быстро обнаружить пользовательские процессы с незнакомыми именами. Поэтому злоумышленники используют обычные встроенные процессы Windows, такие как:
- AppLaunch.exe - Программа запуска приложений
- arp.exe - Утилита протокола разрешения адресов
- cmd.exe - Командная строка
- conhost.exe - Консольный оконный хост
- csrss.exe - Подсистема выполнения клиента/сервера
- ctfmon.exe - CTF Loader
- cvtres.exe - Утилита преобразования файлов ресурсов Microsoft в COFF-объекты
- dllhost.exe - Суррогат COM
- dwm.exe - Диспетчер окон рабочего стола
- explorer.exe - Проводник Windows
- lsass.exe - Служба подсистемы локальных органов безопасности
- msbuild.exe - Microsoft Build Engine
- PowerShell.exe - Windows PowerShell
- regsvr32.exe - Сервер регистрации
- RegAsm.exe - Инструмент регистрации сборок
- rundll32.exe - Запуск DLL в качестве приложения
- services.exe - Менеджер управления службами
- smss.exe - Подсистема менеджера сессий
- spoolsv.exe - Служба спулера печати
- svchost.exe - Хост службы
- taskhost.exe - Хост-процесс для задач Windows
- vbc.exe - Компилятор командной строки Visual Basic
- wininit.exe - Приложение для запуска Windows
- winlogon.exe - Процесс входа в систему Windows
- wmiprvse.exe - Хост провайдера WMI
- wscntfy.exe - Приложение уведомлений Центра безопасности Windows
- wuauclt.exe - Клиент автообновления Windows Update
Атакующие также используют процессы широко распространенных программ, таких как браузеры, антивирусы, офисные инструменты и утилиты.
- acrobat.exe - Adobe Acrobat
- avg.exe - AVG AntiVirus
- chrome.exe - Google Chrome
- dropbox.exe - Dropbox
- excel.exe - Microsoft Excel
- firefox.exe - Mozilla Firefox
- ieuser.exe - Internet Explorer User
- iexplore.exe - Internet Explorer
- jucheck.exe - Java Update Checker
- mcafee.exe - McAfee Antivirus
- notepad.exe - Notepad
- opera.exe - Opera Browser
- outlook.exe - Microsoft Outlook
- photoshop.exe - Adobe Photoshop
- vmwaretray.exe - VMware Tray
- winword.exe - Microsoft Word
- wordpad.exe - Wordpad
Методы выбора целевого процесса
Злоумышленники используют следующие методы при выборе целевого процесса для внедрения вредоносного кода:
Жестко закодированный таргетинг
В первом случае злоумышленник может жестко закодировать определенный целевой процесс во вредоносном коде, и только этот процесс будет использоваться для размещения внедренного кода. explorer.exe и rundll32.exe - два наиболее часто используемых процесса для этого типа атак. Например, известно, что вредоносная программа RedLine Stealer нацелена на компилятор Visual Basic, используемый с .NET Framework. Вредоносная программа внедряет свою полезную нагрузку в vbc.exe, чтобы избежать обнаружения.
Атакующие также могут определить в коде список целевых процессов, и внедренный код будет выполнен в первом процессе из списка, который будет обнаружен запущенным в системе. В эти списки обычно входят собственные процессы Windows и браузеры.
Динамическое нацеливание
В этом сценарии атаки злоумышленник не определяет целевой процесс заранее, а находит подходящий хост-процесс во время выполнения. Обычно злоумышленники используют функции Windows API для перечисления списка всех активных в данный момент процессов и получения информации о каждом целевом процессе в рамках атакующих кампаний. Конкретные используемые API-функции зависят от целей атаки и возможностей злоумышленника, но некоторые распространенные примеры включают EnumProcesses(), EnumProcessModules(), CreateToolhelp32Snapshot() и OpenProcess().
Подтехники инъекции в процессы T1055
Process Injection - это не одна техника, а набор подтехник, которые злоумышленники используют для выполнения вредоносного кода в легитимных процессах. В версии 16.1 MITRE ATT&CK Matrix for Enterprise под T1055 Process Injection выделено 12 подтехник, каждая из которых обладает уникальными характеристиками и сценариями атак. Эти подтехники различаются по сложности и эффективности, но все они служат одной цели - скрытному выполнению и обходу средств защиты.
- T1055.001 Инъекции в библиотеки динамических связей
- T1055.002 Инъекция в переносимые исполняемые файлы
- T1055.003 Перехват выполнения потоков
- T1055.004 Асинхронный вызов процедур
- T1055.005 Локальное хранилище потоков
- T1055.008 Отслеживание системных вызовов
- T1055.009 Память проца
- T1055.011 Инъекция в память дополнительного окна
- T1055.012 Захламление процесса
- T1055.013 Доппеллинг процессов
- T1055.014 Перехват VDSO
- T1055.015 ListPlanting