Oltre il 40% del web è alimentato da WordPress. Ma questo rende questo popolare CMS un obiettivo attraente per gli hacker.

Quindi, se gestisci un sito WordPress, dovrai assicurarti che sia sicuro. E questo non è solo un compito tecnico, ma è anche una responsabilità chiave da diversi punti di vista, come la reputazione del marchio, la violazione dei dati e la continuità aziendale.

Uno strumento che spicca nell’ecosistema di WordPress è WPScan. È uno scanner di sicurezza specificamente progettato per WordPress. Viene fornito con una licenza sia a pagamento che gratuita, a seconda delle tue esigenze. È anche pre-installato nelle distribuzioni di Kali Linux.

Quindi, che tu sia un amministratore di sito esperto o un proprietario di sito che cerca di migliorare la sicurezza del proprio sito, WPScan può aiutarti a identificare vulnerabilità prima che gli aggressori le sfruttino.

Prima di procedere, una cosa molto importante: lo scopo di questo articolo è aiutare individui e organizzazioni a rafforzare la sicurezza dei loro siti WordPress utilizzando efficacemente WPScan.

Benché questo strumento sia incredibilmente potente nell’identificare vulnerabilità, è importante sottolineare che qualsiasi uso non autorizzato di WPScan – come la scansione di siti senza il dovuto permesso – non è solo poco etico ma anche illegale.

Il mio obiettivo nel condividere queste informazioni è di dare potere agli amministratori di sito e agli sviluppatori per proteggere proattivamente i loro siti, salvaguardare i loro dati e creare un ambiente online più sicuro per tutti.

Cosa tratteremo:

  1. Che cos’è WPScan?

  2. Come eseguire la scansione del tuo sito WordPress utilizzando WPScan

  3. Cosa fare con i risultati di WPScan

  4. Limitazioni di WPScan

  5. Migliori pratiche per l’utilizzo di WPScan

  6. Come monitorare i risultati in modo efficace

  7. Conclusione

Cos’è WPScan?

WPScan è uno strumento da riga di comando che ti aiuta a identificare potenziali vulnerabilità nella tua installazione di WordPress. È come una guardia di sicurezza per il tuo sito web, che tiene d’occhio plugin obsoleti, errate configurazioni e altri problemi comuni.

Ciò che rende unico WPScan è il suo focus su WordPress. Utilizza un database mantenuto da esperti di sicurezza, che viene regolarmente aggiornato per tracciare migliaia di vulnerabilità conosciute nel core di WordPress, nei plugin e nei temi.

Cosa può fare WPScan?

Ecco solo alcune cose con cui WPScan può aiutarti:

  • Rilevare versioni obsolete del core di WordPress.

  • Identificare vulnerabilità nei plugin e nei temi.

  • Enumerare gli utenti (ad esempio, scoprire nomi utente).

  • Testare password deboli (usando un attacco con dizionario).

  • Trovare file sensibili esposti (come backup o log di debug).

Vediamo ora i comandi più comuni che puoi utilizzare.

Come eseguire la scansione del tuo sito WordPress utilizzando WPScan

1. Scansione di base

Una scansione di base fornisce una panoramica sulla sicurezza del tuo sito WordPress identificando le principali vulnerabilità o configurazioni errate. Può individuare la versione core di WordPress e segnalarla se è obsoleta, evidenziando potenziali rischi come vulnerabilità di SQL injection o cross-site scripting (XSS) associate alle versioni più datate.

La scansione potrebbe rivelare anche file di backup accessibili pubblicamente (ad esempio, .sql o .zip) o file di debug come debug.log, che potrebbero esporre informazioni sensibili come credenziali del database o percorsi del server.

Può segnalare l’assenza o la configurazione non corretta di intestazioni di sicurezza HTTP, come Strict-Transport-Security (HSTS) o Content-Security-Policy (CSP), che sono fondamentali per proteggere contro attacchi di degrado del protocollo ed esecuzione di script non autorizzata.

