T1059.002: AppleScript

Злоумышленники могут использовать для выполнения вредоносного кода AppleScript. AppleScript — это язык сценариев macOS, предназначенный для управления приложениями и элементами ОС через межпрограммные сообщения, известные как AppleEvents. Сообщения AppleEvents можно отправлять непосредственно или легко формировать посредством AppleScript. Эти события могут обнаруживать открытые окна, отправлять нажатия клавиш и взаимодействовать практически с любым открытым приложением как локально, так и удаленно.

Сценарии могут запускаться из командной строки с помощью команд osascript /path/to/script или osascript -e "script here". Помимо командной строки, сценарии могут быть выполнены и другими способами, включая правила почты, уведомления Calendar.app и рабочие процессы Automator. Сценарии AppleScript в открытом текстовом виде также могут выполняться как сценарии командной оболочки. Для этого нужно добавить #!/usr/bin/osascript в начало файла сценария.

Сценариям AppleScript не требуется вызов osascript для выполнения. Однако они могут выполняться из бинарных файлов Mach-O с использованием объектов NSAppleScript или OSAScript системного API macOS, способных выполнять код независимо от утилиты командной строки /usr/bin/osascript.

Злоумышленники могут использовать AppleScript для выполнения разных задач, таких как взаимодействие с открытым подключением по SSH, перемещение на удаленные системы и даже открытие поддельных диалоговых окон для пользователя. Эти события не могут запускать приложения удаленно (только локально), но могут взаимодействовать с приложениями, уже работающими удаленно. В macOS версий 10.10 (Yosemite) и выше AppleScript может выполнять вызовы нативного API, что в ином случае требовало бы компиляции и выполнения в формате бинарного файла Mach-O. Поскольку AppleScript является языком сценариев, он может использоваться для запуска более распространенных техник, таких как обратное соединение на базе Python.

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

Как детектировать

PT AF может обнаруживать команды для AppleScript при помощи пользовательских правил, если команды передаются в HTTP-запросах.

Требуется эксперт. Техника обнаруживается только в связке «Продукт PT + эксперт»

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

IDDS0017Источник и компонент данныхКоманда: Выполнение командОписание

Отслеживайте команды с аргументами, которые могут использоваться для выполнения вредоносного кода через AppleScript. Действия, выполняемые посредством сценариев, могут по-разному воздействовать на систему и генерировать события, отслеживаемые используемыми механизмами мониторинга. Сценарии могут использоваться для изучения сети и системы, сбора данных и выполнения других действий после компрометации. Отслеживая эти операции, можно обнаружить исходный сценарий.

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

Отслеживайте выполнение AppleScript с помощью команды osascript и использование API NSAppleScript и OSAScript, что может указывать на подозрительную активность в системе.

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

Отслеживайте запуск новых процессов, в которых может использоваться AppleScript для выполнения вредоносного кода. Действия, выполняемые посредством сценариев, могут по-разному воздействовать на систему и генерировать события, отслеживаемые используемыми механизмами мониторинга. Сценарии могут использоваться для изучения сети и системы, сбора данных и выполнения других действий после компрометации. Отслеживая эти операции, можно обнаружить исходный сценарий.

Аналитика 1. Нетипичное выполнение

source="Osquery:" EventCode="process_added” AND CommandLine LIKE “osascript

Аналитика 2. Недоверенные источники

source="Osquery:" EventCode="process_added" AND Path LIKE "/Users//Downloads/" OR Path LIKE "/tmp/*"

Аналитика 3. Взаимосвязь между родительскими и дочерними процессами

source="Osquery:" EventCode="process_added" AND ParentImage= "/System/Library/CoreServices/Finder.app/Contents/MacOS/Finder" AND Image LIKE "osascript"

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

IDM1045НазваниеПодпись исполняемого кодаОписание

Разрешите выполнение сценариев AppleScript, только если они подписаны доверенным идентификатором разработчика — это предотвратит выполнение случайного кода AppleScript. Код AppleScript будет подвергаться той же проверке, что и другие файлы .app, проходящие через Gatekeeper.

IDM1038НазваниеЗащита от выполненияОписание

По мере необходимости используйте контроль приложений.