A CloudGuard Spectral különféle rosszindulatú csomagokat észlel a PyPI-n – a Python-fejlesztők hivatalos szoftvertárán


2022. augusztus 8

Fénypontok:

  1. A CloudGuard Spectral 10 rosszindulatú csomagot észlel a PyPI-n, a fejlesztők által a Python programozási nyelvhez használt vezető Python-csomagindexen.
  2. A rosszindulatú csomagok információlopókat telepítenek, amelyek lehetővé teszik a támadók számára, hogy ellopják a fejlesztő személyes adatait és személyes hitelesítő adatait
  3. Az észlelést követően a CPR nyilvánosságra hozta az információkat, és figyelmeztette a PyPI-t ezekről a csomagokról. A PyPI később eltávolítja
  4. A CPR arra ösztönzi a felhasználókat, hogy legyenek éberek és figyeljenek ezekre a csomagokra

Háttér

A PyPI a vezető Python adattár, és a Python-felhasználók használják a legszélesebb körben. Minden python fejlesztő ismeri a „pip install” napi rutinját, hogy elhozza a szükséges Python szoftvert.

A Pypi segít a fejlesztőknek megtalálni és telepíteni a közösség más fejlesztői által fejlesztett és megosztott szoftvereket. A platform és annak használata jelenleg ingyenes, a fejlesztők pedig napi rendszerességgel használják a tárolót. Saját weboldaluk szerint a Pypinek több mint 612 240 aktív felhasználója van, akik 391 325 projekten dolgoznak, 3 664 724 kiadással.

Sok felhasználó nem tudja, hogy ez az egyszerű egysoros parancs fokozott kockázatnak teheti ki őket. A pip install parancs olyan csomagtelepítést indít el, amely tartalmazhat egy setup.py parancsfájlt. Ez a szkript Python-részleteket tartalmazhat a szükséges telepítési folyamat végrehajtásához a cél telepítőgépen. A hackerek ezt a funkciót arra használják, hogy rosszindulatú kódot helyezzenek el a telepítési szkript részeként, amely kód zökkenőmentesen fut le a felhasználó számítógépén, anélkül, hogy észrevennék. A tudatlanság ebben az esetben nem boldogság, mivel az ilyen támadások gyakran nagyon kritikus adatpontokat gyűjtenek be, például jelszavakat és API-tokeneket. Ráadásul az ilyen támadások száma egyre nő. Lényeges példa a legutóbbi pygrata támadás, amely rosszindulatú csomagokkal lopta el az Amazon Web Services (AWS) kulcsait és környezeti változóit egy ellátási lánc támadás részeként. Fontos megjegyezni, hogy a rosszindulatú szereplők nem várnak, és amint látni fogja, ugyanazok a támadók úgy tűnik, hogy már létrehoztak egy új kampányt a PyPI-felhasználók ellen. Az észlelt csomagok részleteit ebben a blogban ismertetjük és részletezzük.

Ascii2text

Az Ascii2text egy rosszindulatú csomag, amely névvel és leírással egyszerűen utánozza a népszerű művészeti csomagot. Érdekes módon elég okosak voltak ahhoz, hogy lemásolják a teljes projektleírást a kiadási rész nélkül, ami visszatartotta a felhasználókat attól, hogy rájöjjenek, hogy ez egy hamis csomag.

A hamis ascii2text leírás VS az eredeti művészeti csomag leírása

A rosszindulatú csomagösszetevő a csomag __init__.py fájljában található, amelyet a setup.py telepítőszkript importált. A __init__.py fájlban található kód egy rosszindulatú szkript letöltéséért és végrehajtásáért volt felelős, amely helyi jelszavakat keres, és azokat egy discord webhook segítségével feltölti.

A rosszindulatú töredék a __init__.py fájlban

A letöltött rosszindulatú szkript

Pyg-utils, Pymocks és PyProto2

Úgy tűnik, hogy a Pyg-utils a legutóbbi Pygrata-kampány maradványa, amelynek célja a felhasználók AWS-hitelesítő adatainak összegyűjtése volt. A setup.py telepítés részeként a Pyg-utils ugyanahhoz a rosszindulatú tartományhoz (pygrata.com) csatlakozik, amely adathalász támadások infrastruktúrája lehet. Érdekes módon a Pymocks és a PyProto2 szinte azonos kóddal rendelkezik, amelyek egy másik tartományt céloznak meg – pymocks.com. Míg a Pyg-utils 15/6-án jelent meg, addig a Pymocks és a PyProto újabban (24/6 és 4/7 ennek megfelelően). Ugyanezen a napon (24/6) jött létre a Pymocks.com domain is. Ezért ésszerű feltételezni, hogy ezeket a csomagokat ugyanaz a rosszindulatú szereplő hozta létre, valószínűleg az a tény idézte elő, hogy Pyg-utils a burkolat alá került, és úgy döntött, hogy lemásolja és újraaktiválja rosszindulatú kampányait.