Le directory aperte che espongono la struttura dei file del tuo sito e plugin o temi potenzialmente vulnerabili possono essere segnalati se individuati nei metadati pubblici.

Queste scoperte forniscono un punto di partenza per affrontare le lacune fondamentali della sicurezza.

wpscan --url http://yourwebsite.com

Ecco cosa vedrai nel tuo terminale quando esegui questo comando:

2. Enumerazione Utenti

L’enumerazione degli utenti è un processo per identificare i nomi utente sul tuo sito WordPress. Conoscere questi nomi utente può aiutare gli attaccanti a mirare a specifici account per attacchi di forza bruta.

Per enumerare gli utenti, esegui:

wpscan --url http://yourwebsite.com --enumerate u

L’output mostrerà i nomi utente:

Se trovi nomi utente predefiniti come admin, dovresti sostituirli con qualcosa di unico e sicuro.

Ecco alcune best practice per i nomi utente:

  • Avoid default names: Sostituisci i nomi utente predefiniti come admin o user con qualcosa di unico e non facilmente individuabile.

  • Rename vulnerable usernames: Per cambiare un nome utente, puoi creare un nuovo utente con privilegi di amministratore, trasferire la proprietà di post o contenuti e quindi eliminare il vecchio utente.

  • Use role-based usernames carefully: Evita di nominare gli account in base ai loro ruoli (ad esempio, editor, manager), poiché possono essere facili bersagli.

  • Implementa blocchi per l’accesso: Combina nomi utente sicuri con plugin che bloccano gli account dopo tentativi di accesso falliti ripetuti.

  • Abilita l’Autenticazione a due fattori (2FA): Aggiungere il 2FA garantisce che anche se un nome utente viene indovinato, l’account rimanga sicuro.

3. Verifica dei Plugin e dei Temi

I plugin e i temi possono presentare problemi di sicurezza. WPScan può elencare tutti i plugin e i temi installati, insieme a eventuali vulnerabilità associate.

Per i plugin, esegui questo:

wpscan --url http://yourwebsite.com --enumerate p

Avrà un output simile a questo:

Per i temi, esegui questo:

wpscan --url http://yourwebsite.com --enumerate t

Avrà un output simile a questo:

Cerca versioni obsolete o vulnerabilità note nei risultati e aggiorna o sostituisci immediatamente quei componenti.

Esaminiamo alcune comuni problematiche di sicurezza nei plugin e nei temi.

Prima di tutto, c’è Cross-Site Scripting (XSS). La gestione non sicura degli input nei plugin o nei temi può consentire agli attaccanti di iniettare script dannosi, rubare potenzialmente informazioni degli utenti o prendere il controllo delle sessioni di amministrazione. Un sito WordPress scarsamente protetto con una vulnerabilità XSS può consentire agli attaccanti di rubare i cookie di sessione, ottenere potenzialmente accesso amministrativo non autorizzato, iniettare reindirizzamenti dannosi, portare gli utenti a siti di phishing, visualizzare contenuti ingannevoli, ingannare gli utenti a fornire informazioni sensibili.

C’è anche SQL Injection. Plugin o temi scritti male possono consentire agli attaccanti di manipolare le query del database, esponendo dati sensibili o danneggiando il tuo sito. Le vulnerabilità di SQL injection possono essere sfruttate per estrarre dati sensibili, aggirare l’autenticazione e modificare o eliminare dati.

Alcuni plugin o temi potrebbero includere codice malevolo, intenzionalmente o a causa di una scarsa sicurezza, che concede agli attaccanti l’accesso non autorizzato al tuo sito, noto come backdoor. Una volta installata, una backdoor può concedere accesso persistente, abilitare il caricamento arbitrario di file, compromettere l’integrità del sito e rubare dati sensibili.

