Злонамерни npm пакети се претставуваат како PostCSS алатки за испорака на Windows RAT

Истражувачи за сајбер-безбедност открија група злонамерни npm пакети дизајнирани да испорачуваат тројанец за далечински пристап (RAT) базиран на Windows.

Списокот на идентификувани пакети е следниот:

  • aes-decode-runner-pro (145 преземања)
  • postcss-minify-selector (256 преземања)
  • postcss-minify-selector-parser (615 преземања)

Сите пакети биле објавени во текот на изминатиот месец од npm корисник со име „abdrizak“ и во моментот на пишување сè уште биле достапни за преземање преку npm.

„Aes-decode-runner-pro и postcss-minify-selector-parser се претставуваат како слоевити AES/прилагодени кодек пакети и зависат од легитимниот postcss-selector-parser“, наведува JFrog во својата анализа. „Postcss-minify-selector се претставува како алатка за минимизирање на PostCSS селектори и зависи од postcss-minify-selector-parser.“

Што се однесува до postcss-minify-selector-parser, неговото име е референца на postcss-selector-parser, широко користена npm библиотека со повеќе од 127 милиони неделни преземања. Без разлика кој пакет ќе биде преземен, синџирот на напад завршува со инсталирање на ист Windows малициозен софтвер.

Пакетите содржат вграден JavaScript „dropper“ кој запишува PowerShell скрипта (settings.ps1) на дискот и ја извршува. Потоа PowerShell скриптата функционира како преземач (downloader) за следната фаза на малициозниот код, која се презема од надворешен сервер (nvidiadriver[.]net) преку curl.exe.

Преземениот товар (payload) е ZIP архива од која се извлекува и извршува Visual Basic Script датотека (update.vbs) преку wscript.exe. Во ZIP архивата исто така се наоѓаат Python околина за извршување, Python вчитувач (loader.py) и повеќе Python екстензии (*.pyd) компајлирани со Nuitka.

Visual Basic скриптата е задолжена за поставување на Python околината на компромитираниот систем и за стартување на loader.py, кој ја активира главната логика на малициозниот софтвер.

RAT-от има можност да:

  • собира информации за системот,
  • краде кориснички податоци и лозинки од Google Chrome,
  • собира податоци од Chrome екстензии,
  • извршува shell команди,
  • презема и испраќа датотеки до и од сервер за команда и контрола (C2) на адресата 95.216.92[.]207:8080.

Овие функции се реализирани преку следните Python екстензии:

  • config.pyd – содржи константи, ID на команди, C2 URL и имиња на регистарски клучеви.
  • api.pyd – управува со HTTP комуникацијата со C2 серверот.
  • audiodriver.pyd – го контролира главниот циклус на RAT-от.
  • command.pyd – врши профилирање на системот, проверки за виртуелни машини (VM), пренос на датотеки и извршување shell команди.
  • auto.pyd – краде лозинки и податоци од Chrome екстензии, заобиколувајќи ги механизмите за заштита App-Bound Encryption (ABE).
  • util.pyd – обезбедува помошни функции за tar/gzip архиви.

„Овој случај покажува како мал пакет што личи на parser може да сокрие повеќестепен Windows payload, додека изгледа поврзан со легитимни алатки за развој кои имаат милиони корисници неделно“, наведува JFrog. „За одбранбените тимови, важната поука е дека зависности со имиња слични на легитимни пакети треба да се третираат како потенцијални механизми за испорака на малициозен код, а не како безопасна сличност во именувањето.“

Дополнителни кампањи насочени кон npm и TypeScript екосистемот

Откритието се совпаѓа со уште три кампањи:

  1. apintergrationpost – злонамерен пакет кој испорачува Linux RAT наречен MYRA, претставувајќи се како Node.js клиент за интеграција за овластени red-team вежби. Според SafeDep, за време на инсталацијата компајлира rootkit на C, воспоставува три механизми за трајност (persistence), се маскира како systemd сервис, поддржува fileless извршување и овозможува интерактивен shell пристап со пренос на екран во живо.
  2. @withgoogle/stitch-sdk – пакет кој се претставува како Google-овата алатка Stitch AI, но има можност да краде развојни акредитиви од осум различни извори, меѓу кои:
    • Claude Code,
    • git конфигурација,
    • ~/.git-credentials,
    • SSH јавни клучеви,
    • GitHub CLI,
    • npm конфигурација,
    • ~/.npmrc,
    • ~/.docker/config.json.
    Украдените податоци се испраќаат кон домен контролиран од напаѓачите (stitch-production[.]org/api/v1).
  3. Група од пет пакети:
    • procwire
    • routecraft
    • endpointmap
    • bytecraft
    • staticlayer
    Овие пакети преземаат и извршуваат dropper бинарна датотека на Windows системи за време на npm инсталацијата. Пакетот routecraft зависи од procwire, а procwire зависи од endpointmap и bytecraft. Последниот пакет, staticlayer, работи на серверска страна и испорачува датотеки само на клиенти кои користат специфичен User-Agent.

Корисниците кои инсталирале некој од овие пакети се советуваат веднаш да ги отстранат, да ги избришат сите артефакти создадени од нив и да ги променат сите компромитирани акредитиви на погодените развојни машини.

Напад врз синџирот на снабдување (Supply Chain Attack)

Наодите се совпаѓаат и со напад врз алатката за графови на знаење gonex-AI/Understand-Anything, каде бил вметнат злонамерен payload кој комуницира со еден од три однапред дефинирани C2 сервери, испраќа идентификатор на кампањата, дешифрира и извршува преземен бот-клиент и дополнително добива команди преку адреса на блокчејнот Tron, чија последна трансакција содржи хаш од BSC трансакција со активниот payload.

Активноста покажува преклопување со севернокорејска операција за компромитација на синџирот на снабдување наречена PolinRider. Во рамки на оваа операција бил инјектиран замаглен (obfuscated) JavaScript во конфигурациски датотеки на легитимни развивачи во речиси 2.000 компромитирани GitHub репозиториуми, со цел испорака на познат преземач и крадец на податоци наречен BeaverTail, кој потоа овозможува инсталација на задната врата InvisibleFerret.

„Овој напад комбинира три елементи кои поединечно се познати, но заедно создаваат празнина во детекцијата: сложен лажен PR опис со фабрикувани тест-докази, промени во кодот што го кријат payload-от во хоризонтален празен простор и двостепен C2 механизам каде втората фаза користи јавна блокчејн инфраструктура како медиум за пренос што може еднаш да се запише, а од секаде да се прочита“, заклучува SafeDep.

Извори:

  • The Hacker News – Malicious npm Packages Pose as PostCSS Tools to Deliver Windows RAT The Hacker News