Achtung: Anzeigen-Server OpenX enthält eine Hintertür

In den offiziellen Downloads vom OpenX-Server hat heise Security eine Hintertür gefunden, die offenbar seit fast einem Jahr vorhanden ist und bereits aktiv für Angriffe auf Anzeigen-Server genutzt wird.

In Pocket speichern vorlesen Druckansicht 159 Kommentare lesen
Lesezeit: 3 Min.

Die aktuelle Version der Anzeigen-Server-Software OpenX enthält eine Hintertür, über die ein Angreifer beliebigen PHP-Code in den Server einschleusen und ausführen kann. Der bisher unbekannte Hintertür-Code findet sich im Download-Paket der aktuellen Version OpenX 2.10 und wird akut für Angriffe genutzt.

OpenX ist eine Open-Source-Software zur Auslieferung von Werbemitteln. Bei einer "Routine-Kontrolle" eines Anzeigen-Servers entdeckte heise-Security-Leser Heiko Weber merkwürdige Logfile-Einträge, deren Analyse zur Entdeckung einer Hintertür im OpenX-Quellcode führte. Er informierte heise Security; wir konnten seine Beobachtungen nachvollziehen und meldeten den Sachverhalt am Montagmorgen dem Security-Kontakt des OpenX-Teams. Bislang erfolgte jedoch keine Reaktion. Das von heise Security ebenfalls informierte CERT-Bund erklärte, dass man das Vorhandensein der Backdoor bestätigen kann.

Die Backdoor findet sich in den Download-Archiven des Servers von OpenX – und zwar sowohl in openx-2.8.10.zip als auch in der tgz- und der bz2-Version. Es ist bisher weder bekannt, welche Versionen darüber hinaus betroffen sein könnten, noch wie der Code dorthin gekommen ist. Allerdings findet sich die Hintertür bereits in einem Download aus November 2012; sie dürfte also mindestens ein dreiviertel Jahr unbemerkt online gewesen sein.

Wer selbst einen OpenX-Server administriert, kann den Backdoor-Code mit folgendem Befehl aufspüren:

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

Wenn das einen Dateinamen meldet, handelt es sich um eine JavaScipt-Datei, die mit eingestreuten Kommentaren obfuszierten PHP-Code enthält:

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 ...

Die Datei wird durch einen Aufruf von require_once() aktiviert, der sich mit der richtigen URL von außen triggern lässt; sie ist in einem ZIP-Archiv enthalten, die das Datum 12.9.2012 trägt:

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

Das Paket wird bei einer normalen Installation anscheinend ausgepackt. Auf dem analysierten Server nutzten die Einbrecher die Hintertür, um eine PHP-Shell in /www/images/debugs.php abzulegen, über die sie dann vollen Zugriff auf den Server hatten. Deren Einträge in der Log-Datei führten letztlich zur Entdeckung.

Wer einen betroffenen Server verwaltet, sollte diesen sofort außer Betrieb nehmen und eine detaillierte Analyse der Log-Dateien vornehmen. Sobald das OpenX-Team reagiert, werden wir weitere Informationen veröffentlichen.

Bereits vor einigen Monaten hatte das BSI vor massiven Angriffen gewarnt, bei denen Unbekannte versuchten, die Besucher von Web-Seiten über Anzeigen mit Trojanern zu infizieren. Viele der beobachteten Server, die die bösartigen Werbemittel auslieferten, liefen mit OpenX. Eine Hintertür in der aktuellen Version lässt dies in einem neuen Licht erscheinen.

Update 7:50 6.8.2013: Das OpenX-Security-Team hat bestätigt, dass es die betroffenen Dateien vom Server entfernt hat und an einem offiziellen Advisory arbeite. (ju)