Npm csomagok - Fertőző interjú

Az NPM csomagok jóindulatú felhasználói felület könyvtáraknak álcázzák magukat Észak-Korea „fertőzős interjú” ellátási lánc támadásában

Az újonnan észlelt rosszindulatú npm csomagok ártalmatlan front-end segítőknek álcázzák magukat, de rosszindulatú, obfuszkált kódot tartalmaznak.

A biztonsági kutatócsoport a Xygeni megállapították, hogy ezek az npm csomagok: „react-ui-notify”, „react-tmedia”, „react-ui-animates”, „react-medias”, „react-mandes” módosított származékai „bingó-naplózó”, amely maga is egy rosszindulatú elágazás, és a népszerű naplózócsomag szerkezetét és dokumentációját utánozza. 'pinó' hogy legitimnek tűnjön. Ezt az álcát a fejlesztők bizalmának kihasználására és a letöltések ösztönzésére használják. A valóságban a kódbázis egy független, obfuszkált fájlt tartalmaz, amely Node környezetekben fut. 

A fenyegető szereplő háttere: A „fertőző interjú” kampány

Az Fertőző interjú kampány néven ismert fenyegetéscsoporthoz kapcsolódik. „UNC4034”, amely Észak-Koreához köthető szereplőkkel való kapcsolatokról számol be Lazarus csoport or APT38, egy jól ismert, államilag támogatott, az észak-koreai rezsimhez köthető csoport. A kampány mögött álló kiberfenyegető szereplők múltra tekintenek vissza abban, hogy nyílt forráskódú ökoszisztémákon keresztül célozzák meg a fejlesztőket, és rejtett hasznos adatokat végrehajtó, hasonló csomagokat terjesztenek. Végső soron kriptovalutákkal kapcsolatos adatokat, forráskódot és hitelesítő adatokat szivárogtatnak ki a fertőzött rendszerekből.

Az taktikák, technikák és eljárások Az ezekben az npm csomagokban megfigyelt TTP-k (TTP-k) ugyanazt a mintát követik:

  • Utánozd a legitim hangzású projektneveket, hogy megbízhatónak tűnj.
  • Obfuszkált kód beágyazása tesztfájlokba és segédszkriptekbe.
  • Rejtett hasznos adatokat futtathat, amelyek bizalmas adatokat gyűjtenek, és azokat egy távoli parancs- és vezérlő (C2) szerverre küldik.

Technikai megállapítások: Obfuscált hasznos teher elemzés

A benne található hasznos teher "/test/fixtures/eval/node_modules/test.list' obfuszkált JavaScriptet használ (index/tömb karakterlánc keresések, kódolt blokkok) az olvasható karakterláncok elrejtésére, és a vezérlési folyamat a csomag telepítése után, a telepítés utáni szkript miatt kerül végrehajtásra. 'npm futási teszt || npm átvitel || npm futás kihagyása'a'-n belül package.json. 

Elemzésünk kimutatta, hogy ezek a csomagok egy adaptív kártevőt tartalmaznak, amelyet úgy terveztek, hogy operációs rendszerek (Windows, macOS vagy Linux) és felhasználói környezetek között mozogjon. Ez a képesség arra utal, hogy szándékosan a technikai felhasználókra összpontosítanak, akik gyakran dolgoznak változatos környezetekben.

Miután a rosszindulatú program megtelepszik egy rendszeren, felméri a környezetét, és információkat gyűjt. részletes rendszerinformációk mint például hostname, emelvény, otthoni könyvtár és a rendszer ideiglenes könyvtár mielőtt kiterjesztette volna elérhetőségét az érzékeny adatokat tároló alkalmazásokra, például böngészők (Chrome/Brave/Edge/Opera) és digitális pénztárcákRekurzívan keres gyakori helyeken böngészőprofilokat, pénztárcafájlokat, kulcstartókat és számos dokumentum-/fájltípust. A keresési kulcsszavak közé tartoznak a pénztárca, a kezdőértékkel kapcsolatos kifejezések és számos fájlkiterjesztés, amelyek valószínűleg hitelesítő adatokat vagy titkos adatokat tartalmaznak (*.env, *.key, *.wallet, *.json, *.txt, *.doc stb. fájlok.). Kizárási listákat tartalmaz a gyakori könyvtárakhoz, hogy elkerülje a nyilvánvaló rendszerfájlokat.

A hasznos adat egy helyi jelölőt/zárolási fájlt ír a több egyidejű futtatás megakadályozása érdekében, és az adatokat az operációs rendszer ideiglenes könyvtáraiba írja az észlelés elkerülése érdekében.

Az obfuszkált hasznos adat egy kommunikációs csatornát is tartalmaz egy távoli szerverhez, amely a parancs- és vezérlőközpontjaként működik. Ezen a csatornán keresztül képes ellopott információk kiszivárogtatása és a további utasításokat kapBár maga az infrastruktúra korlátozottnak és célirányosan építettnek tűnik, a létezése megerősíti a támadó szándékát, hogy tartósan fenntartsa az irányítást a fertőzött rendszerek felett.

