Controle genomen over 14 PHP-bibliotheken in de Packagist-repository

Beheerders van de Packagist-pakketrepository hebben informatie vrijgegeven over een aanval die resulteerde in controle over de accounts van de bijbehorende 14 PHP-bibliotheken, waaronder populaire pakketten als instantiator (526 miljoen installaties in totaal, 8 miljoen installaties per maand, 323 afhankelijke pakketten), sql -formatter (94 miljoen totale installaties, 800 duizend per maand, 109 afhankelijke pakketten), doctrine-cache-bundle (73 miljoen totale installaties, 500 duizend per maand, 348 afhankelijke pakketten) en rcode-detector-decoder (20 miljoen totale installaties, 400 duizend per maand, 66 afhankelijke pakketten).

Nadat de aanvaller de accounts had gecompromitteerd, wijzigde hij het bestand composer.json en voegde in het projectbeschrijvingsveld informatie toe dat hij op zoek was naar een baan met betrekking tot informatiebeveiliging. Om wijzigingen aan te brengen in het composer.json-bestand heeft de aanvaller de URL's van de oorspronkelijke repository's vervangen door links naar gewijzigde forks (Packagist biedt alleen metadata met links naar projecten die op GitHub zijn ontwikkeld; bij installatie met de "composer install" of "composer update" commando, pakketten worden rechtstreeks gedownload van GitHub). Voor het acmephp-pakket is de gekoppelde repository bijvoorbeeld gewijzigd van acmephp/acmephp in neskafe3v1/acmephp.

Blijkbaar is de aanval niet uitgevoerd om kwaadaardige acties te ondernemen, maar als demonstratie van de ontoelaatbaarheid van een onzorgvuldige houding ten opzichte van het gebruik van dubbele inloggegevens op verschillende sites. Tegelijkertijd heeft de aanvaller, in tegenstelling tot de gevestigde praktijk van ‘ethisch hacken’, de bibliotheekontwikkelaars en repositorybeheerders niet vooraf op de hoogte gesteld van het experiment dat werd uitgevoerd. De aanvaller kondigde later aan dat hij, nadat hij erin was geslaagd de baan te krijgen, een gedetailleerd rapport zou publiceren over de methoden die bij de aanval waren gebruikt.

Volgens gegevens gepubliceerd door Packagist-beheerders gebruikten alle accounts die de gecompromitteerde pakketten beheerden gemakkelijk te raden wachtwoorden zonder tweefactorauthenticatie in te schakelen. Er wordt beweerd dat de gehackte accounts wachtwoorden gebruikten die niet alleen in Packagist werden gebruikt, maar ook in andere diensten, waarvan de wachtwoorddatabases eerder waren gecompromitteerd en openbaar beschikbaar kwamen. Het vastleggen van de e-mails van accounteigenaren die waren gekoppeld aan verlopen domeinen zou ook kunnen worden gebruikt als een optie om toegang te krijgen.

Gecompromitteerde pakketten:

  • acmephp/acmephp (124,860 installaties gedurende de gehele levensduur van het pakket)
  • acmephp/core (419,258)
  • acmephp/ssl (531,692)
  • doctrine/doctrine-cache-bundel (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)
  • groeiboek/groeiboek (97,568
  • jdorn/bestandssysteemcache (32,660)
  • jdorn/sql-formatter (94,593,846)
  • khanamiyan/qrcode-detector-decoder (20,421,500)
  • object-calisthenics/phpcs-calisthenics-regels (2,196,380)
  • tga/simhash-php, tgalopin/simhashphp (30,555)

Bron: opennet.ru

Voeg een reactie