Vdiralec opravlja avtomatizirano podtikanje PHP skript v direktorij images/stories. To mu omogočajo ranljivosti komponente JCE, ki so opisane v članku http://www.exploit-db.com/exploits/17734/

Rešitev

Identifikacija podtaknjenih datotek

Če ste dobili obvestilo o zlorabljenem spletnem strežniku, najprej identificirajte datoteke, ki jih je na sistem namestil vdiralec. To lahko recimo storite tako, da se postavite v vrhnji direktorij Joomla namestitve in med spletnimi stranmi poiščete tiste, ki so bile nameščene v zadnjem tednu dni:

$ find . -mtime -7

Iz seznama izločite datoteke, za katere veste, da so rezultat vašega dela. Za vse podtaknjene datoteke si zabeležite datum in čas nastanka.

Ugotavljanje izvora napadalca

V dnevniški datoteki strežnika (access_log) poiščite zapise, ki se nanašajo na podtaknjene datoteke (glede na čas njihovega nastanka). Med njimi se običajno pojavi zahtevek:

GET /images/stories/susu.php

Za najdene zapise si zabeležite IP naslove poizvedb in te izluščite iz dnevnika. Izseke lahko pošljete na SI-CERT (po elektronski pošti na naslov cert(at)cert.si za nadaljnjo preiskavo incidenta.

Odstranitev podtaknjenih datotek

Vse podtaknjene datoteke odstranite iz strežnika.

Namestitev popravkov

Obvezno namestite zadnjo verzijo JCE komponente za svojo različico strežnika na naslovu: http://www.joomlacontenteditor.net/downloads/editor/joomla-25 (popravki delujejo na Joomla različicah 1.5, 2.5 in 3.0)

Hkrati svetujejo nadgradnjo vseh drugih vtičnikov in komponent Joomla platforme. Če ranljive komponente ne boste posodobili, se bo zloraba lahko ponovila in pripeljala do izgube ali kraje podatkov z vašega strežnika. Vdiralec bo lahko tudi izvajal napade na druga spletna mesta.

Če posodobitve JCE ne morete opraviti takoj, lahko začasno preprečite izvajanje PHP skript iz direktorijaimages/stories tako, da vanj namestite datoteko .htaccess, vendar njen lastnik ne sme biti isti uporabniški račun, s katerim zaganjate spletni strežnik (sicer bo datoteko napadalec lahko sam spremenil):

cd images/stories
echo "RemoveType .php" > .htaccess
echo "RemoveHandler .php" >> .htaccess
chown root .htaccess
chmod go-wx .htaccess

Si-Cert