Sicurezza

[EXPLOIT] – Joomla 1.5.12 RCE via TinyMCE upload vulnerability

Condividi!

JoomlaPer chi non avesse ancora aggiornato Joomla all’ultima versione 1.5.15 segnalo l’ennesima vulnerabilità trovata nelle versioni precedenti.

Questa volta si tratta di una Remote Command Execution che sfruttando una vulnerabilità dell’utilizzatissimo TinyMCE permette di uploadare file che, teoricamente, dovrebbero essere proibiti. La vulnerabilità è stata scoperta dall’italiano Luca “daath” De Fulgentis che ha illustrato nel dettaglio l‘exploit nel suo blog.

Dal sito di Offensive-Security, che andrà a sostituire il noto Milw0rm, ormai chiuso, è possibile scaricare l’exploit Php che consente di uploadare qualsiasi tipo di file semplicemente eseguend l’exploit php dalla propria shell.

Come detto in precedenza l’hack sfrutta una vulnerabilità del TinyMCE. Questo editor utilizza un array dove vengono dichiarate le estensioni dei file che non possono essere uploadate ma modificando opportunamente gli Header HTTP è possibile uploadare un file con un’estensione accettata e successivamente far effettuare il rename del file allo stesso TinyMCE.

Ovviamente vi è un sistema di “sicurezza” nello script dell’editor ma, purtroppo, si tratta di una semplice verifica di un hash MD5 generato dalla concatenazione della path assoluta con una variabile chiamata “$tinybrowser[‘obfuscate’]” che è settata di default a “s0merand0mjunk!!!111” nel file “config_tinybrowser.php” che trovate al seguente percorso:

http://<path_joomla>/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/config_tinybrowser.php

TinyBrowser

Questo invece il sistema di “sicurezza” (o meglio, la vulnerabilità) del file “upload_file.php” che verifica l’Hash MD5:


Upload File TinyBrowser

L’exploit creato da daath una volta indicato il “sito vittima” per prima cosa provvede a bypassare questo meccanismo effettuando un Path Disclosure. Con questa tecnica si interroga un file in modo non corretto così da far mostrare a video un tipico errore PHP che riporta la path assoluta del file in errore. Una volta ottenuta questa informazione si potrà ricreare l’Hash MD5 (path assoluta + ‘s0merand0mjunk!!!111’) tramite il quale poter lanciare una POST Http per l’upload del file. Il file, ovviamente, dovrà avere un’estensione valida come, ad esempio, “.jpg”.

Una volta effettuato l’upload si effettua una seconda interrogazione Http inviando i dati necessari a far eseguire il rename del file da “.jpg” (o qualunque estensione è stata scelta) a “.php”.

A questo punto si avrà una shell sul sito e si potra effettuare qualsiasi azione sia consentita all’utente web del sito vittima.

Come detto all’inzio dell’articolo provvedete sempre ad aggiornare alle ultime release le vostre applicazioni web! 😉


2 Comments
To Top