JavaScript, язык высокого уровня, используемый для создания интерактивных веб-страниц и приложений, следует спецификации ECMAScript для обеспечения кросс-браузерной совместимости. Однако широкое распространение и гибкость языка делают его инструментом злоумышленников для осуществления фишинга, распространения вредоносных программ и извлечения конфиденциальных данных, используя уязвимости веб-браузеров и приложений.
Интерпретаторы командной строки и сценариев: JavaScript
JScript, разработанный компанией Microsoft, представляет собой версию стандарта ECMAScript и функционирует на подобии JavaScript. Этот язык сценариев вплетен в различные элементы операционной системы Windows, включая объектную модель компонентов и страницы HTML-приложений (HTA) Internet Explorer. Механизм Windows Script обрабатывает JScript, который часто используется для улучшения веб-страниц с помощью динамических и интерактивных элементов.
JavaScript for Automation (JXA) - это язык сценариев для macOS, основанный на JavaScript и являющийся неотъемлемым компонентом открытой архитектуры сценариев Apple (OSA). Появившись в macOS 10.10, JXA стал одним из двух языков, одобренных OSA, наряду с AppleScript. JXA позволяет управлять приложениями, взаимодействовать с операционной системой и использовать внутренние API-интерфейсы macOS. Для выполнения скриптов JXA можно использовать утилиту командной строки osascript, компилировать их в приложения или файлы скриптов с помощью osacompile или запускать их выполнение в памяти с помощью других программ, чему способствует OSAKit Framework.
Использование JavaScript злоумышленниками
Злоумышленники используют JavaScript для различных вредоносных целей.
Загрузка, подгрузка и выполнение вредоносной полезной нагрузки
В октябре 2024 года исследователи безопасности проанализировали семейство вредоносных программ WarmCookie, также известное как BadSpace, которое появилось в апреле 2024 года. Это вредоносное ПО распространялось через кампании по рассылке спама и вредоносной рекламы, часто используя вредоносные программы загрузки JavaScript, размещенные на взломанных серверах.
В этой кампании JavaScript играет важную роль в цепочке заражения WarmCookie. Для выполнения следующего этапа атаки вредоносная программа использует вредоносные загрузчики JavaScript, размещенные на взломанных серверах. Эти файлы JavaScript обфусцированы, чтобы избежать обнаружения, и обычно доставляются через вредоносный спам или рекламные кампании.
После выполнения JavaScript деобфусцируется и запускает команду PowerShell, которая извлекает и исполняет полезную нагрузку WarmCookie DLL. Использование JavaScript в качестве загрузчика подчеркивает его полезность для инициирования заражения вредоносным ПО, поскольку он устраняет разрыв между этапами доставки и выполнения, что делает его эффективным инструментом для злоумышленников.
В фишинговой кампании Water Makara, обнаруженной в октябре 2024 года, JavaScript используется в качестве основного компонента цепочки атак для облегчения доставки вредоносных программ и уклонения от них. Злоумышленники внедряют сильно обфусцированные команды JavaScript в LNK-файлы и HTML-вложения, используя такие техники, как кодирование Base64 и переименование переменных, чтобы обойти средства защиты. После выполнения через легитимные утилиты, такие как mshta.exe, JavaScript декодирует и динамически реконструирует вредоносные URL или полезную нагрузку, позволяя загрузить и выполнить банковский троян Astaroth, похищающий информацию.
Кроме того, в кампании используется функция JavaScript GetObject для получения и выполнения объектов с контролируемых злоумышленниками C&C-серверов. Такое изощренное использование JavaScript позволяет злоумышленникам использовать легитимные инструменты и уклоняться от обнаружения, что делает кампанию очень эффективной в борьбе с бразильскими целями.