Tok kontroll over 14 PHP-biblioteker i Packagist-depotet

Administratorer av Packagist-pakkelageret avslørte detaljer om et angrep som tok kontroll over kontoene til vedlikeholderne av 14 PHP-biblioteker, inkludert populære pakker som instantiator (526 millioner installasjoner totalt, 8 millioner installasjoner per måned, 323 avhengige pakker), sql -formatter (94 millioner totale installasjoner, 800 109 per måned, 73 avhengige pakker), doctrine-cache-bundle (500 mill. totale installasjoner, 348 20 per måned, 400 avhengige pakker) og rcode-detektor-dekoder (66 mill. installasjoner totalt, XNUMX XNUMX per måned, XNUMX avhengige pakker).

Etter at kontoene ble kompromittert, endret angriperen composer.json-filen, og la til i prosjektbeskrivelsesfeltet informasjonen om at han lette etter en jobb relatert til informasjonssikkerhet. For å gjøre en endring i composer.json-filen, erstattet angriperen URL-ene til de originale depotene med lenker til modifiserte gafler (Packagist gir kun metadata med lenker til prosjekter utviklet på GitHub, ved installasjon med "komponistinstallasjon" eller "komponistoppdatering ”-kommandoen, lastes pakkene ned direkte fra GitHub ). For eksempel, for acmephp-pakken, ble det koblede depotet endret fra acmephp/acmephp til neskafe3v1/acmephp.

Angrepet ble tilsynelatende ikke utført for å utføre ondsinnede handlinger, men som en demonstrasjon av utillateligheten av en uforsiktig holdning til bruken av duplikatlegitimasjon på forskjellige nettsteder. Samtidig, i motsetning til den etablerte praksisen med "etisk hacking", varslet ikke angriperen bibliotekutviklere og depotadministratorer på forhånd om eksperimentet. Senere sa angriperen at etter at han klarte å få jobb, ville han publisere en detaljert rapport om metodene som ble brukt i angrepet.

I følge informasjon utgitt av Packagist-administratorer, brukte alle kontoer som administrerer kompromitterte pakker passord som er enkle å bruke, uten å aktivere tofaktorautentisering. Det påstås at de hackede kontoene brukte passord som ikke bare ble brukt i Packagist, men også i andre tjenester hvis passorddatabaser tidligere ble kompromittert og offentliggjort. Å fange e-postene til kontoeiere som var knyttet til utløpte domener kan også brukes som et alternativ for å få tilgang.

Kompromitterte pakker:

  • acmephp/acmephp (124,860 XNUMX installasjoner i løpet av pakkens levetid)
  • acmephp/core(419,258 XNUMX)
  • acmephp/ssl (531,692 XNUMX)
  • doctrine/doctrine-cache-bundle (73,490,057 XNUMX XNUMX)
  • doktrine/doktrine-modul (5,516,721 XNUMX XNUMX)
  • doctrine/doctrine-mongo-odm-module (516,441 XNUMX)
  • doctrine/doctrine-orm-module (5,103,306 XNUMX XNUMX)
  • doktrine/instantiator (526,809,061 XNUMX XNUMX)
  • vekstbok/vekstbok (97,568
  • jdorn/filsystem-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)

Kilde: opennet.ru

Legg til en kommentar