Przejęto kontrolę nad 14 bibliotekami PHP w repozytorium Packagist.

Administratorzy repozytorium pakietów Packagist ujawnili szczegóły ataku, w wyniku którego przejęto kontrolę nad kontami opiekunów 14 bibliotek PHP, w tym tak popularnych pakietów, jak instantiator (526 mln instalacji w sumie, 8 mln instalacji w miesiącu, 323 pakiety zależne), sql-formatter (94 mln instalacji w sumie, 800 tys. w miesiącu, 109 pakietów zależnych), doctrine-cache-bundle (73 mln instalacji w sumie, 500 tys. w miesiącu, 348 pakietów zależnych) oraz rcode-detector-decoder (20 mln instalacji w sumie, 400 tys. w miesiącu, 66 pakietów zależnych).

Po skompromitowaniu kont napastnik zmienił plik composer.json, dodając w polu opisu projektu informację, że poszukuje pracy związanej z bezpieczeństwem informacji. Aby wprowadzić zmiany w pliku composer.json, napastnik zamienił adresy URL oryginalnych repozytoriów na linki do zmodyfikowanych forów (wPackagist dostarczane są jedynie metadane z linkami do projektów rozwijanych na GitHubie, a podczas instalacji pakietów za pomocą polecenia „composer install” lub „composer update” pakiety są pobierane bezpośrednio z GitHub). Na przykład dla pakietu acmephp powiązane repozytorium zostało zmienione z acmephp/acmephp na neskafe3v1/acmephp.

Wydaje się, że atak nie miał na celu przeprowadzania złośliwych działań, ale był przykładem niedopuszczalnego lekkomyślnego podejścia do używania tych samych danych logowania na różnych stronach. Napastnik, wbrew praktyce „etycznych hacków”, nie powiadomił z wyprzedzeniem twórców bibliotek ani administratorów repozytorium o przeprowadzanym eksperymencie. Później napastnik ogłosił, że po uzyskaniu pracy opublikuje szczegółowy raport na temat metod zastosowanych w ataku.

Zgodnie z informacjami opublikowanymi przez administratorów Packagist, we wszystkich kontach zarządzających skompromitowanymi pakietami używano łatwych do odgadnięcia haseł bez włączenia dwuetapowej weryfikacji. Twierdzi się, że w skradzionych kontach użyto haseł, które były stosowane nie tylko w Packagist, ale i w innych serwisach, których bazy haseł zostały wcześniej skompromitowane i trafiły do publicznego dostępu. Możliwą metodą uzyskania dostępu mogło być również przejęcie adresów e-mail właścicieli kont, które były powiązane z wygasłymi domenami.

Skonfiskowane pakiety:

  • acmephp/acmephp (124 860 instalacji od początku istnienia pakietu)
  • acmephp/core (419 258)
  • acmephp/ssl (531 692)
  • doctrine/doctrine-cache-bundle (73 490 057)
  • doctrine/doctrine-module (5 516 721)
  • doctrine/doctrine-mongo-odm-module (516 441)
  • doctrine/doctrine-orm-module (5 103 306)
  • doctrine/instantiator (526 809 061)
  • growthbook/growthbook (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)

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster