Gli attaccanti sono riusciti ad aggiungere codici dannosi non rilevati nel repository di Plone

Gli sviluppatori del sistema di gestione dei contenuti open-source Plone, scritto in Python e JavaScript/NodeJS, hanno annunciato un incidente che ha visto l'inserimento di codice dannoso nel repository Git del progetto su GitHub. Inizialmente, il repository ha mostrato tre modifiche emerse il 7 gennaio (1, 2, 3) che aggiungevano codice dannoso nei file JavaScript del progetto (1, 2, 3). L'analisi dell'incidente ha rivelato che l'integrazione del codice malevolo è avvenuta a causa della compromissione dell'account di uno degli sviluppatori, il cui token di accesso è stato catturato da malintenzionati dopo che un malware è stato eseguito nel suo sistema.

Il 14 gennaio l'account compromesso è stato bloccato e agli sviluppatori del progetto è stato raccomandato di analizzare i commit dal 1 al 14 gennaio. Il 27 gennaio è emerso che i commit osservati non erano gli unici e l'attacco ha coinvolto cinque repository del progetto (plone/volto, plone/mockup, plone/plone.app.mosaic, plone/critical-css-cli, plone/plonetheme.barceloneta), nei quali era stato silenziosamente integrato codice dannoso. Nel caso del repository plone.app.mosaic, gli attaccanti sono riusciti a sostituire il ramo master. L'attacco è avvenuto due mesi dopo la cattura del token di accesso dello sviluppatore.

Per integrare le modifiche, invece di effettuare normali commit, gli attaccanti hanno utilizzato l'operazione "force push" (git push con l'opzione "--force"), che consente di sostituire forzatamente un ramo nel repository remoto con il proprio contenuto e, di conseguenza, riscrivere la cronologia delle modifiche (dopo la sostituzione, viene mostrata la cronologia del ramo caricato dall'attaccante). Per prevenire tale sostituzione dei rami in futuro, gli sviluppatori di Plone hanno abilitato in GitHub delle regole che bloccano le operazioni di "force push" per i rami principali e i tag.

Nel repository plone.app.mosaic, per rendere più difficile l'individuazione della compromissione, gli attaccanti hanno inserito nel ramo master un commit dannoso, con una data fittizia — 18 dicembre, credendo che l'area di ricerca del codice dannoso si sarebbe concentrata sulle modifiche aggiunte dopo la loro prima attività nel repository. La modifica dannosa è stata presentata nel commit falso come inizio dello sviluppo di una nuova versione di test, ma oltre al cambio del numero di versione nei metadati (da 4.0.0a1 a 4.0.0a2.dev0), nel file javascript chiamato durante il processo di build prettier.config.js è stato aggiunto del codice dannoso. Per nascondere il cambiamento durante la visualizzazione nel terminale, il codice è stato inserito su una sola riga insieme a un'operazione legittima ed è stato spostato fuori dall'area visibile utilizzando spazi. Nell'interfaccia di GitHub, questo codice non è stato mostrato di default e ha richiesto di premere il pulsante "Load Diff".

Gli attaccanti sono riusciti ad aggiungere codici dannosi non rilevati nel repository di Plone

L'attacco era più mirato agli sviluppatori del progetto che agli utenti. Le modifiche dannose non sono state incluse nel rilascio. Il codice malevolo si attivava durante la compilazione, caricava exploit per l'elevazione dei privilegi, impostava l'avvio automatico chiamando i propri processi dagli script di avvio e consentiva la gestione remota. server. Oltre a ciò, il componente malevolo installato cercava e inviava dati riservati, come token di accesso, profili dei browser e chiavi di portafogli crittografici.

Fonte: opennet.ru

Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS | ProHoster