WordPress è una delle vittime predilette degli attacchi di hacker e cracker. La presenza online di moltissime installazioni non aggiornate permette di violare facilmente innumerevoli siti web accedendo a dati riservati e contenuti più o meno importanti. Tuttavia anche un portale aggiornato è costantemente a rischio a causa delle tecniche sempre più avanzate di hacker e cracker.
Conoscere il proprio nemico è, in campo informatico e non solo, un principio fondamentale e per proteggere il proprio sito WordPress è di fondamentale importanza conoscere alcuni degli strumenti utilizzati da chi vuole portare un attacco ad un sito web.
Il primo passo per attaccare un sito WordPress è reperire il più alto numero di informazioni possibile riguardo il portale. In questo caso è di grandissimo aiuto il tool WPScan. Grazie a questo strumento risulta incredibilmente semplice:
- identificare i plugin installati
- elencare i temi installati
- scoprire gli user id
- effettuare attacchi brute force
Al termine della scansione vengono inoltre presentati gli exploit passati relativi ai plugin. Questo perché potrebbero essere stati utilizzati per realizzare un attacco in precedenza. Per questo motivo è importante, dopo aver corretto una falla tramite patch, esaminare l’installazione WordPress in maniera approfondita: anche dopo aver aggiornato un plugin una backdoor può rimanere attiva.
Come indicato nell’elenco, tramite WPScan è possibile ottenere gli username degli utenti del portale e quindi iniziare un attacco brute force per ottenere l’accesso al pannello amministrativo. Recentemente alcuni cracker hanno eseguito attacchi brute force tramite XML-RPC. Questo particolare tipo di attacco non viene bloccato da specifici plugin e richiede meno risorse rispetto ai tradizionali attacchi wp-login.php.
Un altro ottimo strumento per reperire un numero considerevole di informazioni circa un sito web è BuiltWith. Tramite la pagina web possiamo sapere:
- quale CMS è utilizzato dal portale
- quale sistema operativo è utilizzato dal server
- quali software sono installati sul web server
- quali tool sono installati
Sfruttando i record DNS è inoltre possibile conoscere il provider del servizio email.
Quest’ultimo dato non deve essere trascurato perché chi porta avanti l’attacco potrebbe avere interesse a crackare gli account email degli utenti registrati sul portale (ovviamente partendo dalle password già ottenute “spulciando” il sito web).
Esiste poi Nikto, interessante tool che permette di trovare temi, plugin ed installazioni in generale potenzialmente attaccabili. A partire dai file presenti sul server web è possibile conoscere le versioni di ogni tool installato e di conseguenza capire se esiste qualche problematica nella sicurezza.
Ci sono servizi (come ad esempio Secunia) che tengono traccia di tutti i security exploit delle diverse versioni WordPress e di moltissimi plugin. Tuttavia queste informazioni sono disponibili anche per chi sta cercando un modo per prendere il controllo di un sito web illegalmente.
In alcuni casi i CVE records (Common Vulnerabilities and Exposures) risultano essere una spiegazione di come un attacco può essere portato (cosiddetti proof-of-concept). Hacker e cracker possono sfruttare le informazioni reperite in questi archivi per cercare di “prendere possesso” di un portale WordPress.
Quando un hacker/cracker trova una falla di sicurezza in WordPress, il suo primo obiettivo è quello di assicurarsi l’accesso a dati e risorse (escalating access). Per capire meglio di cosa parliamo segnaliamo la recente scoperta di una falla nel popolare plugin WP Touch. Un malintenzionato era in grado di eseguire l’upload di un file qualsiasi su un portale sviluppato con WordPress!
In assenza di altri security tool (come Sucuri) un hacker/cracker avrebbe potuto caricare uno script php per cambiare i permessi, leggere file, fare l’upload di altri file e molto altro ancora accrescendo notevolmente l’entità dell’attacco.
In definitiva avere la certezza della completa sicurezza del proprio sito WordPress è pressoché impossibile. Tuttavia mantenendo costantemente aggiornati CMS, plugin e temi ci si garantisce una buona sicurezza. Sarebbe comunque consigliabile eseguire alcuni test con gli strumenti sopra elencati per trovare ed eliminare eventuali criticità.