C’è anche l’Esecuzione di Codice Remoto (RCE) – vulnerabilità che permettono agli attaccanti di eseguire codice arbitrario sul tuo server, spesso portando al completo controllo del tuo sito o server. Una volta che gli attaccanti ottengono l’accesso RCE, possono creare utenti amministratori, esfiltrare dati, lanciare ulteriori attacchi e ottenere l’escalation dei privilegi.

Pratiche Migliori:

  • Mantenere sempre aggiornati i plugin e i temi alle ultime versioni.

  • Rimuovere eventuali plugin e temi inutilizzati o inattivi, poiché potrebbero comunque rappresentare un rischio.

  • Assicurarsi che i plugin e i temi siano scaricati da fonti affidabili e di comprovata reputazione e che abbiano un’attiva manutenzione.

  • Valutare l’utilizzo di plugin di sicurezza per monitorare le modifiche ai file di plugin o tema e rilevare attività sospette.

4. Test delle Password

WPScan può testare password deboli tentando un attacco di forza bruta utilizzando un elenco di parole:

wpscan --url http://yourwebsite.com --passwords /path/to/passwords.txt

e questo è l’output sulla tua riga di comando:

Cosa è la forza bruta?

La forza bruta è un metodo che gli attaccanti usano per indovinare le password provando sistematicamente ogni possibile combinazione fino a trovare quella corretta. Quando combinato con un elenco di parole—un file che contiene una raccolta di password comunemente usate—la forza bruta diventa molto più veloce ed efficiente.

Un elenco di parole tipico potrebbe includere:

  • Password semplici come 123456, password e qwerty.

  • Modelli comuni come Spring2024! o welcome123.

  • Password trapelate da precedenti violazioni di dati.

Simulando questo tipo di attacco, WPScan può identificare account che utilizzano password deboli, permettendoti di affrontare le vulnerabilità in modo proattivo.

Le password deboli rendono la forza bruta più facile e veloce. Una password breve o prevedibile potrebbe essere indovinata in pochi secondi, mentre una password più lunga e complessa con elementi unici è esponenzialmente più difficile da decifrare.

Come creare password forti

Le password forti sono la tua prima linea di difesa contro gli attacchi di forza bruta. Ecco le caratteristiche chiave delle password forti:

  • Lunghezza: Almeno 12–16 caratteri.
  • Complessità: Usa una combinazione di lettere maiuscole e minuscole, numeri e caratteri speciali.

  • Unicità: Evita di riutilizzare le password su più account.

  • Imprevedibilità: Evita parole del dizionario, frasi comuni o informazioni personali come compleanni.

Strategie per Generare Password Forti

Ci sono varie misure che puoi adottare per creare password forti. Prima di tutto, usa un generatore di password. Strumenti come LastPass e Bitwarden possono creare e memorizzare password altamente complesse per te.

Dovresti anche usare frasi di password (invece di semplici password). Combina parole casuali e non correlate con numeri e simboli, come Sky#Tree!Motorbike12.

Infine, evita schemi che potrebbero essere facilmente indovinati da un attaccante. Non usare schemi sequenziali o da tastiera come abcdef o qwerty.

Usa Strumenti per Gestire le Password

Gestire password sicure può essere sfidante. I gestori di password semplificano questo processo memorizzando in modo sicuro e compilando automaticamente le tue credenziali. Le opzioni popolari includono:

  • Bitwarden

  • LastPass

Questi strumenti includono anche funzionalità come l’auditing delle password per individuare password deboli o riutilizzate.

Utilizzare l’Autenticazione a Due Fattori (2FA)

L’autenticazione a due fattori (2FA) aggiunge uno strato di sicurezza richiedendo agli utenti di verificare la propria identità attraverso un secondo fattore oltre alla password. Questo può includere:

  • Codici monouso inviati via email o SMS.

  • Codici generati dall’app da strumenti come Google Authenticator o Authy.

  • Verifica biometrica, come impronte digitali o riconoscimento facciale.

