venerdì 7 dicembre 2018

Una Botnet di 20.000 siti WordPress infettava altri siti WordPress


Usavano una botnet di oltre 20.000 siti WordPress per attaccare e infettare altri siti WordPress. Una volta compromessi nuovi siti, questi venivano aggiunti alla botnet e usati anch'essi per attaccare altri obiettivi secondo i comandi inviati dagli attaccanti. 

I 20.000 siti WordPress costituivano una botnet finalizzata al brute-forcing delle credenziali di login di siti WordPress in Internet: i dati parlano di circa 5 milioni di tentativi di autenticazione provenienti da questa botnet. Gli attacchi di brute-force sono diretti contro l'implementazione XML-RPC di WordPress e tentano infinite combinazioni fino ad individuare un account sul quale tali credenziali sono valide. XML-RPC è un'implementazione molto utile per alcuni utenti, poichè permette di postare contenuti da remoto su siti WordPress usando WordPress stesso o altre API: si trova nella directory principale di installazione di WordPres, nel dettaglio nel file xmlrpc.php. 

Il vero problema di XML-RPC è che, di default, non prevede alcuna limitazione all'ammontare i richieste API che gli vengono indirizzate: ciò significa, concretamente, che un attaccante può tentare e ritentare diversi nomi utenti e password senza alcuna limitazione e senza che questo comporti nessun tipo di alert per l'utente. L'utente vittima può individuare questi tentativi di accesso solo verificando i log. 

Come funziona questo attacco?
Gli attaccanti utilizzano ben 4 server di comando e controllo (C&C) che inviano comandi ad una botnet di oltre 20.000 siti WordPress attraverso un server proxy locato sul servizio russo Best-Proxies.ru. Gli attaccanti hanno usato oltre 14.000 server proxy offerti dal servizio in questione, proprio allo scopo di anonimizzare la rete dei server C&C.

Una volta che i siti Wordpress infetti ricevono i comandi, viene avviato il brute-force attack per forzare le interfacce XML-RPC bersaglio e tentare l'acquisizione delle credenziali di login. L'attacco è stato individuato proprio a causa dell'impressionante quantità di tentativi di login falliti provenienti da client che si spacciavano per client iPhone e Android WordPress. Ulteriori analisi dei siti compromessi hanno permesso di individuare gli script usati per il brute-force.  Questi script accettano input POST dai server C&C, che comunicano appunto quali domini colpire e quali elenchi di parole usare per l'attacco a dizionario. 


Nel caso l'elenco di parole scaricato non fosse sufficiente, lo script può accettare un URL dal quale recuperare nuove liste di parole nel caso quelle precedentemente inviate non fossero state sufficienti per ottenere l'accesso al sito target.


E' da questo ultimo script che i ricercatori sono risaliti all'indirizzo IP di uno dei server C&C: una volta ottenuto l'accesso hanno potuto vedere i vari comandi che il server poteva inviare e il numero di siti compromessi che costituivano la botnet. 

Come difendersi da questo attacco?
Il punto centrale è organizzarsi affinché l'attacco di brute-force non abbia successo: è sufficiente quindi dotarsi di un plugin capace di stabilire una soglia massima di tentativi, oltre la quale viene chiusa ogni sessione di login. 

Nessun commento:

Posta un commento