=========================================================================== DAVINCI SPURENSUCHE – Anleitung Kostenlose Prüfung eines Webservers nach einem Vorfall =========================================================================== Sie brauchen dafür keine Programmierkenntnisse. Sie brauchen einen Zugang zum Server und etwa zehn Minuten. --------------------------------------------------------------------------- WAS DAS WERKZEUG MACHT – UND WAS NICHT --------------------------------------------------------------------------- Es sucht nach den Spuren, die nach einem erfolgreichen Angriff auf einen PHP-Server üblicherweise zurückbleiben. Es liest dabei nur. Es verändert nichts. Keine Datei wird gelöscht, verschoben oder repariert. Das ist Absicht, siehe unten. Es sendet nichts. Keine Verbindung ins Internet, kein Rückkanal. Der Bericht bleibt auf Ihrem Server. Es garantiert nichts. Ein leerer Befund heißt: Die gesuchten Spuren wurden nicht gefunden. Nicht: alles ist sauber. --------------------------------------------------------------------------- SCHRITT 1: PRÜFEN, OB PHP AUF DER KOMMANDOZEILE LÄUFT --------------------------------------------------------------------------- LINUX (über SSH angemeldet): php -v WINDOWS SERVER (Eingabeaufforderung als Administrator): php -v Es muss eine Versionsnummer erscheinen, zum Beispiel "PHP 8.2.35 (cli)". Kommt stattdessen "Befehl nicht gefunden" oder "php wird nicht als Befehl erkannt", suchen Sie die Datei: Linux: which php oder ls /usr/bin/php* Windows: dir C:\php\php.exe Auf Windows liegt PHP oft unter C:\php\php.exe. Dann schreiben Sie in allen folgenden Befehlen diesen vollen Pfad statt nur "php". --------------------------------------------------------------------------- SCHRITT 2: DIE DATEI AUF DEN SERVER LEGEN --------------------------------------------------------------------------- Legen Sie davinci-spurensuche.php an eine Stelle, die NICHT über das Internet erreichbar ist. Also nicht ins Webverzeichnis. Linux: /root/davinci-spurensuche.php oder /tmp/davinci-spurensuche.php Windows: C:\Temp\davinci-spurensuche.php Warum nicht ins Webverzeichnis: Das Werkzeug weigert sich zwar, über einen Browser zu starten. Aber Dateien, die dort nicht hingehören, gehören eben nicht dorthin – auch diese nicht. --------------------------------------------------------------------------- SCHRITT 3: STARTEN --------------------------------------------------------------------------- LINUX: sudo php /root/davinci-spurensuche.php --pfad /var/www/html WINDOWS SERVER (Eingabeaufforderung als Administrator): C:\php\php.exe C:\Temp\davinci-spurensuche.php --pfad C:\inetpub\wwwroot\ihre-seite.de Ersetzen Sie den Pfad hinter --pfad durch Ihr Webverzeichnis. Wenn Sie es nicht kennen, lassen Sie --pfad weg – das Werkzeug sucht dann an den üblichen Stellen. WARUM MIT ADMINISTRATORRECHTEN: Ohne sie kann das Werkzeug geplante Aufgaben, Autostarts und die Protokolle nicht lesen. Es läuft auch ohne, meldet dann aber im Abschnitt "NICHT GEPRÜFT", was es nicht einsehen konnte. Das ist ehrlicher als ein unvollständiges Ergebnis, das vollständig aussieht. --------------------------------------------------------------------------- SCHRITT 4: DEN BERICHT MITSCHREIBEN --------------------------------------------------------------------------- Damit Sie den Bericht weitergeben oder in Ruhe lesen können: Linux: sudo php /root/davinci-spurensuche.php --pfad /var/www/html --bericht /root/bericht.txt Windows: C:\php\php.exe C:\Temp\davinci-spurensuche.php --bericht C:\Temp\bericht.txt Die Datei bericht.txt können Sie mit jedem Texteditor öffnen. Die Prüfung dauert je nach Größe der Installation zwischen zehn Sekunden und drei Minuten. --------------------------------------------------------------------------- SCHRITT 5: DAS ERGEBNIS LESEN --------------------------------------------------------------------------- Der Bericht hat drei Stufen. Lesen Sie von oben nach unten. [!] SOLLTE SO NICHT SEIN Hier fällt uns keine harmlose Erklärung ein. Das heißt nicht zwingend, dass Sie angegriffen wurden – aber es gehört heute angesehen, nicht nächste Woche. [?] BITTE ANSEHEN Kann harmlos sein und ist es meistens auch. Baukästen und Erweiterungen erzeugen solche Muster regelmäßig. Durchgehen, nicht erschrecken. [i] INFORMATION Kein Verdacht. Steht im Bericht, damit Sie den Zustand kennen – zum Beispiel, wie weit Ihre Protokolle zurückreichen. NICHT GEPRÜFT Punkte, an die das Werkzeug nicht herankam. Die sind weder in Ordnung noch auffällig, sondern offen. Diesen Abschnitt bitte nicht überspringen. --------------------------------------------------------------------------- WICHTIG: WAS SIE JETZT NICHT TUN SOLLTEN --------------------------------------------------------------------------- LÖSCHEN SIE NICHTS. Das ist der häufigste und teuerste Fehler nach einem Fund. Der Grund: Nach jedem Vorfall lautet die erste Frage "seit wann?". Erst die Antwort darauf sagt Ihnen, welche Datensicherung noch sauber ist. Diese Antwort steckt in den Zeitstempeln der gefundenen Dateien und in den Zugriffsprotokollen. Wer zuerst aufräumt, löscht genau die Angaben, die er danach braucht – und muss im Zweifel auf eine Sicherung zurück, die Monate alt ist. Ebenso wenig hilft es, nur die gefundene Datei zu entfernen. Ist die Lücke offen, ist sie am nächsten Tag wieder da. Dann allerdings ohne die Spur, an der man den Zeitraum hätte ablesen können. Die richtige Reihenfolge: 1. Bericht sichern (die Datei aus Schritt 4) 2. Zugriffsprotokolle wegkopieren, bevor sie rotieren 3. Eine Sicherung des aktuellen Zustands anlegen – auch des befallenen. Man braucht sie später. 4. Erst danach entscheiden, was entfernt wird --------------------------------------------------------------------------- HÄUFIGE FRAGEN --------------------------------------------------------------------------- Kann das Werkzeug meinen Server beschädigen? Nein. Es öffnet Dateien ausschließlich zum Lesen. Die einzige Datei, die es schreibt, ist der Bericht – und nur, wenn Sie --bericht angeben. Sie können den Quelltext vorher lesen; er ist kommentiert und nicht verschleiert. Verlangsamt es den Server? Während des Laufs wird das Dateisystem gelesen, das erzeugt Last. Bei sehr großen Installationen empfiehlt sich eine ruhige Stunde. Warum findet es bei mir 20 gelbe Treffer? Weil WordPress, TYPO3 und ihre Erweiterungen Techniken verwenden, die auch in Schadcode vorkommen. Deshalb sind sie gelb und nicht rot. Ein Werkzeug, das jedes base64 rot färbt, ist unbrauchbar. Es meldet "abgewehrte Zugriffsversuche". Wurde ich angegriffen? Versucht ja, erfolgreich nein. Jeder öffentlich erreichbare Server wird rund um die Uhr nach Hintertüren abgesucht. Abgewehrt heißt: Es gab nichts zu finden. Das Werkzeug zählt diese Versuche nur, damit Sie das Rauschen einordnen können. Läuft es auch bei geteiltem Webspace ohne SSH? Nur eingeschränkt. Ohne Kommandozeile fehlt der Zugang. Viele Anbieter stellen einen SSH-Zugang auf Anfrage bereit. Was ist, wenn gar nichts gefunden wird? Dann wurden die gesuchten Spuren nicht gefunden. Das ist eine gute Nachricht und keine Garantie. Wer genug Rechte hat, um sich einzunisten, hat auch genug, um ein Werkzeug zu täuschen, das auf demselben System läuft. Sicherheit gibt nur eine Prüfung von außen oder an einem abgezogenen Abbild. --------------------------------------------------------------------------- WENN SIE EINEN ROTEN BEFUND HABEN --------------------------------------------------------------------------- Schicken Sie uns den Bericht. Wir sehen ihn uns an und sagen Ihnen, was er bedeutet – auch dann, wenn die Antwort lautet, dass nichts passiert ist. post@davinci-rechenzentrum.de +49 621 877 55 990 https://davinci-rechenzentrum.de/php-spurensuche DAVINCI Rechenzentrum GmbH, Mannheim =========================================================================== Frei verwendbar, auch gewerblich. Ohne Gewähr. ===========================================================================