Самораспространяващ се червей е поразил 187 пакета в NPM.

Атаката срещу пакетите в NPM репозитория достигна ново ниво. В допълнение към използването на злонамерен софтуер за прихващане на плащания и лична информация, атакуващите започнаха да внедряват червеи в компрометирани пакети, за да автоматизират подмяната на злонамерен софтуер в зависимости. Применението на червея е регистрирано след компрометирането на NPM пакета @ctrl/tinycolor, който има 2.2 милиона седмични изтегляния и е използван като пряка зависимост в 964 пакета. В резултат на активността на червея атаката обхвана 187 пакета, за които бяха създадени злонамерени версии (477 злонамерени релиза).

В хода на нова атака след получаване на параметрите на акаунта на придружаващия чрез фишинг, атакуващите публикуват релиз на пакет с червей, който се активира при инсталирането на компрометирания пакет сред зависимостите. След активирането червейът търси данни за идентификация в текущата среда, изтегляйки и стартирайки утилитата TruffleHog. При откритие на токен за свързване с NPM директорията червейът автоматично публикува нов злонамерен релиз и последователно вреди на дървото на зависимостите. Освен токена за достъп до NPM, червейът запазва ключове за достъп до GitHub и облачни услуги AWS, Azure и GCP (Google Cloud Platform), както и други конфиденциални данни, които може да открие скенерът TruffleHog.

Злонамерените релизи се създават за 20 от най-популярните пакети, до които има достъп намереният NPM токен. Функционалността за публикуване на релиз е реализирана под формата на функцията NpmModule.updatePackage, която зарежда оригиналния архив на пакета, променя номера на версията и добавя postinstall-hook в файла package.json, вмъква обработчика bundle.js, преопакова пакета и го публикува. Поддържа се работа в Linux и macOS.

Червей получи кодово име Shai-Hulud (гигантски червей, споменат в романа Дюна). Откритите в системата данни се публикуват в GitHub чрез създаване на хранилища с име Shai-Hulud (например, „B611/Shai-Hulud“), а също така и в кодирана форма се отразяват в логовете на GitHub Actions. В създаденото хранилище се поставя файл data.json, в който присъства стринг с кодирана с метода base64 информация за системата, променливите на средата и прихванатите ключове за достъп. В CI база на GitHub за предаване на информация към външен хост червей създава обработчик GitHub Actions (.github/workflows/shai-hulud-workflow.yml). Явно атаката не е ограничена до споменатите 187 пакета, тъй като в GitHub продължават да се появяват нови хранилища с име Shai-Hulud и файл data.json.

Самораспространяващ се червей е поразил 187 пакета в NPM.

Сред другото, в резултат на активността на червея, 25 пакета на компанията CrowdStrike, развиваща инструменти за защита от атаки чрез зависимости (Supply Chain). По твърдения на CrowdStrike компрометираните пакети не са използвани в платформата Falcon и атаката не се е разпространила сред клиентите. Също така стана известно, че предишната вълна на публикуване на злонамерени версии в NPM, извършвана без червей, е засегнала проекта gemini-cli, развиван от компания Google.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster