← Tutti gli articoli

Il furto di key di UpdraftCentral consente site takeover di siti WordPress

Il furto di key di UpdraftCentral consente site takeover di siti WordPress

Il furto di key di UpdraftCentral consente a un attaccante di installare software malevolo sui siti WordPress connessi mediante istruzioni che i siti accettano come legittime. Patchstack ha riferito che la campagna è proseguita ininterrottamente per un periodo di 18 ore il 18 e 19 ottobre 2026, con la prima installazione registrata alle 15:32 del 18 ottobre e la più recente alle 09:23 del giorno successivo. Nethemba ha inizialmente rilevato l'attività sulla propria infrastruttura, l'ha analizzata e ha segnalato l'incidente a TeamUpdraft mentre la campagna era ancora in corso.

UpdraftPlus è un plugin di backup per WordPress, ossia un'estensione software aggiunta a un sito web, con oltre quattro milioni di installazioni attive. UpdraftCentral è un servizio separato di remote management il cui client è incluso nelle copie gratuite e premium di UpdraftPlus. Sono esposti soltanto i siti che dispongono di una key UpdraftCentral attiva, ma ciò riguarda tutte le versioni di UpdraftPlus, comprese le release 1.26.11 e 2.26.11.26. Alle 08:00 UTC del 19 ottobre, Patchstack ha dichiarato che l'exploitation era ancora attiva e che non esisteva alcuna correzione del vendor. Alle 13:00 UTC, TeamUpdraft ha pubblicato un post sull'incidente di sicurezza descrivendo quanto era accaduto e le azioni intraprese fino a quel momento.

Si tratta di un credential compromise e non di una software vulnerability, quindi non ha alcun identificatore CVE e nessun aggiornamento del plugin blocca l'attacco. Quando un sito viene connesso, genera un RSA key pair, cioè due credenziali digitali collegate matematicamente utilizzate per verificare le istruzioni, e memorizza la public key della dashboard. La private key corrispondente rimane nel servizio UpdraftCentral Cloud. Qualsiasi comando che contenga una firma valida generata da tale private key viene eseguito con i permessi dell'utente che ha stabilito la connessione, senza che qualcuno debba approvare ogni singola istruzione.

Una key può essere creata collegando un sito direttamente a una dashboard UpdraftCentral. Può essere creata anche quando si collega un account TeamUpdraft.com. La schermata di tale account include un'opzione per aggiungere il sito web a UpdraftCentral, così da controllare centralmente fino a cinque siti, e l'opzione è selezionata per impostazione predefinita. Compare soltanto quando un sito non dispone già di una key. Di conseguenza, alcuni siti web potrebbero conservare credenziali attive anche se i proprietari hanno utilizzato UpdraftPlus esclusivamente per i backup e non hanno scelto consapevolmente il remote management. Patchstack ha scoperto che le credenziali emesse nel novembre 2025 funzionavano ancora nell'ottobre 2026 perché non scadono.

L'attaccante invia un comando plugin.upload_plugin correttamente firmato attraverso il canale remote procedure call, un meccanismo che consente a un sistema di impartire istruzioni a un altro tramite una rete. Il comando arriva come una normale POST request, ossia un metodo standard per inviare informazioni a un sito web, all'indirizzo principale del sito. WordPress installa e attiva quindi il plugin fornito attraverso il proprio installer standard. Non è necessario un login separato perché le credenziali rubate della dashboard superano i controlli di autenticazione del plugin.

Nethemba ha rilevato che i siti interessati disponevano di file UpdraftPlus ufficiali, fingerprint delle credenziali rimasti invariati in diversi giorni di backup, cryptography funzionante e nessun administrator non autorizzato o upload convenzionale di plugin registrato nei log. Inoltre, le request ostili provenivano dall'esterno dell'infrastruttura del vendor e non contenevano la versione della library e l'URL presenti nel normale traffico della dashboard. Secondo Patchstack, queste prove indicano una fuga di credenziali dall'ambiente UpdraftCentral Cloud. TeamUpdraft non aveva fornito una spiegazione quando è stato pubblicato l'articolo iniziale di Patchstack.

