Ha preso il controllo di 14 librerie PHP nel repository Packagist

Gli amministratori del repository di pacchetti Packagist hanno divulgato informazioni su un attacco che ha portato al controllo degli account delle 14 librerie PHP associate, inclusi pacchetti popolari come instantiator (526 milioni di installazioni in totale, 8 milioni di installazioni al mese, 323 pacchetti dipendenti), sql -formatter (94 milioni di installazioni totali, 800mila al mese, 109 pacchetti dipendenti), dottrine-cache-bundle (73 milioni di installazioni totali, 500mila al mese, 348 pacchetti dipendenti) e rcode-detector-decoder (20 milioni di installazioni totali, 400mila al mese, 66 pacchi a carico).

Dopo aver compromesso gli account, l'aggressore ha modificato il file compositer.json, aggiungendo nel campo della descrizione del progetto l'informazione che stava cercando un lavoro legato alla sicurezza informatica. Per apportare modifiche al file compositer.json, l'aggressore ha sostituito gli URL dei repository originali con collegamenti a fork modificati (Packagist fornisce solo metadati con collegamenti a progetti sviluppati su GitHub; durante l'installazione con "composer install" o "composer update" comando, i pacchetti vengono scaricati direttamente da GitHub ). Ad esempio, per il pacchetto acmephp, il repository collegato è stato modificato da acmephp/acmephp a neskafe3v1/acmephp.

A quanto pare, l'attacco è stato effettuato non per commettere azioni dannose, ma per dimostrare l'inammissibilità di un atteggiamento negligente nei confronti dell'utilizzo di credenziali duplicate su diversi siti. Allo stesso tempo, l’aggressore, contrariamente alla pratica consolidata dell’“hacking etico”, non ha informato in anticipo gli sviluppatori della libreria e gli amministratori del repository dell’esperimento in corso. L'aggressore ha poi annunciato che, una volta ottenuto l'incarico, avrebbe pubblicato un rapporto dettagliato sui metodi utilizzati nell'attacco.

Secondo i dati pubblicati dagli amministratori di Packagist, tutti gli account che gestivano i pacchetti compromessi utilizzavano password facili da indovinare senza abilitare l'autenticazione a due fattori. Si presume che gli account compromessi utilizzassero password utilizzate non solo in Packagist, ma anche in altri servizi, i cui database delle password erano stati precedentemente compromessi e resi pubblici. Anche l'acquisizione delle e-mail dei proprietari di account collegati a domini scaduti potrebbe essere utilizzata come opzione per ottenere l'accesso.

Pacchetti compromessi:

  • acmephp/acmephp (124,860 installazioni per tutta la vita del pacchetto)
  • acmephp/core (419,258)
  • acmephp/ssl (531,692)
  • pacchetto dottrina/cache-dottrina (73,490,057)
  • modulo dottrina/dottrina (5,516,721)
  • modulo-dottrina/dottrina-mongo-odm (516,441)
  • modulo dottrina/dottrina-orm (5,103,306)
  • dottrina/istanziatore (526,809,061)
  • librodellacrescita/librodellacrescita (97,568
  • jdorn/file-system-cache (32,660)
  • formattatore jdorn/sql (94,593,846)
  • khanamiryan/qrcode-detector-decoder (20,421,500)
  • oggetto-calisthenics/phpcs-calisthenics-rules (2,196,380)
  • tga/simhashphp, tgalopin/simhashphp (30,555)

Fonte: opennet.ru

Aggiungi un commento