Questa la notizia riportata oggi su TheHackerNews! I ricercatori di Acunetix, una delle maggiori aziende di sicurezza, sviluppatrice del noto Acunetix Web Vulnerability Scanner, ha individuato una falla nella funzionalità di Pingback di tutti i WordPress che può essere sfruttata per realizzare dei DDoS (Distributed Denial of Service).
I pingback di WordPress sono un sistema che permette di “avvisare” altri blog/siti della pubblicazione di un nuovo articolo.
Quando scriviamo un nuovo post, infatti, all’atto della pubblicazione WordPress provvede a “pingare” la lista di siti indicata nel menu “Impostazioni -> Scrittura” (in basso) informandoli del nuovo contenuto così da permettere una maggiore diffusione della notizia.
Il funzionamento è molto semplice:
- Tramite il file “xmlrpc.php” interroga i Server indicati nella lista in “Impostazioni -> Scrittura” (in basso)
- Tenta ti risolvere l’url e se riesce effettua la richiesta segnalando la pubblicazione del nuovo post
- Se la richiesta va a buon fine e il blog contattato segnala il nostro link WordPress ci dirà che siamo stati menzionati
Una funzionalità utile e anche innocua se ci pensiamo. Come fa a diventare un veicolo per gli attacchi Distributed Denial of Service? Partiamo con lo spiegare cosa sono.
Con Denial of Service si definiscono tutti quegli attacchi che mirano a sovraccaricare il server di richieste al punto tale da mandarlo “down“. I mezzi per effettuare un attacco del genere sono tanti e vari e possono essere effettuati sia a livello di rete che applicativo. L’aggiunta della parola “Distributed” indica la stessa tipologia di attacco con la variante che ad effettuarlo non è un solo host ma molteplici. Sono gli attacchi “preferiti” dal noto gruppo Anonymous tramite il quale hanno creato non pochi problemi a grandi istituzioni del Web.
Come indicato in precedenza il sistema pingback di WordPress come primo step cerca di risolvere l’url da pingare. E’ su questa procedura che si basa la vulnerabilità scoperta. Se alteriamo la richiesta al file “xmlrpc.php” indicandogli di pingare un host diverso da quelli nella lista di WordPress, quest’ultimo lo eseguirà lo stesso andando ad effettuare una richiesta sul sito “vittima”.
Se moltiplichiamo la singola richiesta per i tanti WordPress in rete si comprende subito la vastità dell’attacco DDoS che si potrebbe effettuare.
Di seguito riportiamo un’immagine che mostra la richiesta effettuata (in alto a destra) e la risposta ottenuta (in basso).
Come evidenziato nello screenshot richiedendo un fantomatico “http://invalidHost” si ottiene come risposta “The source URL does not exist“. Se quindi si inserisse un host valido, il servizio pingback di WordPress provvederebbe a risolverlo e pingarlo. Ecco uno screenshot di una richiesta correttamente eseguita.
In rete su GitHub è già disponibile il WordPress Pingback Port Scanner realizzato in Ruby che automatizza la procedura di attacco tramite pingback di WordPress. Qui invece trovate lo stesso scanner in versione Python. E’ stato allegato alla segnalazione che i ricercatori di Acunetix hanno fatto allo staff di WordPress.
Lo stesso scopritore della falla, Bogdan Calin, ha realizzato uno script per Acunetix Web Vulnerability Scanner (Acunetix WVS) per effettuare questo tipo di controllo quando si effettua l’analisi di un host che utilizza WordPress.
In attesa di una patch risolutiva da parte dello staff di WordPress l’unico modo per prevenire attacchi è quello di disabilitare il sistema di pingback/trackback da “Impostazioni -> Discussione”.