Anche se un attaccante indovina la tua password tramite forza bruta, la 2FA impedisce loro di accedere al tuo account senza una verifica secondaria. Questo passaggio aggiuntivo rende l’attacco a forza bruta impraticabile, poiché gli attaccanti dovrebbero compromettere anche il dispositivo o il metodo 2FA.

Come Implementare la 2FA in WordPress
  1. Installa un plugin WordPress come Google Authenticator.

  2. Richiedi a tutti gli account utente, soprattutto agli amministratori, di abilitare il 2FA.

  3. Offri codici di backup o opzioni di ripristino nel caso gli utenti perdano l’accesso al loro dispositivo 2FA.

  4. Testa e assicurati che il 2FA funzioni in modo affidabile per tutti i ruoli utente prima di renderlo obbligatorio.

L’importanza dell’igiene della password

Utilizzando password sicure e implementando il 2FA, è possibile ridurre significativamente l’efficacia degli attacchi brute-force.

La funzione di test delle password di WPScan può aiutarti a identificare credenziali deboli. Sottolinea anche l’importanza critica dell’igiene proattiva delle password e di ulteriori livelli di sicurezza per mantenere sicuro il tuo sito WordPress.

Cosa fare con i risultati di WPScan

I report di WPScan forniscono informazioni utili sulla sicurezza del tuo sito. Ecco cosa puoi fare con le informazioni:

Prima di tutto, aggiorna il core di WordPress, i plugin e i temi: Mantieni tutto aggiornato per correggere le vulnerabilità.

Secondo, affronta i problemi di configurazione: Correggi i permessi dei file configurati in modo errato, gli header HTTP non sicuri e altri avvisi.

Ecco un paio di esempi di remediation che puoi applicare:

  • Indicizzazione delle directory: Se WPScan rileva directory aperte, disabilita la navigazione delle directory aggiungendo questa riga al tuo file .htaccess:

      Options -Indexes
    
  • Permessi dei file: Assicurati che i file critici come wp-config.php siano di sola lettura impostando i permessi a 440 o 400 utilizzando il comando:

      chmod 400 wp-config.php
    

Dovresti anche rinforzare tutti gli account utente. Puoi farlo in diversi modi:

  • Aggiorna le password deboli: Usa password forti e uniche per tutti gli account utente (riferisciti alla sezione di test delle password per suggerimenti).

  • Rimuovi account non utilizzati: Elimina gli account inattivi, specialmente quelli con privilegi di amministratore.

  • Rinomina nomi utente prevedibili: Cambia nomi utente come admin in qualcosa di meno ovvio.

Assicurati di proteggere anche eventuali file sensibili: se WPScan trova file esposti come debug.log, eliminali o proteggili. Elimina file non necessari o vecchi backup.

Per i file che devi conservare, spostali in una directory al di fuori della root web. Puoi anche proteggere i file con .htaccess, bloccando l’accesso ai file sensibili utilizzando regole Deny e Allow:

<Files wp-login.php>
    Order Deny,Allow
    Deny from all
    Allow from 123.456.789.000
</Files>

Limitazioni di WPScan

WPScan è uno strumento potente, ma ha alcune limitazioni. Tienile presenti in modo da poter adottare altre misure per proteggere i tuoi siti WP.

Solo vulnerabilità conosciute

WPScan si basa sul suo database di vulnerabilità conosciute, quindi non rileverà exploit zero-day o vulnerabilità personalizzate.

Ecco alcuni suggerimenti su come puoi mitigare questo problema:

  • Resta informato: Monitora blog sulla sicurezza di WordPress, database di vulnerabilità come CVE o WPVulnDB e forum della community per minacce emergenti.

  • Usa un Firewall delle Applicazioni Web (WAF): Strumenti come Cloudflare o Sucuri possono bloccare attività sospette e tentativi di sfruttare vulnerabilità sconosciute.

  • Conduci revisioni di sicurezza manuali: Controlla periodicamente il tuo sito per comportamenti insoliti o modifiche non autorizzate, in particolare nei file critici come wp-config.php o nel tuo database.