A Pyg-utils rosszindulatú setup.py fájlja, valamint a közel azonos Pymocks és PyProto2 fájl

teszt aszinkron

A teszt-async leírása a leírásban a “nagyon klassz tesztcsomag, amely rendkívül hasznos, és amelyre mindenkinek 100%-ra szüksége van”. A setup.py telepítőszkriptben valószínűleg rosszindulatú kódot tölt le és hajt végre az internetről. Érdekes módon a részlet letöltése előtt értesíti a Discord csatornát, hogy “új futás” kezdődött.

Test-async setup.py telepítési szkript

free-net-vpn

A Free-net-vpn és a Free-net-vpn2 rosszindulatú csomagok, amelyek környezeti változókat céloznak meg. A setup.py telepítőszkriptje egy tiszta és dokumentált kód a felhasználói hitelesítő adatok összegyűjtéséhez (öröm látni, hogy még a hackerek is odafigyelnek a kódszabványokra). Ezeket a titkokat ezután közzéteszik egy dinamikus DNS-leképezési szolgáltatás által leképezett webhelyen.

Free-net-vpn setup.py telepítőszkript

Zlibsrc

A zlibsrc csomag valószínűleg megpróbálta összetéveszteni a jogos felhasználókat a népszerű Python beépített zlib csomaggal. A setup.py szkriptjén a telepítés részeként egy rosszindulatú fájlt tölt le és futtat.

Zlibsrc __init__.py szkript

Browserdiv

A Browserdiv egy rosszindulatú csomag, amelynek célja a telepítői hitelesítő adatok ellopása volt azáltal, hogy összegyűjti és elküldi őket egy előre meghatározott diszcord webhookba. Érdekesség, hogy míg az elnevezés szerint a webdesignhoz kapcsolódó programozást (bowser, div) célozza meg, addig a leírás szerint a csomag motivációja a selfbotok Discordon belüli használatának engedélyezése.

Browserdiv setup.py telepítési szkript

WINRPC exploit

Egy rosszindulatú csomag, amely a setup.py telepítőszkript részeként ellopja a felhasználók bejelentkezési adatait (érdekes, bár a leírás alapján ez egy “csomag a Windows RPC sebezhetőségének kihasználásához”, a valóság az, hogy csak ellopja a telepítői hitelesítő adatokat).

WINRPCexploit setup.py telepítőszkript

A CloudGuard Spectral felhasználói továbbra is védettek a rosszindulatú csomagokkal szemben

Az ellátási lánc támadások célja a szervezet és a külső felek közötti bizalmi kapcsolatok kihasználása. Ezek a kapcsolatok magukban foglalhatnak partnerséget, szállítói kapcsolatokat vagy harmadik féltől származó szoftverek használatát. A kiberfenyegetés szereplői kompromittálnak egy szervezetet, majd feljebb lépnek az ellátási láncban, és ezeknek a megbízható kapcsolatoknak a segítségével hozzáférnek más szervezetek környezetéhez. Az ilyen támadások az utóbbi években egyre gyakoribbá váltak, és az utóbbi években nagyobb hatást váltottak ki, ezért elengedhetetlen, hogy a fejlesztők gondoskodjanak tevékenységeik biztonságosságáról, minden használt szoftverösszetevőt kétszer is ellenőrizzenek, különösen a különböző tárolókból letöltötteket, különösen azokat, amelyeket nem saját maguk alkottak.
A Spectralops.io-nál, a Now A Check Point cégnél küldetésünk egy biztonságos fejlesztési folyamat létrehozása, hogy megbizonyosodjunk arról, hogy a fejlesztők a megfelelő dolgokat cselekszenek (biztonsági szempontból). Ennek az erőfeszítésnek a részeként folyamatosan vizsgáljuk a PyPI-t rosszindulatú csomagok után kutatva, hogy megelőzzük az ellátási lánc támadásaiból származó ilyen kockázatokat.

Felelős tájékoztatás a PyPi felé

Miután azonosították ezeket a rosszindulatú felhasználókat és csomagokat, kutatóink riasztották a PyPI-t a PyPi hivatalos webhelyén megadott e-mail címen, felkérve a felhasználókat, hogy figyelmeztessék a biztonsági problémákat, és kérjék őket azok eltávolítására. Közzétételünk után a PyPI eltávolította ezeket a csomagokat.

Leave a Comment

%d bloggers like this: