Злоумышленники крадут учётные данные через вредоносные npm-пакеты
Ghost Loader распространяется в рамках многоэтапной кампании по краже учётных данных через вредоносные пакеты npm и пакеты-двойники с похожими именами (typosquats). Они нацелены на инструменты, связанные с React, утилиты для работы с криптовалютами, программное обеспечение для торговли с использованием ИИ и Carbon Copy Cloner. Скрипты postinstall запускают мастер настройки, который под предлогом корректировки системных ограничений или параметров ядра запрашивает пароль sudo.
Загрузчик проверяет пароль командой sudo -S -v -k, перехватывает его и передаёт на следующий этап через переменную окружения GHOST_PWD. Первый этап извлекает конфигурацию из контролируемых злоумышленниками «мёртвых точек» (dead drops) на публичных страницах каналов Telegram или, в более новой версии, на Teletype.in. Загрузчик получает оттуда замаскированный URL GitHub Gist и часть ключа расшифровки AES-256-GCM, а остальные данные ключа встроены в сам загрузчик. Он расшифровывает и выполняет полезную нагрузку на Node.js. Операторы могут менять её расположение и конфигурацию без обновления пакета npm.
Для затруднения анализа вредоносное ПО использует вращение и декодирование строковых массивов в стиле obfuscator.io, а также проверяет, работает ли оно в виртуальной машине или песочнице. Расшифрованная полезная нагрузка представляет собой универсальный стилер. Он использует перехваченный пароль для доступа к защищённым ресурсам и повышает привилегии, когда это возможно. Стилер собирает учётные данные браузеров, данные криптокошельков, ключи SSH, конфигурацию облачных провайдеров, токены инструментов разработчика, переменные окружения, содержимое буфера обмена, отпечатки системы и другие файлы, связанные со средами разработки. В macOS он закрепляется в системе через пользовательский LaunchAgent.
Текстовые данные, в том числе уведомления и сведения о состоянии активности, передаются через HTTPS-запросы к эндпоинту /sendMessage в Telegram. Для этого используются настройки бота и чата, характерные для конкретной кампании. Кампания также использует смарт-контракты Binance Smart Chain для хранения или обновления операционных данных, включая учётные данные Telegram, идентификаторы кампании и URL-адреса для перенаправления аффилированных лиц. Среди выявленных идентификаторов кампании названы Steve, darkslash и Pavel. Вторичный контракт поддерживает перенаправление URL-адресов наряду с кражей учётных данных.
Архитектура из загрузчика и полезной нагрузки, заменяемые настройки C2, несколько «мёртвых точек» и быстрая смена версий в npm соответствуют операционной модели MaaS.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



