Zum Inhalt springen
0621 877 55 990

Das Journal des DAVINCI RechenzentrumsMittwoch, 21. Oktober 2026262 Beiträge · 14 Ressorts

DAVINCI Journal

IT-Sicherheit & Cybersecurity

PHP2Shell-Angriff erkennen: Diese Spuren bleiben zurück

Der Patch ist eingespielt, die Website läuft wieder. Damit ist die Lücke zu, aber eine Frage bleibt offen: War vorher schon jemand da?

Zwei Monitore mit langen Protokollzeilen, davor eine Hand an der Maus und ein Notizblock mit markierten Zeitstempeln
Symbolbild, künstlich erzeugtStand der Angaben: Oktober 2026

Der Patch ist eingespielt, die Website läuft wieder. Damit ist die Lücke zu, aber eine Frage bleibt offen: War vorher schon jemand da? Bei PHP2Shell (CVE-2026-109618 und CVE-2026-109619) ist diese Frage berechtigt, denn Angriffe liefen nachweislich schon, bevor der Patch überhaupt verfügbar war. Eine Remote Code Execution hinterlässt Spuren – man muss nur wissen, wo man sucht.

Falls Sie noch nicht gepatcht haben: Das kommt zuerst, nachzulesen unter PHP-Sicherheitslücke PHP2Shell. Dieser Beitrag setzt dort an, wo das erledigt ist.

Vorweg eine ehrliche Einordnung: Zum jetzigen Zeitpunkt gibt es keine bestätigten technischen Erkennungsmerkmale, keine veröffentlichten Dateinamen, keine Liste bekannter Angreiferadressen. Was es gibt, sind Verhaltensmuster. Danach suchen Sie.

Warum man nach Verhalten sucht, nicht nach Dateien

Ein klassisches Schadprogramm kommt als Datei und lässt sich an seinem Fingerabdruck erkennen. Bei einer Remote Code Execution ist das anders: Der Angreifer bringt zunächst gar nichts mit. Er bringt den vorhandenen Webserver dazu, etwas zu tun, das er nicht tun soll. Die erste Spur ist deshalb kein verdächtiges Programm, sondern ein Prozess, der an dieser Stelle nichts verloren hat.

Das ist auch der Grund, warum ein Virenscanner hier wenig meldet. Er sucht nach Bekanntem. Gesucht werden muss nach Unpassendem.

Spur 1: Kindprozesse, die es nicht geben dürfte

Das ist der wichtigste Hinweis. Ein PHP-Arbeitsprozess beantwortet Webanfragen. Er startet keine Befehlszeile.

Sehen Sie nach, ob `php-fpm`, `php-cgi` oder `apache2` Prozesse gestartet haben wie:

  • Befehlszeilen: `bash`, `sh`, `cmd.exe`, `powershell.exe`
  • Interpreter: `python`, `perl`
  • Werkzeuge zum Nachladen: `curl`, `wget`

Jeder einzelne dieser Funde ist erklärungsbedürftig. Es gibt Anwendungen, die aus PHP heraus legitim ein Programm aufrufen – Bildbearbeitung oder PDF-Erzeugung etwa. Deshalb gilt: nicht jeder Treffer ist ein Angriff, aber jeder Treffer gehört angesehen und zugeordnet.

Für Linux-Systeme gibt es frei verfügbare Werkzeuge, die neu gestartete Prozesse mitschreiben. Sinnvoll ist das vor allem jetzt, in den Tagen nach der Veröffentlichung: Wer mitschreibt, sieht einen zweiten Versuch sofort.

Spur 2: Muster einer Gegenverbindung

Wer Code ausführen kann, will meist eine dauerhafte Verbindung. Üblich ist die Gegenverbindung – der Server baut die Verbindung nach außen auf, weil das durch Firewalls leichter durchkommt als umgekehrt. Typische Zeichenfolgen in Protokollen und Dateien sind:

  • `/dev/tcp/` – eine Linux-Eigenheit, mit der sich aus der Befehlszeile heraus eine Netzverbindung öffnen lässt
  • `fsockopen` – die entsprechende PHP-Funktion
  • `mkfifo` – legt einen Kanal an, über den Ein- und Ausgabe umgeleitet werden

Diese Zeichenfolgen tauchen in normalem Anwendungscode selten auf. Ein Treffer im Verzeichnis Ihrer Website ist ein deutliches Zeichen.

Spur 3: Jemand sieht sich um

