T1059: Интерпретаторы командной строки и сценариев

Злоумышленники могут использовать интерпретаторы командной строки и сценариев для выполнения команд или запуска сценариев и исполняемых файлов. Эти интерфейсы и языки, реализованные на многих платформах, предоставляют возможности для взаимодействия с компьютерными системами. Большинство систем имеют определенные встроенные функции интерфейса командной строки и сценариев. Так, например, в разные версии macOS и Linux включаются различные варианты командной оболочки Unix, а в Windows — командная оболочка Windows и PowerShell.

Существуют также кросс-платформенные интерпретаторы, например Python, а также интерпретаторы, обычно ассоциируемые с клиентскими приложениями, такие как JavaScript и Visual Basic.

Злоумышленники могут использовать эти технологии различными способами для выполнения произвольных команд. Команды и сценарии могут быть встроены в полезные нагрузки первоначального доступа, доставляемые жертвам в документах-приманках, или во вспомогательные полезные нагрузки, загружаемые с командного сервера после установления связи с ним. Злоумышленники также могут выполнять команды через интерактивные терминалы/оболочки, а также использовать различные службы удаленного доступа для удаленного выполнения.

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

Экспертиза MaxPatrol SIEM

pt_application_firewall: PT-CR-1915: PTAF_Hacktool_Detected: Приложение PT AF обнаружило признаки использования вредоносной утилиты it_bastion: PT-CR-2171: SKDPUNT_Suspicious_Command: Пользователь выполнил потенциально опасную команду it_bastion: PT-CR-2184: SKDPUNT_Blacklisted_Command: Выполнена команда из черного списка it_bastion: PT-CR-2177: SKDPUNT_Potentially_Dangerous_Command: Использованы потенциально опасные команды mysql_database: PT-CR-613: MySQL_Structure_Discovery: Выполнение некоторых SQL-команд может свидетельствовать о разведке внутренней структуры базы данных MySQL, что может быть признаком активности злоумышленника mysql_database: PT-CR-617: MySQL_Code_Execution: Запуск процесса от имени учетной записи базы данных может свидетельствовать о попытке злоумышленника, получившего возможность выполнять запросы к базе данных, повысить привилегии mysql_database: PT-CR-2304: MySQL_File_System_Actions: Взаимодействие базы данных MySQL с файловой системой может свидетельствовать о разведке или попытках злоумышленника повысить привилегии в том случае, если это не штатная интеграция базы данных с внешними системами mitre_attck_execution: PT-CR-339: Script_Files_Execution: Пользователь попытался запустить скрипт unix_mitre_attck_execution: PT-CR-1678: Unix_File_Creation_By_Script: Создание файла с помощью Python- или Ruby-скрипта unix_mitre_attck_execution: PT-CR-296: Unix_Reverse_Shell: Обратное подключение (reverse shell), созданное при помощи сторонних утилит unix_mitre_attck_execution: PT-CR-1031: Unix_Inline_Reverse_Or_Bind_Shell: Прямое или обратное подключение (bind или reverse shell) обнаружено по специфичным шаблонам команды, запущенной на исполнение unix_mitre_attck_execution: PT-CR-1018: Unix_Hacktool_Usage: Использование инструментов из табличного списка Unix_Hacktools для анализа защищенности на узлах под управлением Unix sap_suspicious_user_activity: PT-CR-254: SAPASABAP_GW_Sapxpg_Call: Запуск SAPXPG mitre_attck_cred_access: PT-CR-2124: LSASS_Dump_Via_RPC: Обращение к памяти процесса LSASS. Получив доступ к памяти процесса LSASS после подключения соответствующей утилиты (например, Mimikatz) к RPC-серверу, злоумышленники могут сохранить эту память в отдельный файл для извлечения из него в дальнейшем паролей и NTLM-хешей

Подтехники

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

IDDS0012Источник и компонент данныхСценарий: Выполнение сценарияОписание

Отслеживайте попытки включить поддержку сценариев в системе и рассматривайте их как подозрительные. Если использование сценариев в системе допустимо, но не является типичным, их выполнение вне цикла обновлений или других административных задач должно рассматриваться как подозрительное. По возможности сохраняйте сценарии, записанные в файловой системе, для последующего анализа действий и целей злоумышленников.

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

