Átvette az irányítást 14 PHP könyvtár felett a Packagist tárolóban

A Packagist csomagtároló adminisztrátorai nyilvánosságra hoztak egy támadás részleteit, amely 14 PHP-könyvtár fenntartóinak fiókjait vette át, köztük olyan népszerű csomagokat, mint a példányosító (összesen 526 millió telepítés, havi 8 millió telepítés, 323 függő csomag), sql - formázó (összesen 94 millió telepítés, 800 109 telepítés egy hónapban, 73 függő csomag), doctrine-cache-bundle (összesen 500 millió, 348 20 egy hónap, 400 függő csomag) és rcode-detektor-dekódoló (összesen 66 millió telepítés, XNUMX havi ezer, XNUMX függő csomag).

A fiókok feltörését követően a támadó módosította a composer.json fájlt, és hozzáadta a projektleírás mezőhöz azt az információt, hogy információbiztonsággal kapcsolatos munkát keres. A composer.json fájl módosításához a támadó az eredeti tárhelyek URL-jeit módosított fork-okra mutató hivatkozásokra cserélte (a „composer install” vagy „composer update” használatával a Packagist csak a GitHubon fejlesztett projektekre mutató hivatkozásokat tartalmazó metaadatokat biztosít ” parancsot, a csomagok közvetlenül a GitHubról töltődnek le). Például az acmephp csomag esetében a hivatkozott tárhely acmephp/acmephp helyett neskafe3v1/acmephp értékre változott.

Nyilvánvalóan a támadást nem rosszindulatú műveletek végrehajtására hajtották végre, hanem annak demonstrálásaként, hogy a különböző webhelyeken ismétlődő hitelesítő adatok használatához való hanyag hozzáállás elfogadhatatlan. Ugyanakkor az "etikus hackelés" bevett gyakorlatától eltérően a támadó nem értesítette előre a kísérletről a könyvtárfejlesztőket és az adattárak adminisztrátorait. Később a támadó azt mondta, hogy miután sikerült elhelyezkednie, részletes jelentést tesz közzé a támadás során alkalmazott módszerekről.

A Packagist adminisztrátorai által közzétett információk szerint a feltört csomagokat kezelő összes fiók könnyen kikényszeríthető jelszavakat használt, anélkül, hogy lehetővé tette volna a kéttényezős hitelesítést. Állítólag a feltört fiókok olyan jelszavakat használtak, amelyeket nem csak a Packagist, hanem más szolgáltatások is használtak, amelyek jelszóadatbázisát korábban feltörték és nyilvánosságra hozták. A lejárt domainekhez kötődő fióktulajdonosok e-mailjeinek rögzítése is használható a hozzáférés megszerzésére.

Kompromittált csomagok:

  • acmephp/acmephp (124,860 XNUMX telepítés a csomag élettartama alatt)
  • acmephp/core (419,258)
  • acmephp/ssl (531,692 XNUMX)
  • doctrine/doctrine-cache-bundle (73,490,057 XNUMX XNUMX)
  • doktrina/doktrina-modul (5,516,721 XNUMX XNUMX)
  • doctrine/doctrine-mongo-odm-module (516,441 XNUMX)
  • doctrine/doctrine-orm-module (5,103,306 XNUMX XNUMX)
  • doktrína/instantiator (526,809,061 XNUMX XNUMX)
  • növekedési könyv/növekedési könyv (97,568 XNUMX
  • jdorn/file-system-cache (32,660 XNUMX)
  • jdorn/sql-formatter (94,593,846 XNUMX XNUMX)
  • khanamiryan/qrcode-detector-decoder (20,421,500 XNUMX XNUMX)
  • object-calisthenics/phpcs-calisthenics-rules (2,196,380 XNUMX XNUMX)
  • tga/simhash-php, tgalopin/simhashphp (30,555 XNUMX)

Forrás: opennet.ru

Hozzászólás