PT Sandbox

Песочница для экспертной защиты от сложного вредоносного ПО и угроз нулевого дня

T1055.004: Асинхронный вызов процедур

Злоумышленники могут внедрять вредоносный код в процессы через очередь асинхронных вызовов процедур (APC) с целью обхода защиты, действующей на уровне процессов, а также для повышения уровня своих привилегий. Внедрение через APC — это способ выполнения произвольного кода в адресном пространстве отдельного активного процесса.

Внедрение через APC обычно осуществляется посредством добавления вредоносного кода в очередь APC потока процесса. Стоящие в очереди функции APC выполняются, когда поток входит в изменяемое состояние. Сначала создается дескриптор существующего целевого процесса с использованием вызовов нативного API Windows, таких как OpenThread. Далее может использоваться QueueUserAPC для вызова функции (например, LoadLibrayA), указывающей на вредоносную DLL.

Вариация внедрения через APC, получившая название Early Bird ("Ранняя пташка"),", использует создание приостановленного процесса, в который может быть внедрен вредоносный код и затем запущен еще до того, как происходит вызов точки входа процесса (и срабатывание потенциальных перехватчиков вредоносного ПО) посредством APC . AtomBombing — еще одна вариация, использующая APC для вызова вредоносного кода, ранее записанного в глобальную таблицу атомов.

Запуск кода в контексте другого процесса может обеспечить доступ к памяти процесса, системным и сетевым ресурсам и, возможно, повышенным привилегиям. Выполнение посредством APC также дает возможность избежать обнаружения защитными решениями, поскольку маскируется под легитимный процесс.

Какие продукты Positive Technologies покрывают технику

Описание методов обнаружения техники пока недоступно

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

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

Monitor for changes made to processes that may inject malicious code into processes via the asynchronous procedure call (APC) queue in order to evade process-based defenses as well as possibly elevate privileges.

IDDS0009Источник и компонент данныхПроцесс: Обращение к процессуОписание

Monitor for processes being viewed that may inject malicious code into processes via the asynchronous procedure call (APC) queue in order to evade process-based defenses as well as possibly elevate privileges.

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

Monitoring Windows API calls indicative of the various types of code injection may generate a significant amount of data and may not be directly useful for defense unless collected under specific circumstances for known bad sequences of calls, since benign use of API functions may be common and difficult to distinguish from malicious behavior. Windows API calls such as SuspendThread/SetThreadContext/ResumeThread, QueueUserAPC/NtQueueApcThread, and those that can be used to modify memory within another process, such as VirtualAllocEx/WriteProcessMemory, may be used for this technique.

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

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.