Был обнаружен вредоносный пакет в реестре npm, который устанавливает сложный троян для удаленного доступа на зараженных компьютерах с Windows.
Пакет под названием ” oscompatible ” был опубликован 9 января 2024 года и скачан 380 раз до его удаления.
В “oscompatible” были найдены “несколько странных бинарных файлов”, сообщила компания Phylum. Это исполняемый файл, динамическая библиотека (DLL) и зашифрованный файл DAT, а также файл JavaScript.
Этот файл JavaScript (“index.js”) запускает пакетный скрипт “autorun.bat”, но только после проверки совместимости с операционной системой Microsoft Windows.
Если платформа не является Windows, скрипт выводит сообщение об ошибке, уведомляя пользователя, что скрипт запущен на Linux или неизвестной операционной системе, и предлагает запустить его на “Windows Server OS”.
Скрипт также проверяет, имеет ли он права администратора, и в случае отсутствия таковых запускает легитимный компонент Microsoft Edge “cookie_exporter.exe” через команду PowerShell.
Попытка запуска бинарного файла вызывает запрос контроля учетных записей пользователей (UAC), предлагающий выполнить его с правами администратора.
Далее злоумышленник реализует следующий этап атаки, запуская DLL (“msedge.dll”) с использованием техники подмены порядка поиска DLL.
Троянизированная версия библиотеки предназначена для расшифровки файла DAT (“msedge.dat”) и запуска другой DLL (“msedgedat.dll”), которая устанавливает связь с доменом, контролируемым злоумышленником, “kdark1[.]com”, для получения архива ZIP.
ZIP-файл содержит программное обеспечение для удаленного доступа AnyDesk, а также троян (“verify.dll”), способный получать инструкции с сервера управления и контроля через WebSockets и собирать конфиденциальную информацию с хоста.
Также троян “устанавливает расширения Chrome в Secure Preferences, настраивает AnyDesk, скрывает экран и блокирует выключение Windows, а также перехватывает события клавиатуры и мыши”, сообщила Phylum.
Хотя “oscompatible” кажется единственным модулем npm, использованным в рамках кампании, данный случай подчеркивает растущую тенденцию среди злоумышленников нацеливаться на экосистемы открытого программного обеспечения (OSS) для осуществления атак на цепочку поставок.
Компания Phylum отмечает: “С точки зрения бинарных файлов, процесс расшифровки данных, использование отозванного сертификата для подписи, загрузка других файлов из удаленных источников и попытки маскировки под стандартный процесс обновления Windows являются достаточно сложными по сравнению с тем, что мы обычно видим в экосистемах OSS”.
Это заявление последовало после того, как фирма Aqua сообщила, что 21,2% из 50 000 самых скачиваемых пакетов npm устарели, подвергая пользователей рискам безопасности. Устаревшие пакеты скачиваются, по оценкам, 2,1 миллиарда раз в неделю.
К этому относятся заархивированные и удаленные репозитории GitHub, связанные с пакетами, а также те, которые поддерживаются без видимого репозитория, истории коммитов и отслеживания проблем.
Илай Гольдман и Якир Кадкода, исследователи в области безопасности, сказали: “Ситуация становится критической, когда вместо устранения уязвимостей с помощью патчей или назначения CVE, разработчики решают устаревать затронутые пакеты”.
“Особенно тревожно то, что иногда эти разработчики не помечают пакет как устаревший в npm, оставляя пробел в безопасности для пользователей, которые могут оставаться неосведомленными о потенциальных угрозах.”