Több mint 60 rosszindulatú npm csomagot fedeztek fel a csomagregiszterben, melyek olyan káros funkciókat tartalmaznak, amiknek célja a gazdagépek neveinek, IP-címeinek, DNS-szervereinek és felhasználói könyvtárainak begyűjtése, és ezek továbbítása egy Discord által vezérelt végpontra. A csomagokat három különböző fiók alatt tették közzé, és olyan szkripttel rendelkeznek, amely az npm install során aktiválódik – közölte Kirill Boychenko, a Socket biztonsági kutatója a múlt héten megjelent jelentésében. Ezeket a könyvtárakat összesen több mint 3000 alkalommal töltötték le.
„A szkript Windows, macOS és Linux rendszereket céloz, és tartalmaz sandbox-elhárító ellenőrzéseket, így minden fertőzött munkaállomás vagy folyamatos integrációs csomópont értékes felderítési forrás lehet” – tette hozzá a szoftverellátási lánc biztonságával foglalkozó cég.
A három fiók neve, amelyek mindegyike 11 nap alatt 20 csomagot tett közzé:
(Ezek a fiókok már nem elérhetőek.)
- bbbb335656
- cdsfdfafd1232436437
- sdsds656565
A Socket szerint a rosszindulatú kód kifejezetten úgy készült, hogy az adott gépet azonosítsa (fingerprint), és ha virtualizált környezetet észlel (pl. Amazon, Google), akkor állítsa le a futást. A begyűjtött adatok – mint a gazdagép adatai, DNS szerverek, hálózati kártyák adatai, belső és külső IP-címek – egy Discord webhook-on keresztül kerülnek továbbításra. A belső és külső IP-címek, DNS szerverek, felhasználónevek és projekt elérési utak begyűjtésével a támadó képes lehet feltérképezni a hálózatot, és azonosítani tudja a számára értékes célpontokat – mondta Boychenko.
A bejelentés egy másik esetre is kitér: nyolc npm csomag segédkönyvtárnak álcázva (React, Vue.js, Vite, Node.js, Quill Editor keretrendszerekhez) valójában kártékony kódokat tartalmazott. Ezeket több mint 6200 alkalommal töltötték le, és továbbra is elérhetők az npm-en:
- vite-plugin-vue-extend
- quill-image-downloader
- js-hood
- js-bomb
- vue-plugin-bomb
- vite-plugin-bomb
- vite-plugin-bomb-extend
- vite-plugin-react-extend
„Ezek a csomagok legitim bővítményeknek álcázva jelentek meg, de valójában rosszindulatú payload-okat rejtenek, amelyek képesek adatokat kompromitálni, kritikus fájlokat törölni és rendszereket összeomlasztani – mindezt úgy, hogy közben rejtve maradnak” – közölte Kush Pandya, a Socket másik kutatója.
Néhány csomagról kiderült, hogy automatikusan lefutnak, amikor a fejlesztők meghívják őket a projektjükben és képesek rekurzívan törölni a Vue.js, a React és a Vite-hoz kapcsolódó fájlokat. Más csomagok alapvető JavaScript metódusokat rongálnak meg, vagy a böngésző tárolóit, például a localStorage-t, sessionStorage-t és a sütiket manipulálják.
Rosszindulatú VS code csomag
Forrás: The Hacker News
Egy másik figyelemre méltó csomag a js-bomb, amely túlmutat a Vue.js keretrendszer fájljainak törlésén: ez a csomag rendszerleállítást is kezdeményez, az aktuális futtatási idő alapján. A megosztást egy xuxingfeng nevű felhasználóhoz vezették vissza, aki öt legitim, nem káros npm-csomagot is közzétett, amelyek rendeltetésszerűen működnek. A rosszindulatú csomagokat 2023-ban publikálta.
„Ez a kettős stratégia – azaz, hogy egyszerre ad ki ártalmas és hasznos csomagokat – látszólagos hitelességet biztosít, így a rosszindulatú csomagokat könnyebben elfogadják és telepítik a fejlesztők” – mondta Pandya.
Ezek a megállapítások egy újszerű támadási kampány felfedezését követik, amely hagyományos e-mailes adathalászatot kombinál egy npm-csomagba rejtett JavaScript-kóddal, amely ártalmatlannak tűnő nyílt forráskódú könyvtárként jelenik meg.
„Miután a kapcsolat létrejött, a csomag betöltött és lefuttatott egy második szakaszban lévő szkriptet, amely a célpont e-mail címe alapján személyre szabta a phishing linkeket, és egy hamis Office 365 bejelentkezési oldalra irányította az áldozatot, hogy ellopja a hitelesítő adatait” – mondta Israel Cerda, a Fortra kutatója.
A támadás egy phishing e-maillel indul, amely egy káros .HTM fájlt tartalmaz. Ebben titkosított JavaScript-kód található, amely a jsDelivr CDN-en keresztül töltődik be, és kapcsolatban állt a mára már eltávolított citiycar8 nevű npm-csomaggal. A JavaScript-kód egy átirányítási láncot indít el, amely végül egy hamis weboldalra viszi a felhasználót, hogy ott megszerezze a bejelentkezési adatait.
„Ez a phishing támadás magas szintű kifinomultságot mutat: a támadók AES titkosítást, CDN-en keresztül terjesztett npm-csomagokat, és többszörös átirányítást alkalmaznak, hogy elrejtsék valódi szándékaikat” – mondta Cerda.
A nyílt forráskódú repository-k rosszindulatú célú kihasználása már bevett módszerré vált a supply chain típusú támadások végrehajtására. Az elmúlt hetekben újabb rosszindulatú, adatlopó bővítményeket fedeztek fel a Microsoft Visual Studio Code (VS Code) piacterén, amelyek célja a kriptopénztárca hitelesítő adatok ellopása, különösen a Solidity fejlesztőket célozva Windows rendszereken. E tevékenységet a Datadog Security Research egy MUT-9332 nevű felhasználóhoz köti. Az érintett VS Code bővítmények nevei:
- solaibot
- among-eth
- blankebesxstnion
„Ezek a bővítmények legitimnek álcázzák magukat, valós funkciókat is tartalmaznak, miközben a kártékony kódot elrejtik. Olyan parancs- és vezérlődomaineket használnak, amelyek a Solidity-hez kapcsolódónak tűnnek, így nem keltenek gyanút.” – fejtették ki a kutatók.
„Mindhárom bővítmény összetett fertőzési láncot alkalmaz, több lépcsős, obfuszkált (rejtett) rosszindulatú kódokkal. Az egyik például egy képfájlba rejtett kártékony kódot használ, amelyet az Internet Archive tárhelyén helyeztek el.”
Ezek a bővítmények valódi szolgáltatásokat is kínálnak, például szintaxisellenőrzést és sebezhetőség-feltárást Solidity fejlesztők számára. Ugyanakkor rosszindulatú kódokat is telepítenek, amelyek kriptotárca-információkat lopnak a felhasználók Windows rendszereiről. Az említett három bővítményt azóta eltávolították. A támadók végső célja az volt, hogy egy Chromium-alapú, rosszindulatú böngészőbővítményt csempésszenek be a rendszerbe, amely képes Ethereum tárcákat kiüríteni, és az adatokat egy C2 (Command and Control) szerverre továbbítani.
Támadási folyamat
Forrás: The Hacker News
A rosszindulatú bővítmény képes egy különálló végrehajtható fájlt is telepíteni, amely:
- kikapcsolja a Windows Defender víruskeresőjét,
- átvizsgálja az alkalmazásadat-mappákat a következők után kutatva: Discord, Chromium-alapú böngészők, kriptotárcák és Electron-alapú alkalmazások,
- valamint letölt és lefuttat egy további kártékony programot egy távoli szerverről.
A MUT-9332 nevű felhasználót egy másik, nemrég felfedezett kampányhoz is kötik, amelyben 10 különböző rosszindulatú VS Code bővítményt használtak arra, hogy XMRig kriptobányász programot telepítsenek, miközben ezek a bővítmények kódolási vagy mesterséges intelligencia (AI) eszközöknek álcázták magukat.
„Ez a kampány jól mutatja, milyen meglepő és kreatív módszereket alkalmaz MUT-9332, hogy elrejtse rosszindulatú szándékait. A payload-frissítések azt jelzik, hogy ez a kampány valószínűleg folytatódni fog, és az első körben felfedezett és eltávolított rosszindulatú VS Code bővítmények után MUT-9332 új taktikákhoz folyamodhat a következő hullámokban.” közölte a Datadog.