2. Nessuna Protezione in Tempo Reale

WPScan è uno strumento di diagnostica, non un firewall o un sistema di rilevamento delle intrusioni. Per la protezione in tempo reale, è una buona idea combinare WPScan con altri strumenti.

Alcuni passaggi che puoi seguire sono:

  • Installa plugin di sicurezza: Utilizza specifici plugin di sicurezza per fornire monitoraggio continuo, scansione malware e protezione del firewall.

  • Monitora i log delle attività: Imposta il tracciamento delle attività per identificare tentativi di accesso sospetti, modifiche ai file o azioni non autorizzate da parte degli utenti.

3. Intensivo in termini di risorse

Scansionare siti di grandi dimensioni con molti plugin e temi può richiedere tempo e influire sulle prestazioni del server.

Ci sono varie strategie che puoi adottare per mitigare questo problema, come pianificare le scansioni durante periodi a basso traffico per ridurre al minimo i disagi ai visitatori del sito. Puoi anche eseguire scansioni su una copia di staging del sito anziché direttamente sull’ambiente live.

4. Curva di apprendimento

Essendo uno strumento a riga di comando, WPScan può essere intimidatorio per gli utenti meno tecnici. Tuttavia, la documentazione è eccellente e, con la pratica, diventerai competente.

Se l’interfaccia a riga di comando ti sembra eccessiva, prova ad abbinare WPScan con plugin di sicurezza che offrono scansioni e report basati su GUI.

Pratiche consigliate per l’utilizzo di WPScan

Per sfruttare al meglio WPScan, dovrai adattarne l’uso alle esigenze specifiche del tuo sito e stabilire una strategia robusta per monitorare i risultati. Ecco come puoi massimizzarne l’efficacia:

Scegliere le Scansioni Giuste per il Tuo Sito

WPScan offre una varietà di opzioni di scansione, dalle scansioni di base ai controlli mirati delle vulnerabilità per plugin, temi e account utente. La scelta delle scansioni corrette dipende dal tipo di sito che gestisci e dalla sensibilità dei dati che gestisce.

Per siti di piccole dimensioni e a basso traffico:

  • Prioritizza le scansioni di base per controllare il core di WordPress, i plugin e i temi per aggiornamenti e vulnerabilità.

  • Esegui scansioni mensili o dopo aggiornamenti importanti.

  • Utilizza l’enumerazione degli utenti (--enumerate u) se sospetti password deboli o nomi utente predefiniti.

Per i siti di aziende di medie dimensioni:

  • In aggiunta alle scansioni di base, includi l’enumerazione dei plugin e dei temi (--enumerate p,t) per garantire che tutti i componenti siano sicuri.

  • Scansioni settimanali per rimanere un passo avanti alle minacce emergenti.

  • Combina WPScan con plugin di registrazione attività per tracciare le azioni degli utenti e le modifiche ai file.

Per siti ad alto traffico o di e-commerce:

  • Esegui scansioni complete, inclusa l’enumerazione degli utenti (--enumerate u), l’enumerazione dei file (--enumerate f) e il testing di brute-force delle password (se consentito).

  • Scansioni giornaliere o settimanali per ridurre al minimo il rischio.

  • Implementare misure aggiuntive come 2FA per gli account amministrativi, un firewall per applicazioni web (WAF) e intestazioni di sicurezza per rafforzare il sito.

Per i siti che gestiscono dati sensibili:

  • Dare priorità a tutte le scansioni disponibili, inclusa quella per i file esposti e le vulnerabilità di configurazione.

  • Scansioni settimanali con monitoraggio in tempo reale tramite un plugin di sicurezza.

  • Utilizzare ambienti di staging per testare le impostazioni di sicurezza senza influire sulla produzione.

Dovresti Usare Tutte le Scansioni?

