Contrôle intercepté sur 14 bibliothèques PHP dans le référentiel Packagist

Les administrateurs du dépôt de paquets Packagist ont révélé des informations sur une attaque qui a conduit à la prise de contrôle des comptes de mainteneurs de 14 bibliothèques PHP, y compris des paquets populaires tels que instantiator (526 millions d'installations au total, 8 millions d'installations par mois, 323 paquets dépendants), sql-formatter (94 millions d'installations au total, 800 000 par mois, 109 paquets dépendants), doctrine-cache-bundle (73 millions d'installations au total, 500 000 par mois, 348 paquets dépendants) et rcode-detector-decoder (20 millions d'installations au total, 400 000 par mois, 66 paquets dépendants).

Après la compromission des comptes, l'attaquant a modifié le fichier composer.json, ajoutant dans le champ de description du projet qu'il recherchait un emploi dans le domaine de la sécurité informatique. Pour effectuer cette modification dans le fichier composer.json, l'attaquant a remplacé l'URL des dépôts d'origine par des liens vers des forks modifiés (Packagist ne fournit que des métadonnées avec des liens vers des projets développés sur GitHub, lors de l'exécution de la commande « composer install » ou « composer update », les paquets sont téléchargés directement depuis GitHub). Par exemple, pour le paquet acmephp, le dépôt lié a été remplacé de acmephp/acmephp à neskafe3v1/acmephp.

Apparemment, l'attaque n'a pas été réalisée dans un but malveillant, mais en tant que démonstration de l'inadéquation de l'utilisation imprudente de mots de passe répétitifs sur différents sites. De plus, l'attaquant, contrairement à la pratique établie des « hacks éthiques », n'a pas prévenu les développeurs des bibliothèques et les administrateurs du dépôt à l'avance au sujet de l'expérience conduite. Plus tard, l'attaquant a déclaré que, une fois qu'il aurait réussi à décrocher un emploi, il publierait un rapport détaillé sur les méthodes utilisées lors de l'attaque.

Selon les données publiées par les administrateurs de Packagist, tous les comptes gérant les paquets compromis utilisaient des mots de passe faciles à deviner sans avoir activé l'authentification à deux facteurs. Il est affirmé que les mots de passe des comptes piratés étaient utilisés non seulement sur Packagist, mais également sur d'autres services, dont les bases de mots de passe avaient été précédemment compromises et divulguées publiquement. Comme option d'accès, la capture de l'email des propriétaires des comptes liés à des domaines expirés a également pu être utilisée.

Paquets compromis :

  • acmephp/acmephp (124 860 installations au total)
  • 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)

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster