MaxPatrol SIEM

Выявляет инциденты ИБ, ведущие к нарушению киберустойчивости компании

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: Процесс создал поток в адресном пространстве процесса. Злоумышленники внедряют код в процессы, чтобы обойти основанную на процессах защиту или повысить привилегии

Способы обнаружения

IDDS0009Источник и компонент данныхПроцесс: Вызовы API ОСОписание

Monitor and analyze calls to CreateTransaction, CreateFileTransacted, RollbackTransaction, and other rarely used functions indicative of TxF activity. Process Doppelgänging also invokes an outdated and undocumented implementation of the Windows process loader via calls to NtCreateProcessEx and NtCreateThreadEx as well as API calls used to modify memory within another process, such as WriteProcessMemory.

IDDS0022Источник и компонент данныхФайл: Метаданные файлаОписание

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.

Меры противодействия

IDM1040НазваниеПредотвращение некорректного поведенияОписание

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.