Бесплатно Экспресс-аудит сайта:

16.04.2021

Вредонос в npm-пакете web-browserify не обнаруживается ни одним антивирусным ПО

В реестре npm был обнаружен вредоносный пакет, созданный для проведения атак на NodeJS-разработчиков, использующих операционные системы Linux и macOS.

Вредоносный пакет web-browserify маскируется под популярный npm-пакет Browserify, насчитывающий более 160 млн загрузок и использующийся в более чем 356 тыс. репозиториях на GitHub. Web-browserify разработан путем объединения сотен легитимных компонентов с открытым исходным кодом и выполняет разведку на зараженной системе. Более того, на сегодняшний день вредоносная программа ELF, содержащаяся в компоненте, не обнаруживается ни одним ведущим антивирусным ПО.

Компонент был выявлен автоматической системой обнаружения вредоносных программ Sonatype Release Integrity и признан вредоносным после анализа группой исследователей безопасности Sonatype.

Пакет состоит из файла манифеста package.json, скрипта postinstall.js и исполняемого файла ELF с именем run, присутствующего в сжатом архиве run.tar.xz в компоненте npm. Как только разработчик устанавливает web-browserify, скрипты извлекают и запускают двоичный файл Linux run из архива, запрашивает при этом повышенные права или права суперпользователя.

Извлеченный исполняемый двоичный файл имеет размер примерно 120 МБ и содержит сотни легитимных npm-компонентов с открытым исходным кодом. Например, одним из таких компонентов является кроссплатформенный модуль sudo-prompt, использующийся при запуске для запроса пользователю на предоставление повышенных прав вредоносного ПО в дистрибутивах macOS и Linux.

Поскольку повышение привилегий будет запрошено почти одновременно с установкой web-browserify, разработчик может ошибочно предположить, что это легитимные действия установщика. Как только ELF получает повышенные права доступа, вредонос получает персистенство на системе Linux и копирует себя в /etc/rot1, откуда он впоследствии запускается при каждой загрузке системы.

Вредоносная программа имеет расширенные возможности разведки и отслеживание цифрового отпечатка браузера. Она использует другой npm-компонент systeminformation для сбора следующих битов информации из зараженной системы: системный логин, информацию об операционной системе, информацию об образах Docker, сведения о подключенных по Bluetooth и виртуальных устройствах, данные о скорости процессора, модели и количестве ядер, ОЗУ, емкости жесткого диска, структуре диска, архитектуре системы, информацию об оборудовании, касающаяся сетевых карт / интерфейсов, аккумулятора, Wi-Fi, USB-устройств и т. Д.

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