Pur sembrando vantaggioso utilizzare tutte le scansioni offerte da WPScan, ci sono vari fattori da considerare.

Prima di tutto, pensa alle dimensioni del tuo sito e alle tue risorse. Per i siti più piccoli, eseguire tutte le scansioni può essere eccessivo e intensivo in termini di risorse.

Vorrai anche concentrarti sugli scans che affrontano le vulnerabilità più probabili del tuo sito. Per esempio, un sito di e-commerce dovrebbe dare priorità alla sicurezza degli utenti e dei pagamenti piuttosto che a un’enumerazione esaustiva dei file.

I requisiti di conformità sono anche importanti da prendere in considerazione. Se sei soggetto a regolamenti come il GDPR, assicurati di eseguire scansioni per individuare e affrontare vulnerabilità legate alla protezione dei dati.

Come Monitorare i Risultati in Modo Efficace

Monitorare i risultati di WPScan è importante. Ti aiuta a correggere le vulnerabilità, naturalmente, ma ti permette anche di creare un sistema per tracciare i cambiamenti nel tempo e rimanere vigile.

Imposta la Generazione di Report

Puoi salvare i risultati degli scans su file utilizzando il flag --output:

wpscan --url http://example.com --output /path/to/report.txt

In seguito, rivedi regolarmente i report e confrontali con scansioni precedenti per individuare problemi ricorrenti o nuove vulnerabilità.

Crea un Piano d’Azione

È una buona idea categorizzare le vulnerabilità in base alla gravità (ad esempio, critica, moderata, bassa).

Questo ti consente di affrontare immediatamente i problemi di elevata gravità (come i plugin obsoleti con exploit noti). Poi puoi pianificare attività a minor priorità, come aggiustamenti dei permessi dei file o piccoli cambiamenti di configurazione, per la manutenzione ordinaria.

Utilizza strumenti come fogli di calcolo o un’app di gestione progetti (per esempio, Trello, Asana) per registrare vulnerabilità, correzioni e azioni di follow-up.

Assicurati di analizzare i problemi ricorrenti per identificare schemi, come le vulnerabilità frequenti dei plugin, e considera di sostituire i componenti problematici.

Automatizza le Notifiche

Se pianifichi scansioni utilizzando cron job, imposta avvisi via email o notifiche per rivedere i risultati senza ritardi.

Utilizza plugin di sicurezza con monitoraggio in tempo reale per avvisarti di attività sospette tra i controlli di WPScan.

Comunica con il Tuo Team:

Vorrà assicurarti di condividere i rapporti con i membri del team pertinenti, come sviluppatori o amministratori del sito, affinché tutti siano a conoscenza delle potenziali vulnerabilità.

È anche una buona idea stabilire protocolli per un’azione immediata se vengono scoperte vulnerabilità critiche.

Scelto scansioni in base alle esigenze specifiche del tuo sito e implementando un approccio strutturato al monitoraggio dei risultati, puoi garantire che WPScan venga utilizzato in modo efficace. Inoltre, assicurati di adattare lo strumento al tuo profilo di rischio, monitorare le vulnerabilità nel tempo e integrare i suoi risultati in una strategia di sicurezza più ampia.

Questo approccio non solo migliora la postura di sicurezza del tuo sito, ma minimizza anche l’uso delle risorse e lo sforzo, fornendo al contempo la massima protezione.

Conclusione

WPScan è uno strumento prezioso per chiunque gestisca un sito WordPress. Semplifica il processo di identificazione delle vulnerabilità e fornisce raccomandazioni chiare e attuabili per rafforzare la sicurezza del tuo sito.

Integrando WPScan nel tuo flusso di lavoro e seguendo le migliori pratiche, puoi ridurre il rischio di attacchi e mantenere il tuo sito WordPress al sicuro. La sicurezza è un percorso continuo e strumenti come WPScan rendono più facile stare al passo con le potenziali minacce.