Prevzel nadzor nad 14 knjižnicami PHP v skladišču Packagist

Skrbniki skladišča paketov Packagist so razkrili napad, ki je prevzel nadzor nad računi vzdrževalcev 14 knjižnic PHP, vključno s tako priljubljenimi paketi, kot so instantiator (skupaj 526 milijonov namestitev, 8 milijonov namestitev na mesec, 323 odvisnih paketov), ​​sql-formatter (skupaj 94 milijonov namestitev, 800 tisoč na mesec, 109 odvisnih paketov), ​​doctrine-cache-bundle ( 73 milijonov namestitev skupaj, 500 348k na mesec, 20 odvisnih paketov) in rcode-detector-decoder (400 milijonov skupnih namestitev, 66k na mesec, XNUMX odvisnih paketov).

Ko so bili računi ogroženi, je napadalec spremenil datoteko composer.json in v polje z opisom projekta dodal informacijo, da išče službo, povezano z informacijsko varnostjo. Da bi spremenil datoteko composer.json, je napadalec zamenjal URL-je izvirnih repozitorijev s povezavami do spremenjenih forkov (v Packagistu so na voljo samo metapodatki s povezavami do projektov, razvitih na GitHubu, pri namestitvi z ukazom »composer install« ali »composer update« pa se paketi prenesejo neposredno iz GitHuba). Na primer, za paket acmephp je bilo povezano skladišče spremenjeno iz acmephp/acmephp v neskafe3v1/acmephp.

Očitno napad ni bil izveden zaradi izvajanja zlonamernih dejanj, temveč kot dokaz nedopustnosti malomarnega odnosa do uporabe podvojenih poverilnic na različnih mestih. Hkrati v nasprotju z ustaljeno prakso "etičnega hekanja" napadalec o poskusu ni vnaprej obvestil razvijalcev knjižnic in skrbnikov repozitorija. Kasneje je napadalec povedal, da bo, ko mu bo uspelo dobiti službo, objavil podrobno poročilo o metodah napada.

Glede na informacije, ki so jih objavili skrbniki Packagist, so vsi računi, ki upravljajo ogrožene pakete, uporabljali gesla, ki jih je enostavno prisiliti, ne da bi omogočili dvostopenjsko avtentikacijo. Domneva se, da so vdrti računi uporabljali gesla, ki niso bila uporabljena samo v Packagistu, ampak tudi v drugih storitvah, katerih podatkovne baze gesel so bile predhodno ogrožene in objavljene. Zajem e-pošte imetnikov računov, ki so bili vezani na potekle domene, bi lahko uporabili tudi kot možnost za pridobitev dostopa.

Ogroženi paketi:

  • acmephp/acmephp (124,860 namestitev v življenjski dobi paketa)
  • acmephp/core(419,258)
  • acmephp/ssl (531,692)
  • doctrine/doctrine-cache-bundle (73,490,057)
  • doktrina/doktrina-modul (5,516,721)
  • doktrina/doktrina-mongo-odm-modul (516,441)
  • doktrina/doktrina-orm-modul (5,103,306)
  • doktrina/instanciator (526,809,061)
  • knjiga rasti/knjiga rasti (97,568
  • jdorn/file-system-cache (32,660)
  • jdorn/sql-formatter (94,593,846)
  • khanamiryan/qrcode-detector-decoder (20,421,500)
  • object-calisthenics/phpcs-calisthenics-rules (2,196,380)
  • tga/simhash-php, tgalopin/simhashphp (30,555)

Vir: opennet.ru

Dodaj komentar