T1059.007: JavaScript

Злоумышленники могут использовать для выполнения вредоносного кода JavaScript. JavaScript (JS) — независимый от платформы язык сценариев (компилируемый в процессе выполнения), обычно ассоциируемый со сценариями на веб-страницах, хотя JS может выполняться и в средах вне браузера.

JScript — реализация компанией Microsoft того же стандарта, на основе которого построен JavaScript. JScript интерпретируется движком Windows Script и интегрирован во многие компоненты Windows, такие как COM-модель и страницы HTML-приложений Internet Explorer (HTA).

JavaScript for Automation (JXA) — основной сценарный язык в macOS, базирующийся на JavaScript и являющийся частью открытой сценарной архитектуры Apple (OSA), представленной в OS X 10.10. Apple OSA предоставляет возможности управления приложениями, взаимодействия на уровне интерфейса с операционной системой и доступа к прочим внутренним API Apple с помощью сценариев. После выхода OS X 10.10 архитектура OSA поддерживает только два языка — JXA и AppleScript. Сценарии могут выполняться посредством утилиты командной строки osascript, они могут быть скомпилированы в приложения или файлы сценариев при помощи osacompile либо скомпилированы и выполнены в памяти других программ с использованием фреймворка OSAKit.

Злоумышленники могут использовать различные варианты реализации JavaScript для достижения своих целей. Среди наиболее распространенных вариантов использования следует отметить размещение вредоносных сценариев на веб-сайтах в рамках осуществления теневой (drive-by) компрометации или загрузку и выполнение этих файлов сценариев как вспомогательных полезных нагрузок. Поскольку эти полезные нагрузки являются текстовыми, злоумышленники очень часто маскируют их содержимое, используя обфускацию файлов или данных.

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

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

mitre_attck_execution: PT-CR-1089: DotNetToJScript_Usage: Обнаружено возможное использование утилиты DotNetToJscript mitre_attck_execution: PT-CR-339: Script_Files_Execution: Пользователь попытался запустить скрипт hacking_tools: PT-CR-361: Koadic_Rundll32_Stager: Обнаружено возможное использование программного обеспечения Koadic через "Rundll32"

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

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

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

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

Отслеживайте события, связанные с выполнением сценариев, в частности активность процессов, использование сервера сценариев Windows (как правило, cscript.exe или wscript.exe) и файловые операции с участием сценариев.

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

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

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

Действия, выполняемые посредством сценариев, могут по-разному воздействовать на систему и генерировать события, отслеживаемые используемыми механизмами мониторинга. Отслеживайте процессы и аргументы командной строки и их последующее поведение. Программные средства могут использоваться для изучения сети и системы, сбора данных и выполнения других действий после компрометации. Отслеживая эти операции, можно определить источник угрозы. Отслеживайте выполнение JXA с помощью команды osascript и использование API OSAScript, что может указывать на подозрительную активность в системе.

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

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

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

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

Отключите использование сценариев, если оно не требуется.

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

Отключите или ограничьте доступ к ненужным компонентам сценариев.

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

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