
Operazione backdoor WordPress smascherata da un server aperto
Un server aperto e dimenticato ha esposto un'operazione di backdoor su WordPress che sfruttava vulnerabilità di plugin obsoleti per compromettere migliaia di siti; i proprietari dovrebbero applicare le patch e cercare webshell nascoste.
Un gruppo criminale informatico che installava backdoor nascoste su siti WordPress e Joomla ha lasciato uno dei propri server completamente aperto su internet per 22 giorni, esponendo gli strumenti, le liste di obiettivi e i registri di attività dietro un'operazione di hacking di massa. I ricercatori di SOCRadar e Ctrl-Alt-Intel hanno analizzato indipendentemente la stessa cartella esposta, e i loro rapporti mostrano come il gruppo, ora tracciato come WP-SHELLSTORM, gestiva un brokeraggio di accesso tramite webshell: violava siti su larga scala, installava una webshell nascosta su ciascuno e rivendeva quell'accesso.
Il server esposto era una macchina noleggiata all'indirizzo IP 137.175.93[.]126 negli Stati Uniti. Il team di threat intelligence di SOCRadar lo ha individuato l'11 giugno 2026 e ha trovato circa 800 megabyte distribuiti su 434 file, tra cui webshell, script di exploit, risultati di scansioni, la cronologia dei comandi digitati dall'operatore e impostazioni di command-and-control. Ctrl-Alt-Intel aveva già analizzato la stessa directory dopo averla trovata sulla piattaforma open-directory di Hunt.io e aveva pubblicato i suoi risultati il 22 giugno, settimane prima del rapporto di SOCRadar del 9 luglio. L'esposizione è derivata da un errore banale: l'operatore ha avviato un semplice server web Python per spostare file e lo ha lasciato in esecuzione, senza alcuna password, per 22 giorni.
Il metodo del gruppo non era sofisticato. Prendeva vulnerabilità pubblicamente note nei plugin dei siti web, per la maggior parte plugin WordPress, e costruiva scanner automatizzati per lanciare quegli exploit contro enormi liste di obiettivi estratte da FOFA, un motore di ricerca cinese per sistemi connessi a internet simile a Shodan. Quando un sito eseguiva una versione vulnerabile, l'exploit poteva caricare una webshell, un piccolo script che consente a un attaccante di eseguire comandi sul server, leggere file, rubare password e muoversi più in profondità nella rete. Il toolkit copriva 27 vulnerabilità note, ma una manciata faceva la maggior parte del lavoro. Il maggiore responsabile era un bug nel plugin di caching Breeze per WordPress, tracciato come CVE-2026-3844. Il gruppo lo ha puntato contro più di 45.000 obiettivi e, secondo il suo stesso conteggio, ne ha compromessi oltre 17.000. Quella vulnerabilità funziona solo quando è attiva un'impostazione non predefinita chiamata "Host Files Locally - Gravatars", quindi la maggior parte delle installazioni di Breeze non è mai stata esposta.
I numeri degli obiettivi principali richiedono una precisazione. La cifra di 1,4 milioni è il numero di domini presenti nelle liste di obiettivi, non il numero di siti violati, e quelle liste comprendevano WordPress, Joomla e altre piattaforme. Il singolo file più grande conteneva 587.034 obiettivi Joomla. Il numero effettivamente compromesso era molto inferiore, e i due team di ricerca lo hanno misurato in modo diverso. Il conteggio deduplicato di Ctrl-Alt-Intel ha trovato 25.195 siti con prove di compromissione confermate o validate, mentre SOCRadar, contando le webshell attive, ha indicato la cifra reale in oltre 5.700. Una vulnerabilità mostra chiaramente il divario: un bug di Joomla è stato lanciato contro più di 560.000 obiettivi ma ha colpito solo 77 di essi. Essere nella lista di scansione di qualcuno non equivale a essere stati violati.
La backdoor principale era un file chiamato down.php, pesantemente offuscato con quattro livelli di protezione e apparentemente derivato da una webshell cinese open source chiamata BestShell. Una volta in esecuzione, poteva gestire file, eseguire comandi, aprire reverse shell, scansionare la rete locale e verificare quale software di sicurezza fosse in esecuzione sull'host. Per l'accesso remoto del gruppo stesso, un dropper SNOWLIGHT installava VShell, una backdoor furtiva che camuffa il nome del suo processo come [kworker/0:2], imitando i thread del kernel per confondersi in un elenco di processi. Nell'aprile 2025, Sysdig ha collegato questa catena SNOWLIGHT-VShell al presunto gruppo statale cinese UNC5174, ma VShell è uno strumento comune negli ambienti criminali di lingua cinese, quindi la sua sola presenza non indica un attore statale.
Il server conteneva anche tracce di una campagna precedente e più silenziosa. SOCRadar ha scoperto che all'inizio di maggio 2026, prima della rumorosa raffica su WordPress, lo stesso gruppo aveva preso di mira sistemi Java aziendali. Ha estratto 613 file di configurazione da 11 sistemi in nove aziende nei settori fintech, e-commerce, logistica, gaming ed elettronica. I dati rubati includevano chiavi di accesso cloud per AWS, Alibaba Cloud, il cloud di un importante fornitore di software aziendale, Tencent e DigitalOcean, password di database e chiavi private RSA di Alipay. Quella campagna ha usato CVE-2021-29441, una vulnerabilità vecchia e ben nota in Nacos, un server di configurazione, che consente a un attaccante di saltare il login falsificando un singolo header web. SOCRadar interpreta la tempistica come una sequenza: prima raccogliere credenziali aziendali di alto valore, poi passare settimane dopo a un lavoro di backdoor su larga scala, un giro di finanziamento prima di aumentare la scala.
Entrambi i team di ricerca valutano con confidenza da media ad alta che l'operatore sia cinese o di lingua cinese. Indicano il cinese semplificato fluente in tutto il codice e nella cronologia dei comandi, l'uso di FOFA, che secondo i ricercatori richiede un numero di telefono cinese per registrarsi, e strumenti come Godzilla e VShell preferiti nei forum di lingua cinese. SOCRadar va oltre e interpreta il gruppo come motivato da interessi finanziari piuttosto che diretto da uno stato. I nomi trovati nei file, tance, chen-kk e chenyk, sono trattati come indizi vaghi e non come prove. Un dettaglio irrisolto spicca: un singolo indirizzo IP a Taiwan ha effettuato più di 42.000 richieste scaricando gli strumenti del gruppo stesso. Potrebbe essere un secondo operatore, un cliente o un altro ricercatore; i registri non possono stabilirlo. Per un gruppo che gestiva una toolchain capace, il gruppo è stato negligente. Ha lasciato il server aperto, ha lasciato un file di configurazione FOFA che FOFA può tracciare attraverso il suo canale per le forze dell'ordine, e ha lasciato una cronologia dei comandi non modificata che ha rivelato l'intera operazione. Quando finalmente si è accorto di essere stato individuato, tra il 2 e il 4 luglio, ha cancellato una serie di righe di log, tre settimane troppo tardi. L'errore è familiare: nel marzo 2026, lo stesso centro di ricerca ha scoperto Fancy Bear della Russia, noto anche come APT28, nello stesso modo, quando una directory aperta dimenticata ha fatto trapelare gli strumenti di phishing e i log del gruppo in una campagna che Hunt.io ha chiamato Operation Roundish.
Cosa dovrebbero fare ora i proprietari dei siti? Se gestite uno dei software presi di mira, controllatelo oggi. Non sono bug oscuri: Wordfence ha tracciato decine di migliaia di attacchi bloccati contro la vulnerabilità di Everest Forms Pro, CVE-2026-3300, questa primavera, e il bug dell'editor JCE di Joomla, CVE-2026-48907, è una vulnerabilità di gravità massima che la CISA ha aggiunto alla sua lista delle vulnerabilità note sfruttate. Applicate la patch a Breeze versione 2.4.5 o successiva se è attiva l'impostazione non predefinita "Host Files Locally - Gravatars"; è quella che ha prodotto il maggior numero di backdoor in questo caso. Trattate la vulnerabilità di Joomla JCE, corretta nella versione 2.9.99.5, come urgente perché è di gravità massima e attivamente sfruttata, anche se in questa campagna ha avuto poco successo. Controllate anche altri plugin con vulnerabilità note: ThemeREX Addons (CVE-2026-1969), Simple File List (CVE-2020-36847; l'ID valido, non il CVE-2025-34085 ora respinto), Custom CSS JS PHP (CVE-2026-6433), BerqWP (CVE-2025-7443), upload di Ninja Forms (CVE-2026-0740), WavePlayer (CVE-2025-12057), WPBookit (CVE-2025-7852) e WP File Manager (CVE-2020-25213). Per Nacos, aggiornate alla versione 2.2.1 o successiva e attivate l'autenticazione con l'impostazione nacos.core.auth.enabled=true; se la vostra istanza è stata esposta, ruotate ogni credenziale che si trovava al suo interno. Per XXL-Job e Spring Boot, chiudete gli endpoint executor non autenticati e disattivate /actuator/heapdump in produzione. Cercate le backdoor cercando i pattern dei nomi dei file webshell del gruppo, come .bd.php, .wp-log.php e .brq-*.php, poi controllate qualsiasi processo chiamato [kworker/X:Y]. Un vero thread del kernel non esegue alcun programma proprio, quindi il suo /proc//exe non punta a nulla; un [kworker] che ha una riga di comando o socket di rete è un impostore. Bloccate l'infrastruttura nota: 137.175.93[.]126, 43.108.17[.]80 e il dominio xs.xxooonline[.]eu[.]cc.
Per i proprietari di siti web, AEU Hosting offre hosting WordPress gestito che è protetto end to end, il che può aiutare a mantenere i plugin aggiornati e ridurre l'esposizione a vulnerabilità come queste, ma non può sostituire un controllo post-incidente per backdoor che potrebbero già essere presenti su un sito. L'operazione WP-SHELLSTORM è importante non perché sia avanzata, ma perché è ordinaria. Exploit pubblici, scansione automatizzata e una lista di obiettivi lunga un milione di righe sono stati sufficienti per compromettere siti su larga scala, senza bisogno di alcun zero-day. I dettagli sono pubblici solo perché il gruppo ha dimenticato di chiudere il proprio server.
Come Proteggerti
- Se gestisci un sito WordPress o Joomla, aggiornalo oggi stesso insieme a tutti i componenti aggiuntivi (plugin) all'ultima versione, in particolare Breeze e JCE Editor se li usi.
- Se usi il plugin Breeze, disattiva l'impostazione "Host Files Locally - Gravatars" a meno che tu non ne abbia davvero bisogno, perché può aprire la porta a questo attacco.
- Cerca nei file del tuo sito i nomi sospetti menzionati nell'articolo, come .bd.php, .wp-log.php o .brq-*.php, e chiedi al tuo provider di hosting di rimuovere quelli che non dovrebbero esserci.
- Cambia ogni password e chiave segreta del tuo sito e dei servizi collegati se pensi che il tuo sito possa essere stato violato.
- Chiedi al tuo provider di hosting o usa un componente aggiuntivo di sicurezza per scansionare il tuo sito alla ricerca di backdoor nascoste, non solo di malware normale.
- Se gestisci un sistema Nacos, XXL-Job o Spring Boot, aggiornalo alla versione corretta e attiva il login, e sostituisci tutte le credenziali memorizzate.
Vulnerabilità e Soluzioni
- CVE-2020-25213 A flaw in the WP File Manager WordPress plugin; update to the patched version. Vedi la soluzione e i dettagli →
- CVE-2020-36847 A flaw in the Simple File List WordPress plugin; the valid identifier replacing rejected duplicate CVE-2025-34085. Vedi la soluzione e i dettagli →
- CVE-2021-29441 An authentication bypass in Nacos; fixed in version 2.2.1 or later with authentication enabled. Vedi la soluzione e i dettagli →
- CVE-2025-12057 A flaw in the WavePlayer WordPress plugin; update to the patched version. Vedi la soluzione e i dettagli →
- CVE-2025-34085 A now-rejected duplicate identifier for Simple File List; use CVE-2020-36847. Vedi la soluzione e i dettagli →
- CVE-2025-7443 A flaw in the BerqWP WordPress plugin; update to the patched version. Vedi la soluzione e i dettagli →
- CVE-2025-7852 A flaw in the WPBookit WordPress plugin; update to the patched version. Vedi la soluzione e i dettagli →
- CVE-2026-0740 A flaw in Ninja Forms file uploads; update or apply the vendor fix. Vedi la soluzione e i dettagli →
- CVE-2026-1969 A flaw in the ThemeREX Addons WordPress plugin; check the vendor advisory and update. Vedi la soluzione e i dettagli →
- CVE-2026-3300 A flaw in the Everest Forms Pro WordPress plugin; Wordfence tracked tens of thousands of blocked attacks against it. Vedi la soluzione e i dettagli →
- CVE-2026-3844 A flaw in the Breeze WordPress caching plugin; fixed in version 2.4.5 and only exploitable when "Host Files Locally - Gravatars" is enabled. Vedi la soluzione e i dettagli →
- CVE-2026-48907 A maximum-severity flaw in the Joomla JCE editor; fixed in version 2.9.99.5 and on CISA's Known Exploited Vulnerabilities list. Vedi la soluzione e i dettagli →
- CVE-2026-6433 A flaw in the Custom CSS JS PHP WordPress plugin; update to the patched version. Vedi la soluzione e i dettagli →
I Termini Spiegati
- webshell Un piccolo script installato sul server di un sito web che consente a un attaccante di controllare il server da remoto.
- backdoor Una via nascosta per entrare in un computer o in un sito web che aggira il normale login, spesso lasciata da un attaccante.
- plugin Un componente software aggiuntivo che dà a un sito web funzioni extra, come uno strumento di caching o un modulo di contatto.
- CVE Un numero univoco assegnato a una vulnerabilità di sicurezza resa pubblica, così tutti possono riferirsi allo stesso problema.
- reverse shell Una connessione che consente a un attaccante esterno di aprire una finestra di comandi sul computer di una vittima a distanza.
- Nacos Uno strumento di gestione della configurazione usato da alcune aziende per memorizzare impostazioni e credenziali di accesso dei loro sistemi.