Wer auf einem fremden System landet, orientiert sich zuerst. Die Befehle dafür sind seit Jahrzehnten dieselben: `whoami` und `id` klären, als welcher Benutzer man unterwegs ist, `uname -a` und `ipconfig` verraten System und Netz.

Diese Befehle sind für sich harmlos. Auffällig ist der Zusammenhang: Wenn sie kurz nacheinander und ausgelöst durch einen Webserver-Prozess auftauchen, hat sich jemand umgesehen, der nicht eingeladen war.

Spur 4: Was zurückbleibt

Der Zugang über die Lücke ist flüchtig – nach dem Patch funktioniert er nicht mehr. Deshalb legen Angreifer sich in aller Regel einen zweiten Weg an. Sehen Sie nach:

  • Neue oder veränderte Dateien im Verzeichnis der Website. Eine Webshell ist oft nur eine kleine PHP-Datei mit unverdächtigem Namen. Vergleichen Sie den Bestand mit Ihrer letzten Sicherung – das ist der verlässlichste Weg.
  • Neue zeitgesteuerte Aufgaben, also Cronjobs unter Linux oder geplante Tasks unter Windows.
  • Neue Benutzerkonten, auf dem System wie in der Anwendung. Ein zusätzlicher Administrator im Redaktionssystem fällt im Alltag kaum auf.
  • Veränderte Konfigurationsdateien, insbesondere solche, die bei jedem Start gelesen werden.

Der Zeitraum, den Sie prüfen müssen

Die Details sind am 20. Oktober 2026 vorzeitig öffentlich geworden, Angriffsverkehr wurde am 21. Oktober ab 07:43 Uhr UTC beobachtet – vor Veröffentlichung des Patches. Der interessante Zeitraum beginnt also am 20. Oktober und endet dann, wenn Sie aktualisiert haben. Prüfen Sie großzügig: Lieber einen Tag zu viel ansehen als einen zu wenig.

Wenn Sie etwas finden

Dann ändert sich das Vorgehen grundlegend, und zwar sofort.

Nicht aufräumen. Der erste Reflex – verdächtige Datei löschen, Passwörter ändern, Dienst neu starten – vernichtet genau die Spuren, die man für die Rekonstruktion braucht. Und er warnt den Angreifer.

Stattdessen sichern. Protokolle, Dateistände und, wenn möglich, ein vollständiges Abbild des Systems. Erst danach wird eingegriffen.

Vom Beweis her denken. Bis belegt ist, wie jemand hereingekommen ist und was er getan hat, gilt das System als nicht vertrauenswürdig. Wer dabei vorschnell Entwarnung gibt, baut die neue Umgebung unter Umständen auf einem Fundament auf, in dem der Angreifer noch sitzt.

Wie das in der Praxis abläuft, beschreibt unser IT-Notfallplan. Bei einem bestätigten Zugriff ist ein geordnetes Vorgehen mehr wert als Geschwindigkeit. Wer den Ernstfall einmal ohne Ernstfall durchspielen will, findet die Anleitung unter Ransomware-Krisenübung am Tisch.

Haben Sie den Dienst bereits abgeschaltet, beschreibt Website vom Netz genommen den geordneten Weg zurück.

Was ein sauberes Ergebnis wert ist – und was nicht

Wenn Sie nichts finden, ist das eine gute Nachricht, aber kein Freispruch. Protokolle werden überschrieben, Angreifer räumen hinter sich auf, und manche Spuren entstehen erst später. Realistisch formuliert lautet das Ergebnis: „In den vorhandenen Aufzeichnungen des geprüften Zeitraums gibt es keine Hinweise auf einen erfolgreichen Zugriff." Das ist eine belastbare Aussage. „Wir wurden nicht angegriffen" ist es nicht.

Genau hier zeigt sich, wie viel eine zentrale Protokollierung wert ist. Wer Protokolle nur lokal auf dem betroffenen System vorhält, hat im Ernstfall das Beweismittel dort liegen, wo der Angreifer es ändern konnte.

