Собственный API
Злоумышленники могут взаимодействовать с собственным программным интерфейсом приложений (API) операционной системы для выполнения действий. Собственные API предоставляют контролируемое средство вызова низкоуровневых служб ОС в ядре, таких как те, которые связаны с аппаратным обеспечением/устройствами, памятью и процессами. Эти собственные API используются ОС во время загрузки системы (когда другие системные компоненты еще не инициализированы), а также при выполнении задач и запросов во время обычных операций.
Злоумышленники могут злоупотреблять этими функциями API ОС как средством выполнения действий. Подобно Интерпретатору команд и скриптов, собственный API и его иерархия интерфейсов предоставляют механизмы для взаимодействия и использования различных компонентов скомпрометированной системы.
Функции собственного API (такие как NtCreateProcess) могут быть вызваны напрямую через системные вызовы / syscalls, но эти функции также часто доступны пользовательским приложениям через интерфейсы и библиотеки. Например, такие функции, как Windows API CreateProcess() или GNU fork(), позволят программам и скриптам запускать другие процессы. Это может позволить вызывающим API выполнять двоичный файл, запускать команду CLI, загружать модули и т.д., поскольку для различных системных операций существуют тысячи подобных функций API.
Фреймворки программного обеспечения более высокого уровня, такие как Microsoft .NET и macOS Cocoa, также доступны для взаимодействия с собственными API. Эти фреймворки обычно предоставляют языковые обертки/абстракции для функциональности API и разработаны для удобства использования/переносимости кода.
Злоумышленники могут использовать ассемблер для прямого или косвенного вызова syscalls в попытке обойти датчики защиты и сигнатуры обнаружения, такие как перехватчики API пользовательского режима. Злоумышленники также могут пытаться вмешиваться в датчики и инструменты защиты, связанные с мониторингом API, такие как отключение мониторинга функций через Отключение или модификацию инструментов.