Közel 800 rosszindulatú npm csomag terjeszt platformfüggetlen RAT-ot és adatszivárogtató kártevőt

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

Közel 800 rosszindulatú csomagot töltöttek fel az npm tárolóba egy új kampány részeként, amely platformfüggetlen kártevőt terjeszt, és Windows, Mac és Linux rendszereket céloz.

„Úgy tűnik, hogy ezek a csomagok AI-val generált, vagy véletlenszerűen előállított, elgépelésre építő csomagneveket használnak, de mindegyikük egy erős RAT-ot és adatszivárogtató kártevőt telepít” – mondta az OpenSourceMalware kutatója, Paul McCarty nyilatkozatában.

Más, npm-re épülő szoftver-ellátási lánc elleni támadásokkal ellentétben, amelyek a preinstall vagy postinstall lifecycle hookokat használják a rosszindulatú kód futtatásának elindításához, az újonnan azonosított csomagok egy README fájllal érkeznek, amely arra utasítja a fejlesztőket, hogy a beépített require() függvénnyel töltsék be őket. A require() modulok, helyi fájlok és harmadik féltől származó csomagok importálására szolgál.

A támadás egy WEL1DROPPER nevű letöltő futtatásához vezet, amely végrehajtáskor azonosítja a gazdarendszer operációs rendszerét és processzorarchitektúráját, majd letölti a megfelelő payloadot a három Cloudflare Workers egyikéről. A három Cloudflare Workers domain a következő:

  • oob-worker.cf103-070.workers[.]dev
  • oob-worker.cf102-baf.workers[.]dev
  • oob-worker.cf99-9b3.workers[.]dev

Ha a HTTPS-alapú letöltések sikertelenek, a kártevő platformfüggő domainre vált, és DNS TXT rekordokat használ a következő lépcső letöltésére a „wel1[.]ru” domainről. Az egyes operációs rendszerekhez és CPU-architektúrákhoz tartozó payload domainek a következők:

  • Linux x64 – sdk.dl.wel1[.]ru
  • Linux ARM64 – ext.dl.wel1[.]ru
  • macOS – pkg.dl.wel1[.]ru
  • Windows – net.dl.wel1[.]ru

„A csomag először egy TXT rekordot kér le a c.<domain> címről” – magyarázta McCarty. „A választ úgy értelmezi, mint a payload darabjainak számát, 1 és 2000 közötti értéket fogad el. Ezután sorszámozott TXT rekordokat kér le. Az így kapott sztringeket összefűzi, majd Base64-dekódolással bináris bufferbe alakítja.”

Az utolsó fázisban a payload egy ideiglenes mappába kerül, majd Linuxon és macOS-en a „/bin/sh”, Windowson pedig a „cmd.exe” segítségével futtatják.

A kampányt Flooding Dropper néven szintén figyelő Sonatype szerint a végső fázis egy leválasztott (detached) folyamatként indul. A Windows-változat lépéseket tesz az Event Tracing for Windows (ETW) és az Antimalware Scan Interface (AMSI) működésének módosítására, hogy zavarja a megfigyelést, ellenőrzi a sandboxokat és a virtuális környezeteket, tartósságot alakít ki egy Registry Run kulccsal és egy ütemezett feladattal, majd letölt egy titkosított payloadot („/pkg/update_win.exe”), és lefuttatja.

A macOS-fertőzési lánc hasonlóan működik: ugyanazokat a lépéseket hajtja végre, hogy debuggereket és elemzési nyomokat keressen, mielőtt letöltene egy kompatibilis payloadot ("/pkg/beacon_mac.bin") egy távoli szerverről. Ha ez nem sikerül, a korábban említett DNS TXT-alapú terjesztést használja, tartósságot alakít ki egy LaunchAgent segítségével, majd leválasztott folyamatként elindítja a futtatható állományt.

A Linux-minta ezzel szemben egy UPX-sel csomagolt ELF bináris, amelyet úgy állítottak be, hogy kiegészítő payloadokat töltsön le egy Cloudflare Worker URL-ről ("oob-worker[.]cf99-9b3.workers[.]dev"), ami végül a Sliver, egy nyílt forráskódú command-and-control (C2) framework telepítéséhez vezet.

A csomagokban egy "lib/telemetry.js" nevű fájlt is találtak, amely egy hihetőnek tűnő telemetry SDK-t valósít meg, de ugyanazt a letöltő logikát is tartalmazza.

