T1055.013: Process Doppelgänging
Злоумышленники могут внедрить вредоносный код в процессы посредством техники, известной как Doppelgänging, с целью обхода защиты, действующей на уровне процессов, а также для повышения уровня своих привилегий. Doppelgänging — это способ выполнения произвольного кода в адресном пространстве отдельного активного процесса.
Транзакционная система NTFS (TxF) впервые появилась в Windows Vista как технология, позволяющая безопасно осуществлять операции с файлами . В целях обеспечения целостности данных TxF позволяет осуществлять запись в файл в любой момент времени только по одному дескриптору. Пока транзакция записи в текущий дескриптор не будет прервана, все остальные дескрипторы изолируются и могут только считывать версию файла, существовавшую на момент открытия записи в этот дескриптор . Во избежание повреждения данных TxF осуществляет автоматический откат, если система или приложение дает сбой во время транзакции записи .
Хотя API TxF упразднен, он все еще поддерживается в Windows 10 .
Злоумышленники могут использовать TxF для реализации бесфайловой версии внедрения кода в процессы. Как и в случае с внедрением в пустой процесс, Doppelgänging заменяет память легитимного процесса, обеспечивая завуалированное выполнение вредоносного кода, способное избежать обнаружения средствами защиты. Использование TxF для реализации техники Doppelgänging также позволяет избежать применения часто отслеживаемых функций API, таких как NtUnmapViewOfSection
, VirtualProtectEx
и SetThreadContext
.
Doppelgänging реализуется в 4 этапа:
- Транзакция — создание TxF-транзакции с легитимным исполняемым файлом и последующая его перезапись вредоносным кодом. Эти изменения являются изолированными и видны только в контексте транзакции.
- Загрузка — создание общей области в памяти и загрузка вредоносного исполняемого файла.
- Откат — отмена изменений в исходном исполняемом файле, в результате которой вредоносный код полностью удаляется из файловой системы.
- Запуск — создание процесса из зараженной области памяти и инициация выполнения.
Подобное поведение, скорее всего, не приведет к повышению привилегий, поскольку процесс, в который осуществлялось внедрение, был порожден внедряющим процессом (и, как следствие, наследует его контекст безопасности). Тем не менее выполнение посредством Doppelgänging дает возможность избежать обнаружения защитными решениями, поскольку маскируется под легитимный процесс.
Какие продукты Positive Technologies покрывают технику
Экспертиза MaxPatrol SIEM
mitre_attck_defense_evasion: PT-CR-2222: Proccess_Tampering: Процесс создал поток в адресном пространстве процесса. Злоумышленники внедряют код в процессы, чтобы обойти основанную на процессах защиту или повысить привилегии
Способы обнаружения
ID | DS0009 | Источник и компонент данных | Процесс: Вызовы API ОС | Описание | Monitor and analyze calls to |
---|
ID | DS0022 | Источник и компонент данных | Файл: Метаданные файла | Описание | Scan file objects reported during the PsSetCreateProcessNotifyRoutine, which triggers a callback whenever a process is created or deleted, specifically looking for file objects with enabled write access. Also consider comparing file objects loaded in memory to the corresponding file on disk. |
---|
Меры противодействия
ID | M1040 | Название | Предотвращение некорректного поведения | Описание | Some endpoint security solutions can be configured to block some types of process injection based on common sequences of behavior that occur during the injection process. |
---|