Внедрение в процесс (process injection) — техника, при которой вредоносный код выполняется в адресном пространстве другого, обычно легитимного процесса, чтобы скрыть свою активность и унаследовать его привилегии.
Как работает внедрение в процесс
В Windows классическая последовательность проста: атакующий открывает дескриптор целевого процесса, выделяет в нём память (VirtualAllocEx), записывает туда код (WriteProcessMemory) и запускает его через CreateRemoteThread. В MITRE ATT&CK техника описана как T1055 и включает множество вариантов:
- Внедрение DLL (T1055.001) — процесс принуждают загрузить вредоносную библиотеку.
- Перехват выполнения потока (T1055.003) — существующий поток приостанавливают и перенаправляют на внедрённый код.
- APC-инъекция (T1055.004) — код ставится в очередь асинхронных вызовов и выполняется, когда поток переходит в состояние ожидания (alertable).
- Process hollowing (T1055.012) — легитимная программа запускается в приостановленном состоянии, её память заменяется вредоносным образом, после чего выполнение возобновляется.
Похожие приёмы существуют в Linux (например, через ptrace или LD_PRELOAD) и в macOS.
Почему это важно
Код, работающий внутри explorer.exe, svchost.exe или браузера, выглядит как обычная системная активность, пользуется сетевым доступом этого процесса и может ускользнуть от файлового сканирования, ведь полезная нагрузка часто вообще не попадает на диск. Поэтому внедрение в процесс — базовый элемент бесфайловых атак, банковских троянов, перехватывающих функции браузера, и фреймворков постэксплуатации вроде Cobalt Strike, чьи «биконы» регулярно мигрируют в другие процессы. Техника тесно связана с перехватом загрузки DLL, который тоже злоупотребляет тем, как Windows загружает код.
Как обнаружить и предотвратить
- Использовать EDR, отслеживающий запись в память чужих процессов, создание удалённых потоков и необычные исполняемые области памяти.
- Включить защитные механизмы: Protected Process Light для LSASS и правила Attack Surface Reduction.
- Ограничить административные права — для внедрения в привилегированные процессы они обычно необходимы.
- Расследовать случаи, когда системные процессы устанавливают неожиданные сетевые соединения.





