Малварь из npm прячется с помощью стеганографии и Unicode

BOOX

Стаж на ФС с 2012 года
Команда форума
Служба безопасности
Private Club
Регистрация
23/1/18
Сообщения
34.037
Репутация
13.260
Реакции
65.371
USD
0
В npm обнаружили вредоносный пакет, который прячет вредоносный код с помощью невидимых символов Unicode и использует ссылки Google Calendar для своих управляющих серверов.

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

code.jpg


После этого автор внес в пакет изменения, которые включали в себя бинарники для конкретных платформ и обфусцированные скрипты установки. В итоге 7 мая 2025 года была опубликована новая версия пакета, содержащая сложный код для связи с управляющим сервером, откуда доставляется итоговая полезная нагрузка.

Исследователи предупреждают, что последняя версия os-info-checker-es6, все еще доступная в npm на (1.0.8), и она является вредоносной.

Также отмечается, что вредоносный пакет является зависимостью для четырех других пакетов: skip-tot, vue-dev-serverr, vue-dummyy и vue-bit. Все они позиционируются как полезные утилиты для разработки и обеспечения доступности. Специалисты не смогли установить, связаны ли эти инструменты с тем же злоумышленником кампанией.

Исследователи рассказывают, что вредоносная версия os-info-checker-es6 встраивает данные в строку, которая выглядит как «|». Однако за этим символом следует длинная последовательность невидимых символов Unicode из диапазона Variation Selectors Supplement (U+E0100 - U+E01EF).

Обычно эти символы являются модификаторами, которые используются «для обеспечения специфических вариаций глифов в сложных письменностях». В данном случае их роль заключается в том, чтобы облегчить стеганографию, то есть сокрытие информации среди других данных.

Эксперты расшифровали и деобфусцировали строку, обнаружив в ней полезную нагрузку для сложного C&C-механизма, который использовал короткую ссылку Google Calendar для получения адреса конечной полезной нагрузки.



Так, после получения ссылки Google Calendar проверяется ряд перенаправлений, пока не будет получен ответ HTTP 200 OK. Затем из HTML-страницы события берется атрибут data-base-title, который содержит закодированный в base64 URL, указывающий на итоговую полезную нагрузку.

По словам исследователей, тело ответа содержит закодированную base64 полезную нагрузку для второго этапа атаки, а в заголовках HTTP, вероятно, передаются инициализационный вектор и секретный ключ. Все это может свидетельствовать о шифровании финального пейлоада.

Также было обнаружено, что полезная нагрузка выполняется с помощью eval(). Скрипт сохраняется во временный каталог, что предотвращает одновременный запуск нескольких экземпляров.

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

Специалисты уже уведомили о своих находках представителей npm, однако пока перечисленные вредоносные пакеты не были удалены с платформы.



 
  • Теги
    google calendar npm unicode малварь
  • Назад
    Сверху Снизу