banner
Центр новостей
Мгновенная доставка

На хостинге TurkoRat обнаружены законно выглядящие пакеты npm

Oct 11, 2023

Люциан Константин

CSO Старший писатель, CSO |

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

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

Так было с пакетом под названием nodejs-encrypt-agent, который недавно привлек внимание исследователей из компании ReversingLabs, занимающейся безопасностью цепочек поставок программного обеспечения, поскольку он демонстрировал сочетание подозрительных характеристик и поведения. Во-первых, имя пакета в реестре npm отличалось от заявленного в его файле readme.md: Agent-base. Во-вторых, первая версия пакета, загруженная в реестр, была 6.0.2, что необычно, поскольку новые пакеты обычно начинаются с младшей версии, например 1.0, или даже ниже.

Когда исследователи искали агентскую базу, все это имело смысл. Это законный пакет, самая популярная версия которого в реестре — 6.0.2, которую скачали более 20 миллионов раз. Сравнение кода показало, что nodejs-encrypt-agent представляет собой просто копию базы кода агента с некоторыми изменениями. Фактически, мошеннический пакет даже содержал ссылку на страницу GitHub базы агентов, возможно, для того, чтобы выглядеть более легитимно.

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

Модификация, внесенная злоумышленниками в базовый код агента, заключалась в запуске переносимого исполняемого файла (PE), поставляемого с новыми пакетами, сразу после загрузки и установки пакета в системе. Автоматический анализ этого файла выявил способность записывать и удалять файлы из системных каталогов Windows, выполнять системные команды, изменять настройки системы доменных имен (DNS) — все это выглядело подозрительно.

Ручной анализ также показал, что вредоносное ПО было разработано для кражи учетных данных и криптокошельков из зараженных систем. Он также включал функции защиты от песочницы и отладки, усложняющие анализ. Исследователям не потребовалось много времени, чтобы понять, что это была копия TurkoRat, информационного вора с открытым исходным кодом, написанного на JavaScript и предназначенного для работы на платформе Node.js.

«Как выяснилось, эта конкретная версия вредоносного ПО TurkoRat использует пакет npm pkg для объединения всех необходимых файлов в один исполняемый пакет», — говорят исследователи. «Все файлы находятся внутри виртуальной файловой системы или моментального снимка, к которому упакованное приложение имеет доступ во время выполнения».

По данным проекта TurkoRat на Discord, вредоносное ПО способно красть токены аутентификации и сеанса для Discord и Telegram; пароли, файлы cookie, автозаполнение и история из всех основных браузеров; и большое количество криптокошельков. Он также способен делать скриншоты. Вся собранная информация может быть отправлена ​​обратно на URL-адрес веб-перехватчика, настроенный злоумышленником.