Cybersicurezza

Server esca con 2.000 dollari in bitcoin violato in 19 ore grazie a PHP2Shell

Adrian Kessler
Aggiungici su Google

Un server con una copia di PHP non aggiornata, lasciato online con una chiave di un wallet bitcoin come esca, è durato meno di un giorno. Un ricercatore che usa lo pseudonimo KillaBoi è riuscito a entrare sfruttando PHP2Shell, la coppia di vulnerabilità critiche del linguaggio alla base della maggior parte del web, e a recuperare la chiave. Nello stesso fine settimana, una honeypot gestita dal responsabile della sicurezza di Perplexity ha registrato un aggressore compiere la stessa operazione su un server reale, mettendo fine all’idea rassicurante che queste falle fossero troppo complicate da sfruttare.

La cosa riguarda chiunque gestisca un sito web e chiunque vi conservi i propri dati. PHP è alla base di WordPress, Drupal, Joomla e della maggior parte dei servizi di hosting condiviso; queste vulnerabilità possono consentire a chi non ha un account di eseguire comandi sul server. Da quando sono state pubblicate le correzioni, il principale argomento a favore dell’attesa era che i tentativi di attacco osservati in pubblico continuavano a fallire. I due risultati smentiscono questa tesi.

La sfida, chiamata Steal My Bitcoin, è stata lanciata sul suo sito web e annunciata con un post su un forum. Il suo ideatore, che si è firmato cloudlandsdev, ha scritto: «L’ho fatto perché sono curioso di sapere se qualcuno è riuscito a capire come sfruttare davvero questa RCE di PHP: abbiamo passato gli ultimi giorni nel panico. Divertitevi!». Il montepremi è partito da circa 502 dollari ed è cresciuto grazie alle donazioni fino a 0,02511679 BTC, pari a 2.021,22 dollari al momento della riscossione, circa 19 ore dopo il lancio, secondo Tom’s Hardware. Il server è andato in difficoltà per il traffico generato dai tentativi e lo spazio di archiviazione limitato non ha permesso di conservare tutti i log.

KillaBoi ha poi pubblicato su GitHub una prova di concetto. Mark Maunder, fondatore della società di sicurezza per WordPress Wordfence, ha definito l’analisi «la spiegazione di gran lunga migliore che leggerete su quanto sia difficile sfruttare #php2shell», sottolineando la precisione e il lavoro richiesti dall’attacco. A quanto pare, però, difficile non significa lento.

Il risultato più preoccupante è arrivato al di fuori della sfida. Adel Karimi, responsabile del rilevamento e della risposta agli incidenti di Perplexity, ha dichiarato che le sue honeypot hanno rilevato un’esecuzione remota di codice confermata su un server Apache con PHP 8.4.26. «Ora abbiamo una RCE confermata con divulgazione di memoria utilizzabile, non soltanto un crash seguito da un processo sospetto», ha scritto, come riportato da BleepingComputer. Marcus Hutchins, ricercatore sulle minacce di Expel che stava seguendo le segnalazioni di attacchi riusciti, l’ha definita «di gran lunga la conferma di qualità più alta che abbia visto finora di uno sfruttamento di php2shell in circolazione». Fino a quel momento, Cloudflare, watchTowr, Patchstack e altre società di sicurezza avevano registrato solo tentativi falliti, mentre il team di threat intelligence di Amazon aveva rilevato l’avvio delle scansioni quattro giorni prima della pubblicazione delle patch.

Nessuno dei due risultati significa che tutti i server non aggiornati verranno violati domani. La chiave recuperata da KillaBoi non corrispondeva all’indirizzo del wallet pubblicizzato dal sito; l’organizzatore ha parlato di un errore di configurazione e ha detto che i fondi sarebbero stati trasferiti, secondo Cointelegraph, mentre il sito di sicurezza Cyberpress osserva che le prove rese pubbliche mostrano il recupero di una chiave, non il furto del premio. Inoltre, l’exploit pubblicato è ottimizzato per una specifica build di PHP e non funziona con altre build della stessa versione: non è quindi uno strumento utilizzabile con un semplice clic. Ciò che non regge più è la difesa secondo cui nessuno sarebbe riuscito a farlo funzionare.

L’esposizione è globale. Secondo Cointelegraph, le agenzie governative di Paesi Bassi, Australia, Giappone e Finlandia hanno messo offline siti web critici mentre venivano preparate le patch. Un’analisi di Shodan condotta dalla società di sicurezza Mallory ha individuato circa 884.000 host accessibili da Internet che dichiarano una versione di PHP non più coperta dagli aggiornamenti ufficiali: il 59% degli circa 1,5 milioni che ne rendono visibile una, secondo Notebookcheck. Si tratta di conteggi basati sui banner, non di vittime confermate, perché spesso le distribuzioni Linux correggono i vecchi pacchetti senza modificare il numero di versione.

Per chi gestisce un sito, la soluzione non è cambiata. Le versioni aggiornate sono PHP 8.5.12, 8.4.27, 8.3.36 e 8.2.35, pubblicate il 21 ottobre per CVE-2026-109618 e CVE-2026-109619, entrambe valutate 9,2 su 10. Con l’hosting condiviso, l’aggiornamento dipende dal provider, non da un aggiornamento di WordPress o dei plugin: la domanda utile da rivolgergli è quindi quale build di PHP utilizzi il sito e quando sia stata corretta. L’agenzia statunitense per la cybersicurezza CISA ha invitato le organizzazioni che non possono aggiornare, o che utilizzano ancora PHP 8.1 o versioni precedenti, a mettere offline quei sistemi finché non sarà possibile farlo.

Il prossimo problema è già emerso. Venerdì il team PHP ha pubblicato una misura temporanea per una terza vulnerabilità di esecuzione remota di codice, CVE-2026-115560, per la quale non è ancora disponibile una patch e che riguarda soltanto i sistemi «con una combinazione insolita di configurazione e codice applicativo». In attesa della correzione, gli sviluppatori di PHP consigliano di disattivare l’impostazione session.upload_progress, la stessa misura raccomandata prima delle patch per PHP2Shell. Il supporto di sicurezza per PHP 8.2 termina il 31 dicembre 2026; i server che non hanno mai abbandonato la versione 8.1 hanno già superato la propria scadenza.

Tag: , , , , ,

Aggiungici su Google

Discussione

Ci sono 0 commenti.