„A csomag belépési pontja nem importálja ezt a fájlt, és nem tartalmaz további, beégetett infrastruktúrát” – közölte az OpenSourceMalware. „A túlméretezett telemetry megvalósítás célja láthatóan az, hogy zajt keltsen, és egy gyors átnézés során a rosszindulatú viselkedés natív profilozási vagy analitikai funkciónak tűnjön.”

A macOS payloadban megjelenő domainek, például a "tcsbank[.]ru" és a "cloudpayments[.]ru", arra utalnak, hogy a kampány orosz pénzintézeteket és mobilfizetési szolgáltatásokat célozhat.

Feltételezik azt is, hogy ez egy dependency confusion kampány továbbfejlesztett változata, amelynek Moika a fedőneve, és amelyet idén áprilisban figyeltek meg. Akkor több mint 250 csomagot tettek közzé az npm tárolóban, hogy környezeti információkat lopjanak, és operációs rendszerre szabott második fázisú payloadot juttassanak célba.

A fejleményekkel párhuzamosan a Palo Alto Networks Unit 42 több olyan kampányt is dokumentált, amelyek az npm-et és a Python Package Index (PyPI) tárolót célozzák –

  • 10 npm csomag egy csoportja, amelyek egy külső szerverről egy obfuszkált kriptovaluta-lopó kártevőt és egy remote access trójait töltenek le. „Telepítés után a csomagok egy 'getPlugin' függvényt exportálnak, amely felépíti azt az URL-t, ahonnan a payload letöltődik, mégpedig egy JSON objektumba ágyazott, obfuszkált IIFE (Immediately Invoked Function Expression) JavaScript kód alapján” – írta a Unit 42. „A payload egy kriptolopó modult és egy Remote-Access Trojan (RAT) kártevőt valósít meg, amely lehetővé teszi a támadó számára, hogy tetszőleges parancsokat futtasson a fertőzött gépen.”
  • Egy sor rosszindulatú csomag az npm-en és a PyPI-n, amelyek több, egymástól független fenyegető szereplőhöz köthetők, és képesek felhőhozzáférési adatok kiszivárogtatására, EtherHiding blokklánc-alapú C2 dropper terítésére, Solana kriptotárca-kulcsok ellopására Telegramon keresztül, .env fájlokban tárolt titkok kiszivárogtatására, hamis CAPTCHA-val végrehajtott social engineering alapú távoli kódfuttatásra, valamint Discord tokenek és GitHub Actions CI/CD hitelesítési adatok ellopására.

Csomagoktól a Chrome-bővítményekig

Fenyegető szereplők Google Chrome-bővítményeket is használnak, amelyeket játékemulátorként, jelszókezelőként, produktivitási eszközként, CSS-inspektorként és markdown-konverterként hirdetnek, hogy a webböngészőt webes feltérképező proxyvá alakítsák. A feltérképezési parancsokat távoli forrásból kapják egy tartós WebSocket-kapcsolaton keresztül.

„Ezek a bővítmények egy azonos, kereskedelmi webes sávszélesség-megosztó SDK-t ágyaznak be, amely a felhasználó böngészőjét egy harmadik fél által üzemeltetett lakossági proxyhálózathoz csatlakoztatja webes scraping műveletekhez” – közölte a Unit 42 jelentése, hozzátéve, hogy az SDK rejtett iframe-et injektál az aktív böngészőfülekbe, a háttérben markdown formátumra alakítja az oldal tartalmát, majd elküldi egy távoli felhős backendnek.

A kiberbiztonsági cég megjegyezte, hogy néhány ilyen bővítmény a Chrome Web Store leírásában, illetve a SaaS weboldalán elérhető privacy szabályzatban feltünteti ezt a gyakorlatot. Telepítés után a harmadik féltől származó SDK megkéri a felhasználót, hogy járuljon hozzá a szolgáltatás használatához.

„Ha a felhasználó elutasítja, a proxy- és feltérképezési funkciók inaktívak maradnak, néhány bővítmény azonban úgy állítja be ezt a hozzájárulást, mintha az a szolgáltatás zavartalan működéséhez szükséges lenne” – tette hozzá a Unit 42. „Jó példa erre az InstaSkip (mdondgockboebafloibbhjofmoedmnnn), amely beágyazza ezt az SDK-t.”