Ungerade Datei vor Ort gefunden: Sollte ich besorgt sein?

7

Ich fand eine PHP-Datei, die auf unseren Webserver hochgeladen wurde und sich an unserer Formularüberprüfung vorbei geschlichen hatte. Ich habe etwas gesucht und es gab nur sehr wenige Informationen zu dieser Datei, aber die geringe Menge, die ich gefunden habe, hat sie definitiv bösartig erscheinen lassen.

Hier ist der Inhalt der Datei: http://pastebin.com/zfbHMe9M

Was wollte diese Datei erreichen? Gibt es etwas, das ich überprüfen oder mir Sorgen machen sollte? Ich habe die Datei von meiner Website entfernt.

Vecta
quelle

Antworten:

7

Es ist ein Skript zum Hochladen weiterer Dateien auf den Server.

Der Code kam mir bekannt vor, daher habe ich eine der darin enthaltenen Zeichenfolgen gegoogelt: Es handelt sich um eine modifizierte Version des Beispiel-Upload-Codes für PHP-Dateien von dieser Seite . Im Gegensatz zum Beispielcode setzt die geänderte Version die $uploaddirVariable jedoch auf dasselbe Verzeichnis, aus dem sie ausgeführt wird, sodass jeder, der sie verwendet, mehr Dateien in dasselbe Verzeichnis hochladen kann (und das Skript sogar mit etwas anderem überschreiben kann, wenn er möchte).

Seltsamerweise scheint das Skript das Hochladen von Dateien in andere Verzeichnisse als das, in dem es sich befindet, nicht zuzulassen. Wenn es einem Angreifer jedoch gelingt, dieses Skript auf Ihre Site hochzuladen und auszuführen, bedeutet dies, dass sie vermutlich ausgeführt werden können Alle anderen Skripte, die sie damit hochladen.

Ob (und wie viel) Sie sich Sorgen machen sollten, hängt davon ab, ob der Angreifer es tatsächlich geschafft hat, das Skript auszuführen. Die bloße Tatsache, dass es hochgeladen wurde, bedeutet nicht unbedingt, dass der Angriff erfolgreich war, wenn Dateiberechtigungen oder die Webserverkonfiguration den Server daran gehindert haben, ihn als PHP-Code auszuführen. Das Vorhandensein des Skripts auf Ihrem Server bedeutet jedoch zumindest, dass jemand versucht hat , sich in das Skript zu hacken.

Ilmari Karonen
quelle
2

Ja, du solltest besorgt sein. Sie müssen den Webserver access_log überprüfen und nach dem hochgeladenen Dateinamen suchen, um festzustellen, ob er einem 200-Statuscode zugeordnet ist. Wenn dies der Fall ist, wird eine IP-Adresse zugeordnet. Nehmen Sie diese IP-Adresse und durchsuchen Sie das access_log weiter, um zu sehen, auf was auf dem Server noch auf die IP-Adresse zugegriffen wurde. Es ist am besten, nach dem gesamten Bereich zu suchen und nicht nur nach einer IP-Adresse.

Bereichsbeispiel: 123.12.14.xxx anstelle von 123.12.14.15

Es ist wichtig festzustellen, ob es ihnen gelungen ist, andere Dateien mit erhöhten Berechtigungen auf den Server hochzuladen.

JMC
quelle
Beachten Sie, dass ein Zugriffsprotokolleintrag mit einem Statuscode von 200 nicht unbedingt bedeutet, dass der Angriff erfolgreich war: Je nachdem, wie der Server konfiguriert wurde, konnte möglicherweise jemand die Datei herunterladen, aber nicht als PHP ausführen. Wenn Sie sich nicht sicher sind, ist es sicherer anzunehmen, dass der Angriff erfolgreich war. (Auch wenn Sie POST-Anfragen an dieses Skript in den Protokollen sehen, ist es viel wahrscheinlicher, dass der Angriff erfolgreich war.)
Ilmari Karonen
0

Auf allen meinen WordPress-Sites verwende ich ein Plugin namens WordPress File Monitor http://wordpress.org/extend/plugins/wordpress-file-monitor/, das mir eine E-Mail sendet, wenn Dateien auf dem Server geändert wurden.

Ich halte Plugins und Kern-Apps auf dem neuesten Stand, suche nach Schwachstellen und verwende das Dateiüberwachungs-Plugin nur für den Fall eines XSS-Angriffs. Normalerweise ist es ein Plugin, das eine gewisse Sicherheitslücke aufweist.

Wenn auf Ihrer Website WordPress ausgeführt wird, würde ich empfehlen, das Plugin zu verwenden, um eine E-Mail zu erhalten, sobald Dateien zu Ihrem Server hinzugefügt oder geändert werden.

Wenn Sie WordPress nicht ausführen, bitten Sie Ihre Entwickler, PHPIDS https://phpids.org/ zu implementieren.

Anagio
quelle