Ogni plugin installato contiene una backdoor, un metodo nascosto per riprendere il controllo di un sito web. Esamina ogni request alla ricerca di un parametro segreto nell'indirizzo contenente un token di 32 caratteri. Quando viene fornito tale token, il codice crea un account WordPress con una password fissa e lo contrassegna come Editor. Successivamente assegna separatamente all'account manage_options e install_plugins, permessi che consentono di modificare impostazioni importanti, installare codice eseguibile tramite plugin e ottenere la promozione all'accesso completo da administrator. La backdoor effettua il login del visitatore inserendo direttamente un cookie persistente nel browser e lo reindirizza a wp-admin. In questo modo evita la normale schermata di login, perciò two-factor authentication, limiti ai tentativi di accesso e plugin di protezione del login non vengono attivati.

La sola rimozione del plugin malevolo non elimina l'account né la sua password nota. I sample analizzati contenevano inoltre un errore di programmazione che provocava una HTTP 500 response, un errore che indica che il sito web non è riuscito a elaborare una request, prima dell'esecuzione del controllo del token segreto. Ciò causava il malfunzionamento di ogni pagina non presente nella cache e ha aiutato alcune vittime a notare il problema nel giro di pochi minuti. I proprietari dei siti non devono correggere il codice difettoso, perché così facendo attiverebbero la backdoor. Devono invece rimuoverlo in sicurezza.

Patchstack ha registrato installazioni su un'ampia varietà di siti. Alcuni plugin sono stati installati ma non attivati, apparentemente perché l'account che aveva creato la connessione UpdraftCentral non disponeva del permesso per attivarli; tali siti devono comunque essere considerati interessati. Le request provenivano da 43.250.53.42 e 2a09:bac5:4e21:2e3c::49b:9, ma l'infrastruttura è cambiata nel giro di un giorno, rendendo inefficace il blocco degli indirizzi. I ricercatori hanno osservato 99 nomi di plugin. “Site Health Cache” compariva ripetutamente, mentre la maggior parte degli altri nomi era costituita da combinazioni casuali di due o tre parole. Ogni sample utilizzava la descrizione “Piccolo toolkit di manutenzione: mantiene ordinata la memorizzazione delle opzioni”.

L'account malevolo è nascosto tra gli Editor anziché tra gli administrator. Tra gli username confermati figurano data-ops43 e media-staff96, ma è necessario aspettarsi anche altri nomi. Ulteriori indicatori includono uno username composto da due parole seguite da due cifre, un indirizzo che termina con @example.org, il display name “Site Tools” e un'opzione del database che termina con _sync_token. I log di UpdraftCentral potrebbero mostrare probe.central.updraftplus.com seguito da Command received: plugin.upload_plugin. Anche email di errore relative a plugin non riconosciuti o installazioni senza una corrispondente azione di un administrator costituiscono segnali di allarme.

Gli administrator possono verificare l'esposizione con `wp option get updraft_central_localkeys`; qualsiasi output indica che è memorizzata una credenziale. Nella dashboard di WordPress, è possibile rimuoverla selezionando Settings, UpdraftPlus Backups, Advanced Tools, UpdraftCentral, quindi “Manage existing keys” ed eliminando ogni voce. L'alternativa da command line è `wp option delete updraft_central_localkeys`. Rimuovere un sito web soltanto dalla dashboard remota non è sufficiente, perché la credenziale pertinente rimane memorizzata sul sito. La sua eliminazione interrompe il remote management, ma non i backup pianificati. Patchstack sconsiglia di ristabilire la connessione finché non sarà stata spiegata la causa.

Se è presente una backdoor, eliminare prima la credenziale UpdraftCentral per impedire all'attaccante di inviare una versione sostitutiva corretta. Disattivare il plugin e spostarlo fuori dalla cartella accessibile dal web anziché eliminarlo tramite wp-admin, perché la sua routine di disinstallazione rimuove le tracce. Eliminare l'account associato e l'opzione _sync_token.

Disponibile anche in: EnglishDeutschShqip