Amikor a rosszindulatú program érzékeny adatokat talál, összefogja azokat, és megpróbálja feltölteni egy felhőalapú szerveren üzemeltetett távoli végpontra többrészes/formátumú adatok használatával, így a lopott fájlok csatolva vannak a kérésekhez.

Kompromisszumra utaló mutatók és enyhítési ajánlások

A szervezeteknek azt tanácsolják, hogy távolítsák el ezeket a rosszindulatú függőségeket (react-ui-notify, react-tmedia, react-ui-animates, react-medias, react-mandes, bingo-logger) és frissítse ezeket a környezeteket az integritás biztosítása érdekében. Az esetlegesen kitett rendszereken az összes hitelesítő adatot és hozzáférési tokent azonnal le kell cserélni.

A hálózati rendszergazdáknak korlátozniuk kell a kimenő forgalmat ezekre az IP-címekre. 23.227.202.24, 131.153.22.25 és tekintse át a legutóbbi kapcsolatokat anomáliák szempontjából. Az érintett környezetek ellenőrzött, tiszta forrásokból történő újjáépítése erősen ajánlott az újrafertőzés megelőzése és az ellátási lánc integritásának biztosítása érdekében.

Tágabb kontextus

Összességében ezek a csomagok egy újabb példát jelentenek A JavaScript-alapú ellátásilánc-támadások új érettségi szintjének köszönhetően a támadók egyre inkább hasonló csomagokat hoznak létre, amelyek megbízható projektektől kölcsönöznek struktúrát és dokumentációt, moduláris bővítést alkalmaznak, és jobb technikákat alkalmaznak, hogy megnehezítsék az észlelést és az enyhítést. 

Ez a fejlődés növeli a gyanútlan fejlesztők általi véletlen telepítés valószínűségét, és mélyebb hozzáférést biztosít a támadóknak az építési környezetekhez. CI/CD rendszerek és forráskód-tárházak.

A nyílt forráskódú ökoszisztémák az ilyen kampányok kedvelt terjesztési platformjává váltak. A fejlesztők közösségi csomagokba vetett inherens bizalmának kihasználásával a támadók minimális erőfeszítéssel és gyakran azonnali észlelés vagy következmények nélkül beszivároghatnak a szoftverellátási láncba.

Kártevő korai figyelmeztetés (MEW) a Xygeni által

Ezt az esetet eredetileg Xygeni segítségével azonosították. Kártevő korai figyelmeztetés rendszer, amely folyamatosan figyeli a nyílt forráskódú csomagnyilvántartásokat, mint például az npm, PyPI, Maven, rosszindulatú csomagok után kutatva.

A keresőmotorunk automatikusan gyanúsként jelölte meg ezeket a csomagokat a szokatlan szerkezetük, a telepítés utáni szkriptjük és az elferdített hasznos terhelésük miatt. Ennek eredményeként a rosszindulatú csomagok (react-ui-notify, react-tmedia, react-ui-animates, react-medias és react-mandes) biztonsági csapatunk megerősítette, hogy rosszindulatúak, és mielőtt szélesebb körben elterjedhettek volna, jelentették az npm-nek.

Hogyan védi a Xygeni Korai Figyelmeztetés az Önét? pipelines

  • Valós idejű fenyegetésészlelés: Minden új vagy frissített csomagot átvizsgál a függőségi gráfban, és megjelöli a gyanús viselkedést, például az operációs rendszer rendszerhívásait, a parancsok végrehajtását, a zavaros kódot, az elgépeléseket és sok mást.
  • Azonnali riasztások: Értesíti a biztonsági és DevOps csapatokat Slackben, Jira-ban vagy e-mailben, amint új fenyegetés merül fel a környezetében.
  • Egy kattintásos hibaelhárítás: Generál pull requests amelyek eltávolítják vagy lecserélik a sebezhető függőségi verziókat a projektekben.
  • Támogatott ökoszisztémák: Jelenleg tartalmazza az npm-et, a PyPI-t, a Maven-t és a Packagist-et.
  • A Xygeni segít megelőzni az ellátási lánc támadásait azáltal, hogy a rosszindulatú csomagokat már a legkorábbi szakaszban, még azelőtt észleli, hogy azok elérnék a buildet.

???? Próbálja ki az Xygeni Malware Early Warning ingyenes verzióját és nézd meg, milyen gyorsan tudod észlelni és semlegesíteni az ellátási láncra leselkedő veszélyeket a saját pipelines.

sca-tools-software-composition-elemző-eszközök
Szoftverkockázatok rangsorolása, elhárítása és biztosítása
Szerezd meg az ingyenes fiókodat.
Nem szükséges hitelkártya.

Biztosítsa szoftverfejlesztését és -szállítását

az Xygeni termékcsomaggal