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 ОС | Описание | Отслеживайте и анализируйте вызовы |
---|
ID | DS0022 | Источник и компонент данных | Файл: Метаданные файла | Описание | Сканируйте объекты, отмеченные подпрограммой PsSetCreateProcessNotifyRoutine, которая выполняет обратный вызов при каждом создании или удалении процесса. Обращайте особое внимание на объекты с доступом на запись . Кроме того, по возможности сравнивайте объекты, загруженные в оперативную память, с соответствующими файлами на диске . |
---|
Меры противодействия
ID | M1040 | Название | Предотвращение некорректного поведения | Описание | В некоторых решениях для обеспечения безопасности конечных точек можно настроить блокирование определенных типов внедрения кода в процессы на основе детектирования распространенных последовательностей действий, характерных для процесса внедрения. |
---|