JavaScript-библиотека, содержащая опасный бэкдор, нашлась в популярном репозитории NPM (Node Package Manager). Пакет getcookies был снабжен закладкой, которая позволяла злоумышленникам удаленно внедрять и выполнять на скомпрометированном сервере произвольный код.

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

Как следует из названия, модуль getcookies предназначался для работы с файлами куки в браузере. Пакет выложил на NPM пользователь с ником dustin87, чей GitHub-профиль, связанный с этой публикацией, появился лишь в марте. Библиотека содержала сложную систему приема команд от удаленного пользователя, которая позволяла осуществить направленную атаку на обратившееся к ней приложение.

Проблема осложняется тем, что вредоносный модуль успели включить в состав своих библиотек другие пользователи NPM. К getcookies обращался пакет express-cookies, который в свою очередь входил в состав http-fetch-cookies. Хуже всего, что последний используется в популярном скрипте mailparser, предназначенном для сбора данных из электронных писем.

Несмотря на то что mailparser является устаревшей версией библиотеки Nodemailer, JavaScript-разработчики все еще активно используют его в своих проектах. По сообщению представителей репозитория, скомпрометированный пакет был скачан около 64 тысяч раз.

По результатам оперативного расследования администрация ресурса удалила из хранилища getcookies, express-cookies и http-fetch-cookies, а также три версии mailparser. Разработчики последнего уже выложили пропатченный релиз, не содержащий вредоносную библиотеку.

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

Киберпреступники не в первый раз пытаются раздавать вредоносные скрипты через популярные онлайн-хранилища. Летом прошлого года один из пользователей NPM загрузил несколько десятков пакетов с названиями, похожими на известные JavaScript-библиотеки. Подложные модули могли быть использованы для кражи персональных данных.

С аналогичной проблемой столкнулись пользователи Python Package Index — официального репозитория библиотек на языке Python. Фальшивые модули, замаскированные под популярные пакеты, были доступны для загрузки с июня по сентябрь 2017 года.

Категории: Вредоносные программы, Главное