Отслеживайте нестандартное использование Python или нетипичное поведение процесса python.exe — это может служить индикатором вредоносной активности. Чтобы избежать большого количества ложных срабатываний, важно знать стандартные модели использования. Если у обычных пользователей нет прав на выполнение сценариев, то любая попытка включить поддержку сценариев должна рассматриваться как подозрительная. Если использование сценариев в системе допустимо, но не является типичным, их выполнение вне цикла обновлений или других административных задач должно рассматриваться как подозрительное. По возможности сохраняйте сценарии, записанные в файловой системе, для последующего анализа действий и целей злоумышленников. Действия, выполняемые посредством сценариев, могут по-разному воздействовать на систему и генерировать события, отслеживаемые используемыми механизмами мониторинга. Отслеживайте запуск новых процессов, в которых могут использоваться команды и сценарии Python для выполнения вредоносного кода.

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

Отслеживайте нестандартное использование Python или нетипичное поведение процесса python.exe — это может служить индикатором вредоносной активности. Чтобы избежать большого количества ложных срабатываний, важно знать стандартные модели использования. Если у обычных пользователей нет прав на выполнение сценариев, то любая попытка включить поддержку сценариев должна рассматриваться как подозрительная. Если использование сценариев в системе допустимо, но не является типичным, их выполнение вне цикла обновлений или других административных задач должно рассматриваться как подозрительное. По возможности сохраняйте сценарии, записанные в файловой системе, для последующего анализа действий и целей злоумышленников. Действия, выполняемые посредством сценариев, могут по-разному воздействовать на систему и генерировать события, отслеживаемые используемыми механизмами мониторинга. Отслеживайте команды и сценарии Python, которые могут использоваться для выполнения вредоносного кода, и их аргументы.

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

По возможности отслеживайте события Windows с ИД 400: в поле EngineVersion указана версия запущенной оболочки PowerShell (что также позволяет обнаружить технику Атака "на понижение"), а в поле HostName указано, как выполняется PowerShell — локально или удаленно. Кроме того, события с ИД 400 могут указывать на время начала сеанса PowerShell, а с ИД 403 — на время его завершения.

IDDS0011Источник и компонент данныхМодуль: Загрузка модуляОписание

Отслеживайте загрузку модулей, связанных с языками сценариев (например, JScript.dll).

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

IDM1021НазваниеОграничения для веб-контентаОписание

Расширения, блокирующие сценарии, могут предотвратить выполнение JavaScript-сценариев и HTA-файлов, которые часто используются при эксплуатации уязвимостей. В случаях, когда вредоносный код содержится в рекламе, блокировщики рекламы могут предотвратить его выполнение.

IDM1026НазваниеУправление привилегированными учетными записямиОписание

Использование надлежащего управления идентификацией и доступом (IAM) с политиками управления доступом на основе ролей (RBAC) для ограничения действий администраторов и предоставления истории административных действий для обнаружения несанкционированного использования и злоупотреблений.

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

Используйте контроль приложений, чтобы блокировать использование PowerShell CmdLets или других ресурсов на хосте для доступа к ресурсам облачного API.

IDM1040НазваниеПредотвращение некорректного поведенияОписание

В Windows 10 включите правила Attack Surface Reduction (ASR), чтобы предотвратить выполнение сценариев JavaScript с потенциально вредоносным загруженным содержимым.

IDM1042НазваниеОтключение или удаление компонента или программыОписание

Можно удалить PowerShell из систем, когда он не нужен, но следует провести анализ, чтобы оценить влияние на среду, поскольку он может использоваться для многих законных целей и административных функций.

Отключите/ограничьте службу WinRM, чтобы предотвратить использование PowerShell для удаленного выполнения.

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

Установите политику выполнения PowerShell так, чтобы выполнялись только подписанные сценарии.

IDM1049НазваниеАнтивирус или ПО для защиты от вредоносных программОписание

Антивирус может использоваться для автоматического помещения подозрительных файлов в карантин.