Добавить в корзинуПозвонить
Найти в Дзене
The Codeby

Взломанные npm-пакеты распространяют вредоносное ПО

⏺️ Специалисты Sonatype Security Research обнаружили два скомпрометированных npm-пакета в экосистеме React Native, которые вместе набирают свыше 30 000 загрузок еженедельно и были изменены для доставки многоэтапного вредоносного ПО. 🧠 Исследователи StepSecure первыми зафиксировали этот случай, выявили вредоносные версии и сообщили создателю пакетов, который сразу же отказался от их поддержки. Анализ C2-инфраструктуры показал совпадение IP-адресов с теми, что ранее ассоциировались с кампанией Glassworm. 🕸 В рамках регулярного сканирования open source экосистем Sonatype наткнулась на вредоносные обновления этих двух React Native пакетов. Пакеты впоследствии удалили из npm, но из-за их широкой популярности в сообществе возникает беспокойство за безопасность dev-сред и CI/CD-пайплайнов. Процесс извлечения полезной нагрузки осуществляется следующим образом: 1️⃣ Скрипт создает файл с именем init.json в домашнем каталоге пользователя, чтобы предотвратить его повторное выполнение в течени

Взломанные npm-пакеты распространяют вредоносное ПО

⏺️ Специалисты Sonatype Security Research обнаружили два скомпрометированных npm-пакета в экосистеме React Native, которые вместе набирают свыше 30 000 загрузок еженедельно и были изменены для доставки многоэтапного вредоносного ПО.

🧠 Исследователи StepSecure первыми зафиксировали этот случай, выявили вредоносные версии и сообщили создателю пакетов, который сразу же отказался от их поддержки. Анализ C2-инфраструктуры показал совпадение IP-адресов с теми, что ранее ассоциировались с кампанией Glassworm.

🕸 В рамках регулярного сканирования open source экосистем Sonatype наткнулась на вредоносные обновления этих двух React Native пакетов. Пакеты впоследствии удалили из npm, но из-за их широкой популярности в сообществе возникает беспокойство за безопасность dev-сред и CI/CD-пайплайнов.

Процесс извлечения полезной нагрузки осуществляется следующим образом:

1️⃣ Скрипт создает файл с именем init.json в домашнем каталоге пользователя, чтобы предотвратить его повторное выполнение в течение примерно двух дней.

2️⃣ Скрипт опрашивает RPC-терминалы Solana каждые 10 секунд на предмет транзакций, связанных с конкретным адресом кошелька.

3️⃣ При обнаружении транзакции, содержащей поле типа "memo", скрипт рассматривает это поле как контейнер команд.

4️⃣ Числовой префикс удаляется, а оставшееся содержимое анализируется как конфигурационные данные в формате JSON.

5️⃣ JSON-файл содержит закодированный в base64 URL-адрес, указывающий на полезную нагрузку второго этапа.

6️⃣ Скрипт декодирует URL-адрес и загружает полезную нагрузку, отправляя при этом операционную систему хоста в составе запроса.

7️⃣ Заголовки ответа содержат дополнительные параметры, такие как ivbase64 и secretkey .

8️⃣ Полезная нагрузка декодируется в формате base64 и выполняется непосредственно в памяти с помощью eval или виртуальной машины Node.js в изолированной среде на системах, отличных от macOS.

➡️ Встречали подобную атаку ранее?

#npm #malware #react #research

🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджером