Il malware Balada Injector ha infettato oltre un milione di siti WordPress. Balada Injector è in diffusione dal 2017

WordPress: la campagna di distribuzione di Balada Injector infetta più di 1 milione di sitiweb

I siti compromessi durante l’ultima, lunga, campagna di distribuzione di Balada Injection sono, si stima, più di 1 milione. La campagna ha fatto leva su più vulnerabilità conosciute di plugin e temi per iniettare una backdoor Linux ribattezzata appunto Balad Injector.

Balad Injector è in distribuzione dal 2017 e mira, prevalentemente, a reindirizzare gli utenti verso pagine di supporto fake, lotterie e premi falsi e truffe di vario tipo. La campagna di distribuzione attualmente in corso è stata individuata dai ricercatori di Sucuri, molto attenti ai cyber rischi che minacciano WordPress. In ogni caso questa campagna non mostra grandi differenze con quella che invece hanno individuato, nel Dicembre del 2022, i ricercatori dei nostri partner di Dr. Web.

Balada Injector: come si diffonde

Sucuri riporta che Balada Injector attacca ad ondate, una volta al mese circa, usando un dominio nuovo, registrato di volta in volta, per evitare il problema delle liste bloccate. I ricercatori hanno potuto anche verificare che questa campagna fa leva sulle più recenti vulnerabilità individuate e sviluppa una routine di attacco “cucita” appositamente intorno alla vulnerabilità che vuole prendere di mira.

Add-on colpiti da una specifica ondata di attacco
Add-on colpiti da una specifica ondata di attacco. Fonte: Sucuri

Ecco che le tecniche di infezione, quindi, variano a seconda della vulnerabilità sfruttata. Ci sono stati casi di HTML injecton o di JS injection in temi e plugin: tutto allo scopo di ottenere l’accesso all’account amministratore. Non solo: gli attaccanti in alcuni casi hanno iniettato codice nelle pagine del sito una volta rubate le credenziali del database, così come sono riusciti a cariare file e ulteriori backdoor. I vettori di attacco sono così tanti che, comportamento piuttosto raro, gli attaccanti hanno preso di mira più volte anche lo stesso sito. Il caso limite, spiegano da Sucuri, è quello di un sito web che è stato attaccato 311 volte on ben 11 diverse versioni di Balada.

Un esempio di Injection
Un esempio di Injection. Fonte: Sucuri

Tra le falle più sfruttate la recentissima vulnerabilità del plugin Elementor PRO.

L’attività post infezione

Gli script che compongono Balada si concentrano sull’esfiltrazione di informazioni sensibili come le credenziali dei database da file config.php. Così, anche nel caso in cui il gestore del sito web riuscisse a ripulire l’infezione e patchare le vulnerabilità usate, l’attaccante riesce comunque a mantenere l’accesso.

Balad Injector cerca anche i backup e i database, i log degli accessi, le info di debug e in generale tutti i file che potrebbero contenere dati sensibili. Balad Injector prende di mira anche strumenti di amministrazione dei database come Adminer e phpMyAdmin: se questi tool presentano vulnerabilità o sono mal configurati, gli attaccanti cercano di sfruttarli per creare nuovi utenti amministratori, estrarre informazioni dal sito o eseguire l’injection di malware persistenti nel database.

Se nessuna di queste tecniche ha successo, gli attaccanti optano per il più classico brute-force lla password amministratore.

La backdoor di Balad

Balad Injector installa più backdoor sui siti Worpress compromessi, in cerca della ridondanza degli accessi abusivi. Sucuri spiega che, ad un certo punto del 2020, Balada scaricava backdoor in ben 176 percorsi predefiniti, trasformando la rimozione della backdoor in una vera e propria sfida. Non solo: le backdoor “impiantate” cambiano nome di ondata in ondata, rendendo ancora più difficile individuazione e rimozione.

Un estratto della lista con i percorsi per la backdoor
Un estratto della lista con i percorsi per la backdoor. Fonte: Sucuri

I ricercatori spiegano, comunque, che Balad Injector non è presente su tutti i siti web compromessi. Il motivo è semplice, dato che sarebbe una grossa difficoltà gestire un numero così grande di client. Così sembra che gli attaccanti abbiano caricato il malware su siti web ospitati su server privati o VPS che mostrano di essere trascurati e di non essere correttamente gestiti. Da lì gli injector eseguono la scansione dei siti web che condividono lo stesso lo stesso account del server e le stesse autorizzazioni sui file, in cerca di directory scrivibili. Cominciando, ovviamente, da quelle con privilegi più elevati.

Un approccio che porta alcuni vantaggi agli attaccanti, perché permette di compromettere facilmente diversi siti web e diffondere molto velocemente le backdoor pur dovendo gestire un numero minimo di injector. Inoltre le infezioni cross-site consentono di reinfettare nuovamente siti web ripuliti, a patto che gli attaccanti abbiano ancora l’accesso al VPS.

Guida rapida di sicurezza per WordPress

Senza pretesa di completezza, per dare le prime indicazioni di massima, ecco alcuni passi per migliorare al sicurezza dei siti web gestiti con WordPress.

  1. aggiornare CMS, plugin e temi:
    gli attaccanti cercano regolarmente di sfruttare le falle dei CMS o delle componenti di terze parti dei siti web. Attacchi automatizzati colpiscono le vulnerabilità già conosciute dei siti web, ecco perché è importante mantenere aggiornate le componenti del sito web;
  2. password solide:
    password deboli, già trapelate online, utilizzate per più account sono un vero e proprio buco nella sicurezza. Una protezione firewall previene attacchi di brute-forcing, una password solida riduce il rischio di esposizione delle password. Anche la password del database deve essere solida;
  3. occhio alle permissioni:
    Ad ogni utente le permissioni minime secondo le mansioni che deve svolgere sul sito web: questa è una pratica di igiene informatica che può ridurre il rischio di perdere il controllo degli utenti con i privilegi di amministrazione.
  4. modifica la pagina di login:
    La pagina classica di login per WordPress è miodominio/wp-admin. Ed è esattamente l’indirizzo di login che gli attaccanti si aspettano di trovare per ogni sito web WordPress. Sono disponibili centinaia di plugin (ma questa modifica è possibile anche dal Cpanel del sito web) che consentono di modificare l’indirizzo di login in una stringa casuale.
  5. installa plugin che consentano di mantenere il log degli accessi:
    sarà più semplice avere contezza di ciò che sta accadendo sul nostro sito web, quali utenti stanno accedendo, da quale indirizzo IP ecc… così da poter procedere al blocco di IP, email o utenti sospetti;
  6. installa plugin di sicurezza…
    WordPress offre centinaia di plugin di sicurezza, gratuiti o meno, che consentono di:
    • introdurre meccanismi anti-bot;
    • limitazioni dei tentativi di login;
    • firewall;
    • blocco della possibilità di modificare i file config.php o htaccess.php ecc…