OpenX vsebuje stranska vrata

Vladimir Bohinc

9. avg 2013 ob 17:37:17

Trenutna različica strežniške programske opreme za posredovanje oglasov OpenX 2.10 vsebuje stranska vrata, ki se aktivno uporabljajo za napade na strežniške sisteme. Stranska vrata omogočajo izvajanje poljubne PHP kode. Administratorji OpenX-a so odstranili prizadete pakete s svojih strežnikov in se trenutno še ukvarjajo z rešitvijo. Heiko Weber je pri "rutinski kontroli" enega od oglasnih strežnikov odkril nenavadne vnose v dnevniške zapise in v nadaljevanju odkril stranska vrata v izvorni kodi OpenX. Svoje odkritje je posredoval varnostnemu oddelku spletne strani Heise, ki so obstoj stranskih vrat tudi potrdili.

Obstoj stranskih vrat lahko administratorji preverijo z ukazom:

find . -name \*.js -exec grep -l '<?php' {} \;

V primeru, da nam sistem vrne ime datoteke gre tu za datoteko JavaScript, ki vsebuje s komentarji zapleteno (obfuscated) PHP kodo:

this.each(function(){l=flashembed(this,k,j)}<?php /*if(e)
{jQuery.tools=jQuery.tools||{version:
{}};jQuery.tools.version.flashembed='1.0.2'; 
*/$j='ex'./**/'plode'; /* if(this.className ...

Datoteka se aktivira s pozivom require_once(), sam poziv pa je možno sprožiti oddaljeno preko URL-ja. Sama zlonamerna koda se nahaja v stisnjeni datoteki (zip) s časovnim žigom 12.9.2012, ki se ekstrahira pri namestitvi programskega paketa:

openx-2.8.10/etc/plugins/openXVideoAds.zip 
     md5: 6b3459f16238aa717f379565650cb0cf  

Napadalci uporabijo stranska vrata za vzpostavitev PHP ukazne lupine v /www/images/debugs.php, s čimer si lahko pridobijo popoln nadzor nad spletnim strežnikom.

Priporočamo pregled logov in odstranitev OpenX, dokler zadeva ni rešena!