Die Kontrolle über 14 PHP-Bibliotheken im Packagist-Repository wurde übernommen

Die Administratoren des Packagist-Paket-Repositorys haben Informationen über einen Angriff veröffentlicht, bei dem die Konten von Betreuern von 14 PHP-Bibliotheken übernommen wurden, darunter populäre Pakete wie instantiator (526 Millionen Installationen insgesamt, 8 Millionen Installationen im Monat, 323 abhängige Pakete), sql-formatter (94 Millionen Installationen insgesamt, 800 Tausend im Monat, 109 abhängige Pakete), doctrine-cache-bundle (73 Millionen Installationen insgesamt, 500 Tausend im Monat, 348 abhängige Pakete) und rcode-detector-decoder (20 Millionen Installationen insgesamt, 400 Tausend im Monat, 66 abhängige Pakete).

Nach der Kompromittierung der Konten hat der Angreifer die Datei composer.json geändert und im Projektbeschreibungstext hinzugefügt, dass er nach einer Arbeit im Bereich der Informationssicherheit sucht. Um die Änderung in der Datei composer.json vorzunehmen, ersetzte der Angreifer die URLs der Original-Repositorys durch Links zu modifizierten Forks (im Packagist werden nur Metadaten mit Links zu Projekten angeboten, die auf GitHub entwickelt werden; bei der Installation mit dem Befehl „composer install“ oder „composer update“ werden die Pakete direkt von GitHub heruntergeladen). Zum Beispiel wurde für das Paket acmephp das zugehörige Repository von acmephp/acmephp auf neskafe3v1/acmephp geändert.

Offenbar wurde der Angriff nicht für schädliche Zwecke durchgeführt, sondern als Demonstration der Gefahren eines sorglosen Umgangs mit wiederverwendbaren Anmeldedaten auf verschiedenen Websites. Dabei informierte der Angreifer entgegen der gängigen Praxis „ethischer Hacking“ die Bibliotheksentwickler und die Administratoren des Repositorys nicht im Voraus über das durchgeführte Experiment. Später erklärte der Angreifer, dass er einen detaillierten Bericht über die bei dem Angriff verwendeten Methoden veröffentlichen wird, sobald es ihm gelingt, einen Job zu bekommen.

Laut den von den Packagist-Administratoren veröffentlichten Daten wurden in allen Konten, die die kompromittierten Pakete verwalteten, einfache, leicht zu erratende Passwörter verwendet, ohne dass eine Zwei-Faktor-Authentifizierung aktiviert war. Es wird behauptet, dass in den gehackten Konten Passwörter verwendet wurden, die nicht nur in Packagist, sondern auch in anderen Diensten verwendet wurden, deren Passwortdatenbanken zuvor kompromittiert und öffentlich zugänglich gemacht wurden. Eine weitere Möglichkeit, Zugang zu erhalten, könnte eine E-Mail-Übernahme von Kontoinhabern gewesen sein, deren Konten an abgelaufene Domains gebunden waren.

Kompromittierte Pakete:

  • acmephp/acmephp (124.860 Installationen seit Bestehen des Pakets)
  • 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)

Quelle: opennet.ru

60GB SSD 8Gb DDR4