Исследовательская группа OpenSourceMalware (OSM) обнаружила новую волну целевых атак, направленных на разработчиков программного обеспечения. Угроза, получившая название "Fake Font" ("Фальшивый шрифт"), является частью давней кампании "Contagious Interview" ("Заразное интервью"), которую связывают с северокорейской хакерской группировкой Lazarus Group. Злоумышленники используют социальную инженерию и скрытые функции популярной среды разработки Microsoft Visual Studio Code (VS Code) для распространения сложного многоэтапного вредоносного ПО.
Описание
Цель и вектор атаки
Основная цель атак - хищение средств криптовалютных кошельков и учетных данных браузеров. Атака начинается с социальной инженерии на платформе LinkedIn. Под видом рекрутеров из компаний, связанных с криптовалютой или финтехом, злоумышленники выходят на разработчиков и предлагают пройти техническое собеседование. В качестве тестового задания жертве отправляется ссылка на репозиторий в GitHub.
Скрытый механизм в VS Code
Внешне репозиторий выглядит как легитимный проект веб-приложения, например, на React или Node.js. Однако внутри него скрыт критический компонент - файл ".vscode/tasks.json". Эта функция VS Code предназначена для автоматизации задач, таких как сборка проекта или запуск тестов. В атаке злоумышленники настраивают задачу с параметром ""runOn": "folderOpen"", что заставляет её автоматически выполняться при открытии папки проекта в редакторе.
Исполнение вредоносного кода
Команда в "tasks.json" запускает файл, замаскированный под веб-шрифт с расширением ".woff2" (например, "fa-brands-regular.woff2"). На самом деле этот файл содержит обфусцированный JavaScript-код первого этапа вредоносной программы, который исследователи назвали "BeaverTail". Когда разработчик открывает проект в VS Code и, как это часто бывает, доверяет рабочему пространству, скрипт выполняется автоматически и незаметно для пользователя.
Цепочка заражения
Первый этап, BeaverTail, создает скрытую директорию в системе пользователя, устанавливает необходимые npm-пакеты и выходит на сервер управления (C2, Command and Control). C2 замаскирован под сервис Alchemy, популярный поставщик API для Ethereum, используя домен-подделку "eth-mainnet-alchemy.com". Сервер в ответ отправляет полезную нагрузку (payload) второго этапа - сложный обфусцированный JavaScript-код, известный как загрузчик InvisibleFerret.
Этот загрузчик, в свою очередь, скачивает и запускает финальную вредоносную программу - Python-бэкдор InvisibleFerret. Этот инструмент обладает широким набором функций для кражи данных, включая:
- Извлечение приватных ключей из более чем 13 расширений для криптокошельков (MetaMask, Phantom, Trust Wallet и других).
- Кражу паролей, cookie-файлов и данных кредитных карт из браузеров.
- Ведение кейлоггинга (записи нажатий клавиш).
- Подмену криптовалютных адресов в буфере обмена.
- Установку механизмов постоянства (persistence) для выживания в системе после перезагрузки на Windows, macOS и Linux.
Масштаб и особенности кампании
По данным OpenSourceMalware, на данный момент идентифицировано 17 вредоносных репозиториев, участвующих в кампании "Fake Font". Анализ показал, что атака не является однородной. Обнаружено 11 различных вариантов цепочки заражения, а размеры вредоносных полезных нагрузок варьируются от 1.5 до 147 килобайт. Это указывает на то, что Lazarus Group, вероятно, использует несколько параллельных инфраструктур или активно итеративно развивает свою тактику.
Рекомендации по безопасности
Данная кампания демонстрирует растущую изощренность атак на цепочку поставок программного обеспечения (software supply chain). Специалистам по информационной безопасности и разработчикам следует проявлять повышенную бдительность:
- Тщательно проверять предложения о работе и личность "рекрутеров" в социальных сетях.
- Осторожно подходить к запуску неизвестного кода, особенно полученного в рамках собеседования.
- Внимательно проверять файлы конфигурации в проектах, такие как ".vscode/tasks.json", перед тем как доверять рабочему пространству в VS Code.
- Использовать средства защиты конечных точек (EDR) и системы обнаружения вторжений (IDS), способные анализировать поведение скриптов и сетевую активность.
Угроза "Contagious Interview" остается активной и постоянно эволюционирует, что требует от сообщества разработчиков и специалистов по кибербезопасности непрерывного обмена информацией и повышения осведомленности о подобных тактиках.
Индикаторы компрометации
URLs
- http://eth-mainnet-alchemy.com/api/service/token/f71d1d9b2de7d4ebf5f706a4b9cd4eb4