Gli attaccanti sono riusciti ad aggiungere codice malevolo non rilevato 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 in cui è stato aggiunto codice dannoso al repository git del progetto su GitHub. Inizialmente nel repository sono state individuate tre modifiche apparse 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 dannoso era stata effettuata a seguito della compromissione dell'account di uno degli sviluppatori, il cui token di accesso era stato catturato da malintenzionati dopo l'esecuzione di malware nel suo sistema.

Il 14 gennaio l'account compromesso è stato bloccato e agli sviluppatori del progetto è stato consigliato di analizzare i commit dal 1 al 14 gennaio. Il 27 gennaio è emerso che i commit osservati non erano gli unici e l'attacco aveva colpito cinque repository del progetto (plone/volto, plone/mockup, plone/plone.app.mosaic, plone/critical-css-cli, plone/plonetheme.barceloneta), in cui è stato integrato in modo invisibile codice dannoso. Nel caso del repository plone.app.mosaic, gli attaccanti sono riusciti a sostituire il branch master. L'attacco è stato effettuato due mesi dopo la cattura del token di accesso dello sviluppatore.

Per integrare le modifiche, invece dei normali commit, gli attaccanti hanno utilizzato l'operazione 'force push' (git push con l'opzione '--force'), che consente di sostituire forzatamente un branch nel repository esterno con il proprio contenuto e, di conseguenza, di riscrivere la cronologia delle modifiche (dopo la sostituzione viene visualizzata la cronologia del branch caricato dagli attaccanti). Per prevenire future sostituzioni di branch, gli sviluppatori di Plone hanno abilitato su GitHub regole che bloccano le operazioni di 'force push' per i branch principali e i tag.

Nel repository plone.app.mosaic, per complicare l'identificazione della compromissione, gli attaccanti hanno inserito un commit malevolo nel ramo master, con una data fittizia – 18 dicembre, pensando che l'area di ricerca del codice malevolo si concentrasse sulle modifiche aggiunte dopo la loro prima attività nel repository. La modifica malevola era presentata nel commit sostituito come l'inizio dello sviluppo di una nuova versione di test, ma oltre alla modifica del numero di versione nei metadati (da 4.0.0a1 a 4.0.0a2.dev0), è stato aggiunto codice malevolo al file javascript chiamato durante la fase di build‎ prettier.config.js. Per nascondere la modifica durante la visualizzazione nel terminale, il codice è stato inserito in una sola riga con un'operazione legittima e spostato dall'area visibile utilizzando spazi. Nell'interfaccia di GitHub, questo codice non veniva mostrato di default e richiedeva di premere il pulsante “Load Diff”.

Gli attaccanti sono riusciti ad aggiungere codice malevolo non rilevato nel repository di Plone.

L'attacco era più rivolto agli sviluppatori del progetto che agli utenti. Le modifiche malevole non sono state incluse nel rilascio. Il codice malevolo si attivava durante la build, caricava exploit per l'escalation dei privilegi, impostava l'avvio automatico richiamando i propri processi dagli script di avvio e permetteva la gestione remota. server. Inoltre, il componente malevolo installato cercava e inviava dati riservati, come token di accesso, profili dei browser e chiavi per portafogli crittografici.

Fonte: opennet.ru

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