Вредоносный пакет в реестре Node Package Manager (NPM) выдаёт себя за легитимную библиотеку WhatsApp Web API, чтобы красть сообщения WhatsApp, собирать контакты и получать доступ к аккаунту.
Вредоносный пакет, являющийся ответвлением популярного проекта WhiskeySockets Baileys, предоставляет легитимную функциональность. Он доступен на npm под названием lotusbail по меньшей мере шесть месяцев и был скачан более 56 000 раз.
Исследователи из компании Koi Security, специализирующейся на безопасности цепочек поставок, обнаружили вредоносный пакет и выяснили, что он может похищать токены аутентификации и сеансовые ключи WhatsApp, перехватывать и записывать все сообщения — как отправленные, так и полученные, а также извлекать списки контактов, медиафайлы и документы.
«Пакет содержит легитимный клиент WebSocket, который взаимодействует с WhatsApp. Каждое сообщение, проходящее через ваше приложение, сначала обрабатывается оболочкой сокета вредоносного ПО», — объясняют исследователи.
«При аутентификации оболочка фиксирует ваши учётные данные. При поступлении сообщений она их перехватывает. При отправке сообщений она их записывает».
Перед извлечением данных захваченная информация шифруется с помощью специальной реализации RSA и нескольких уровней обфускации, таких как использование Unicode, сжатие LZString и шифрование AES.
Помимо кражи данных, вредоносная программа содержит код, который связывает устройство злоумышленника с аккаунтом жертвы в WhatsApp посредством сопряжения устройств.
Это даёт злоумышленнику постоянный доступ к аккаунту даже после удаления вредоносного пакета NPM. Доступ сохраняется до тех пор, пока жертва вручную не удалит связанные устройства из настроек WhatsApp.
Koi Security сообщает, что lotusbail использует набор из 27 ловушек с бесконечным циклом, чтобы усложнить отладку и анализ. Вероятно, именно поэтому ему так долго удавалось оставаться незамеченным.
Разработчикам, использовавшим этот пакет, рекомендуется удалить его из системы и проверить свою учётную запись WhatsApp на наличие мошеннических подключённых устройств.
Компания Koi Security подчеркивает, что недостаточно просто просмотреть исходный код в поисках вредоносных строк. Разработчики должны отслеживать поведение системы во время выполнения на предмет неожиданных исходящих подключений или активности во время аутентификации с использованием новых зависимостей, чтобы убедиться в их безопасности.


