Va prendre el control de 14 biblioteques PHP al repositori Packagist

Els administradors del dipòsit de paquets Packagist van revelar informació sobre un atac que va donar lloc al control dels comptes de les 14 biblioteques PHP que l'acompanyen, inclosos paquets tan populars com l'instanciador (526 milions d'instal·lacions en total, 8 milions d'instal·lacions al mes, 323 paquets dependents), sql -formatter (94 milions d'instal·lacions totals, 800 mil per mes, 109 paquets dependents), doctrine-cache-bundle (73 milions d'instal·lacions totals, 500 mil per mes, 348 paquets dependents) i rcode-detector-decoder (20 milions d'instal·lacions totals, 400 mil al mes, 66 paquets dependents).

Després de comprometre els comptes, l'atacant va modificar el fitxer composer.json, afegint informació al camp de descripció del projecte que buscava una feina relacionada amb la seguretat de la informació. Per fer canvis al fitxer composer.json, l'atacant va substituir els URL dels dipòsits originals per enllaços a forquilles modificades (Packagist només proporciona metadades amb enllaços a projectes desenvolupats a GitHub; quan s'instal·la amb la "instal·lació del compositor" o "actualització del compositor" comanda, els paquets es descarreguen directament de GitHub). Per exemple, per al paquet acmephp, el repositori enllaçat es va canviar d'acmephp/acmephp a neskafe3v1/acmephp.

Pel que sembla, l'atac no es va dur a terme per cometre accions malicioses, sinó com a demostració de la inadmisibilitat d'una actitud descuidada envers l'ús de credencials duplicades en diferents llocs. Al mateix temps, l'atacant, contràriament a la pràctica establerta de "pirateria ètica", no va notificar amb antelació als desenvolupadors de la biblioteca i als administradors del dipòsit sobre l'experiment que s'estava duent a terme. Més tard, l'atacant va anunciar que després d'aconseguir la feina, publicaria un informe detallat sobre els mètodes utilitzats en l'atac.

Segons les dades publicades pels administradors de Packagist, tots els comptes que gestionaven els paquets compromesos utilitzaven contrasenyes fàcils d'endevinar sense habilitar l'autenticació de dos factors. S'al·lega que els comptes piratejats utilitzaven contrasenyes que s'utilitzaven no només a Packagist, sinó també en altres serveis, les bases de dades de contrasenyes dels quals anteriorment estaven compromeses i estaven disponibles públicament. La captura dels correus electrònics dels propietaris del compte que estaven enllaçats a dominis caducats també es podria utilitzar com a opció per accedir-hi.

Paquets compromesos:

  • acmephp/acmephp (124,860 instal·lacions durant tota la vida útil del paquet)
  • acmephp/core (419,258)
  • acmephp/ssl (531,692)
  • doctrine/doctrine-cache-bundle (73,490,057)
  • doctrine/doctrine-mòdul (5,516,721)
  • doctrine/doctrine-mongo-odm-mòdul (516,441)
  • doctrine/doctrine-orm-mòdul (5,103,306)
  • doctrina/instanciador (526,809,061)
  • Llibre de creixement/llibre de creixement (97,568
  • jdorn/file-system-cache (32,660)
  • jdorn/sql-formatter (94,593,846)
  • khanamiryan/decodificador-detector-qrcode (20,421,500)
  • object-calisthenics/phpcs-calisthenics-regles (2,196,380)
  • tga/simhash-php, tgalopin/simhashphp (30,555)

Font: opennet.ru

Afegeix comentari