Checkliste: erste Schritte

  • Zeitraum ab dem 20. Oktober 2026 bis zum eigenen Patch festlegen
  • Prozessprotokolle auf Kindprozesse von `php-fpm`, `php-cgi` und `apache2` durchsehen
  • Website-Verzeichnis nach `/dev/tcp/`, `fsockopen` und `mkfifo` durchsuchen
  • Dateibestand mit der letzten bekannt guten Sicherung vergleichen
  • Zeitgesteuerte Aufgaben und Benutzerkonten auf Neuzugänge prüfen
  • Administratorkonten in CMS, Shop und Webmail durchzählen
  • Bei einem Fund: nichts löschen, Protokolle und Abbild sichern, Hilfe holen
  • Ergebnis mit Zeitraum und Prüfumfang schriftlich festhalten

Wie DAVINCI unterstützt

Wir sehen uns Ihre Systeme auf die hier beschriebenen Spuren an, sichern Beweismittel, bevor etwas verändert wird, und sagen Ihnen klar, was belegt ist und was offen bleibt. Für bestätigte Vorfälle übernimmt unser Incident Response die Aufarbeitung. Im akuten Fall erreichen Sie uns rund um die Uhr über IT-Notfall, sonst über die Kontaktseite.

Häufige Fragen

Mein Virenscanner meldet nichts. Reicht das?

Nein. Ein Virenscanner erkennt bekannte Schadprogramme. Bei einer Remote Code Execution bringt der Angreifer zunächst keine Datei mit, sondern missbraucht einen laufenden Dienst. Die aussagekräftige Spur ist ein unpassender Prozess, kein bekannter Fingerabdruck.

Wir haben keine Prozessprotokollierung. Was dann?

Dann beginnen Sie bei dem, was da ist: Webserver-Protokolle, Dateidaten im Website-Verzeichnis, Cronjobs und Benutzerkonten. Ein Abgleich mit der letzten Sicherung bringt oft mehr als jedes Werkzeug. Und richten Sie die Protokollierung jetzt ein – für den zweiten Versuch.

Wie lange sollten wir Protokolle aufbewahren?

Aus unserer Praxis: mindestens zwölf Monate, zentral und außerhalb des überwachten Systems. Das ist keine gesetzliche Frist, sondern die Erfahrung aus Fällen, in denen der Zugang Monate vor dem Schaden entstand. Zweck, Zugriff und Löschung gehören datenschutzkonform geregelt.

Der Dienstleister sagt, es sei nichts passiert. Genügt das?

Lassen Sie sich sagen, welcher Zeitraum geprüft wurde, welche Quellen angesehen wurden und was das Ergebnis konkret ist. „Alles in Ordnung" ohne Prüfumfang ist keine Aussage, auf die Sie sich im Schadensfall stützen können.

Sollen wir die Website vorsichtshalber neu aufsetzen?

Nicht pauschal. Ein Neuaufbau ohne Klärung des Eintrittswegs kann dieselbe Lücke wieder mitbringen, und eingespielte Sicherungen können den Angreifer enthalten. Erst klären, dann entscheiden – und das Datum der letzten bekannt guten Sicherung kennen.

Verwandte Themen: Wer hier weiterdenkt, liest bei PHP-Sicherheitslücke, Incident Response und Phishing und Ransomware weiter.

Im Text erwähnt

Quellen

  1. Rapid Response: php2shell, Leaked Critical PHP Vulnerabilities · Huntress
  2. PHP2Shell: Critical PHP RCE (CVE-2026-109618, CVE-2026-109619) · Sansec
  3. PHP: Kritische Schwachstellen bedrohen Webanwendungen weltweit, Cybersicherheitswarnung 2026-297981-1032, Version 1.1 (21.10.2026) · BSIamtlich
  4. php2shell (CVE-2026-109618, CVE-2026-109619): Frequently Asked Questions · Tenable

Verwandte Beiträge

Zur Titelseite →
IT-Sicherheit & Cybersecurity

Website vom Netz genommen: der geordnete Wiederanlauf

Sie haben heute den Stecker gezogen – Website offline, Shop geschlossen, vielleicht auch das Ticketsystem abgeklemmt. Das war in vielen Fällen richtig; das BSI nennt das Trennen vom Internet ausdrücklich als Alternative zum sofortigen Patch.

IT-Sicherheit & Cybersecurity

Der QR-Code auf dem Brief: Wie Quishing am E-Mail-Filter vorbeikommt

Ein Schreiben im Namen der Bank, ein Aufkleber an der Ladesäule, eine Rechnung mit Code zum Bezahlen: Beim Quishing steckt der Phishing-Link in einem QR-Code. Er wird mit dem Telefon geöffnet – dort, wo kein Firmenfilter mitliest und die Adresszeile kaum zu lesen ist.