Вредоносные пакеты NPM являются частью «заграждения» вредоносных программ, поражающих репозитории.

    0
    48


    Вредоносные пакеты NPM являются частью «заграждения» вредоносных программ, поражающих репозитории.

    Исследователи обнаружили еще 17 вредоносных пакетов в репозитории с открытым исходным кодом, поскольку использование таких репозиториев для распространения вредоносных программ продолжает процветать.

    На этот раз вредоносный код был обнаружен в NPM, где 11 миллионов разработчиков обменивают друг с другом более 1 миллиона пакетов. Многие из 17 вредоносных пакетов, по-видимому, были распространены различными злоумышленниками, которые использовали различные методы и усилия, чтобы обманом заставить разработчиков загрузить вредоносные программы вместо предполагаемых безобидных.

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

    Спелый вектор атаки

    «Мы являемся свидетелями недавнего шквала вредоносного программного обеспечения, которое размещается и доставляется через репозитории программного обеспечения с открытым исходным кодом», – написали в среду исследователи JFrog Андрей Полковниченко и Шахар Менаше. «Публичные репозитории стали удобным инструментом для распространения вредоносного ПО: сервер репозитория является доверенным ресурсом, и взаимодействие с ним не вызывает подозрений со стороны какого-либо антивируса или брандмауэра. Кроме того, простота установки с помощью инструментов автоматизации, таких как клиент npm, обеспечивает готовый вектор атаки ».

    Большинство пакетов, помеченных JFrog, украли учетные данные или другую информацию для серверов Discord. Discord стал популярной платформой для общения людей с помощью текста, голоса и видео. Скомпрометированные серверы могут использоваться как каналы управления и контроля для ботнетов или как прокси при загрузке данных со взломанного сервера. Некоторые пакеты украли данные кредитных карт, связанных со взломанными учетными записями Discord.

    Два пакета – discord-lofy и discord-selfbot-v14 – были созданы автором по имени davisousa. Они маскируются под модификации популярной легитимной библиотеки discord.js, которая обеспечивает взаимодействие с Discord API. Вредоносная программа использует в качестве основы исходную библиотеку discord.js, а затем внедряет обфусцированный вредоносный код в один из файлов пакета.

    Исследователи JFrog написали:

    Обфусцированная версия кода огромна: более 4000 строк нечитаемого кода, содержащего все возможные методы обфускации: искаженные имена переменных, зашифрованные строки, сглаживание кода и отраженные вызовы функций:

    Благодаря ручному анализу и написанию сценариев мы смогли деобфускировать пакет и показать, что его окончательная полезная нагрузка довольно проста – полезная нагрузка просто перебирает папки локального хранилища известных браузеров (и папки, специфичные для Discord), а затем ищет в них строки. выглядит как токен Discord с использованием регулярного выражения. Любой найденный токен отправляется обратно через HTTP POST на жестко заданный сервер https://aba45cf.glitch.me/polarlindo.

    Другой пакет, названный fix-error, утверждал, что исправляет ошибки в Discord «selfbot». Он также содержал вредоносный код, который был замаскирован, но в этом случае исследователям было намного проще деобфускировать. Вскоре исследователи определили, что скрытый код был украденной версией PirateStealer, приложения, которое крадет информацию о кредитных картах, учетные данные для входа и другие личные данные, хранящиеся в клиенте Discord. Он работает путем внедрения вредоносного кода Javascript в клиент Discord. Затем код «шпионит» за пользователем и отправляет украденную информацию на жестко запрограммированный адрес.

    Третий пример – prerequests-xcode, пакет, содержащий троянские функции удаленного доступа. Исследователи написали:

    При проверке кода пакета мы обнаружили, что он содержит порт Node.JS для
    DiscordRAT (изначально написанный на Python), который дает злоумышленнику полный контроль над машиной жертвы. Вредоносная программа маскируется с помощью популярного онлайн-инструмента obfuscator.io, но в этом случае достаточно просмотреть список доступных команд, чтобы понять функциональность RAT (скопировано дословно).

    Полный список пакетов:

    Упаковка Версия Полезная нагрузка Способ заражения
    prerequests-xcode 1.0.4 Троян удаленного доступа (КРЫСА) Неизвестный
    раздор-selfbot-v14 12.0.3 Захват токенов в Discord Typosquatting / Троян (discord.js)
    раздор-высокомерный 11.5.1 Захват токенов в Discord Typosquatting / Троян (discord.js)
    дискордная система 11.5.1 Захват токенов в Discord Typosquatting / Троян (discord.js)
    раздор-вилла 1.0.0 Захват токенов в Discord Typosquatting / Троян (discord.js)
    исправить ошибку 1.0.0 Пиратский похититель (Вредоносное ПО Discord) Троян
    вафельный переплет 1.1.2 Stealer переменных окружения Типосквоттинг (вафельный- *)
    вафля-автозаполнение 1.25.0 Stealer переменных окружения Типосквоттинг (вафельный- *)
    вафельный маяк 1.3.3 Stealer переменных окружения Типосквоттинг (вафельный- *)
    вафля 1.14.20 Stealer переменных окружения Типосквоттинг (вафельный- *)
    вафельный переключатель 1.15.4 Stealer переменных окружения Типосквоттинг (вафельный- *)
    вафля-геолокация 1.2.10 Stealer переменных окружения Типосквоттинг (вафельный- *)
    вафля-изображение 1.2.2 Stealer переменных окружения Типосквоттинг (вафельный- *)
    вафельная форма 1.30.1 Stealer переменных окружения Типосквоттинг (вафельный- *)
    вафля-лайтбокс 1.5.4 Stealer переменных окружения Типосквоттинг (вафельный- *)
    восьмой публичный 1,836,609 Stealer переменных окружения Типосквоттинг (октавиус)
    mrg-message-брокер 9998.987.376 Stealer переменных окружения Путаница в зависимости

    Как отмечалось ранее, NPM – не единственный репозиторий с открытым исходным кодом, в который могут проникнуть вредоносные пакеты. Репозиторий PyPi для Python, равно как и RubyGems, столкнулся с долей пакетов, загруженных вредоносным ПО.

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

    Предыдущая статьяStreet Fighter 5 Champion Edition: список движений Люка и руководство по стратегии
    Следующая статья5 самых забываемых чит-кодов для GTA San Andreas
    Петр Григорин
    Интересуется софтом, разработкой и использование новых приложений, технология искусственного интеллекта. Этот писатель - человек с техническими знаниями, который увлечен разработкой программного обеспечения и использованием новых приложений. Его особенно интересуют технологии искусственного интеллекта и то, как они могут быть использованы для улучшения различных отраслей промышленности и повседневной жизни. Обладая прочной основой в области информатики и острым взглядом на инновации, этот писатель обязательно привнесет ценные идеи и соображения в любую дискуссию на эти темы. Пишет ли он о последних открытиях в области ИИ или исследует потенциал новых программных инструментов, его работа обязательно будет увлекательной и заставляющей задуматься.