IT-Service Walter · Version 2.0.1
PHP Security Scanner
Jede PHP-Installation finden, bevor es ein Angreifer tut. Der PHP Security Scanner durchsucht alle Windows-Server im Active Directory, bewertet jede Installation und jede PHP-Webanwendung auf PHP2Shell, bekannte Schwachstellen, Supportende und Fehlkonfiguration, sucht nach Spuren eines Angriffs und liefert die Behebung gleich mit – vollständig in Ihrer eigenen Umgebung.
PHP steckt dort, wo niemand hinschaut
Unter Windows kommt PHP selten über einen Installer. Es wird von Fachanwendungen mitgebracht, liegt entpackt unter C:\PHP, steckt in einem alten XAMPP-Ordner oder hängt an einer IIS-Site, die niemand mehr verwaltet. In der Liste der installierten Programme taucht es nicht auf – und damit in keiner Inventur.
Niemand kennt alle Installationen
Das Monitoring-Frontend, das Ticketsystem, ein vergessenes phpMyAdmin: Auf die Frage „Wo läuft bei uns PHP?“ fallen den meisten zwei oder drei Server ein. Gefunden werden fast immer mehr.
PHP2Shell trifft die Vergessenen
CVE-2026-109618 und CVE-2026-109619 erlauben im schlimmsten Fall Codeausführung ohne Anmeldung – bevor die Anwendung startet. Für PHP 8.1 und älter gibt es keine Korrektur mehr. Patchen lässt sich nur, was man kennt.
Inventur, Bewertung und Nachweis
Der Scanner findet PHP auf allen Wegen, bewertet jede Installation nach ihrer Einbindung, prüft die Webanwendungen gleich mit und sagt ehrlich, ob die Spurensuche auf einem Server aussagekräftig ist.
Vom Verdacht zum belastbaren Ergebnis
Der Ablauf in vier Schritten: Server auswählen, scannen, bewerten, beheben. Danach übernimmt der geplante Scan die regelmäßige Kontrolle und meldet nur, was neu ist.
Server im AD-Explorer zusammenstellen
OU-Baum links, Computer rechts – mit Betriebssystem, Rolle und letzter Anmeldung. Filter blenden Clients, Domänencontroller und inaktive Konten aus, die Markierung bleibt über OUs hinweg erhalten. Server außerhalb der Domäne kommen von Hand dazu, dauerhaft ausgeschlossene bleiben draußen.
Ampel vor dem Scan, Fortschritt währenddessen
Die Vorprüfung klärt Namensauflösung, WinRM, Anmeldung, Adminrechte, PowerShell und Protokollierung je Server. Der Scan läuft dann parallel per WinRM, rein lesend; der aktuelle Schritt je Server ist live sichtbar.
Jede Installation mit Version, CVEs und php.ini
Abgleich mit NVD, CISA KEV, endoflife.date und Packagist, Bewertung der wirksamen php.ini, Prüfung der Webanwendungen und Webverzeichnisse, Spurensuche ab einem frei wählbaren Datum.
Fertige Behebung, Verlauf und Bericht
php.ini-Block, passender Download und PowerShell-Skript für die IIS-Umstellung je Installation. Der Verlauf zeigt, was neu und was behoben ist – mit Behebungsdauer für den Auditor.
Was das Werkzeug leistet
Von der Serverauswahl über Schwachstellen, Konfiguration und Webanwendungen bis zur Spurensuche und automatischen Überwachung. Die wichtigsten Funktionen im Überblick.
PHP auf allen Wegen finden
FastCGI-Anwendungen und Handler aus applicationHost.config und web.config, httpd.conf mit mod_php, CGI und mod_fcgid, Dienste, laufende Prozesse, Registry, bekannte Ordner wie XAMPP, WAMP oder Laragon und eine Dateisuche über alle lokalen Laufwerke – auf Wunsch als Tiefensuche.
Bewertung nach Einbindung
Am IIS, im Apache, als Dienst, als laufender Prozess oder nur als Dateien: Eine verwundbare Version am Webserver ist kritisch, ein vergessener Ordner ohne Einbindung weniger dringend, bleibt aber sichtbar. Prozesse mit altem Programmstand nach einem Update werden gesondert gemeldet.
Die php.ini, die wirklich gilt
Der Scanner geht den Weg wie PHP selbst: PHPRC, PHPIniDir, IniFilePath, Programmordner und Zusatzdateien aus PHP_INI_SCAN_DIR – systemweit oder je FastCGI-Anwendung. Für jede Direktive stehen Ist, Soll und die Datei, aus der der Wert stammt.
Schwachstellen mit aktuellen Daten
PHP2Shell, CVE-2024-4577 und das Supportende sind eingebaut und funktionieren offline. Online kommen NVD-Abgleich, CISA KEV und endoflife.date dazu. Übertragen werden nur Produktnamen und Versionen, zwischengespeichert für 24 Stunden.
Webanwendungen gleich mit
WordPress, Nextcloud, Moodle, phpMyAdmin, Joomla, Drupal, GLPI, Zabbix-Frontend und Roundcube mit Version, CVEs und Supportende. Composer-Projekte werden mit allen Paketen aus der composer.lock gegen Packagist geprüft.
Riskante Dateien im Webverzeichnis
phpinfo-Seiten, Adminer, Sicherungskopien, .env-Dateien, SQL-Dumps und .git-Ordner – unter Apache meist abrufbar, unter IIS oft nicht, entsprechend bewertet. In .user.ini und .htaccess fallen auto_prepend_file, Upload-Progress und Handler auf, die Bilder als PHP ausführen.
Spurensuche mit ehrlicher Aussagekraft
Prozessstarts aus Ereignis 4688 und Sysmon, Webshell-Merkmale in neuen und Upload-Dateien, bekannte Angriffsmuster in IIS- und Apache-Protokollen. Je Server bewertet der Scanner, ob „keine Treffer“ überhaupt etwas bedeutet.
Eine Log-Signatur für PHP2Shell gibt es bewusst nicht: Der Angriff steckt im Anfrageinhalt, der nicht im Protokoll steht.
Behebungshilfe je Installation
php.ini-Block mit den empfohlenen Werten, Link auf die passende korrigierte Version (NTS oder TS, Compiler, Architektur) und für IIS ein PowerShell-Skript, das FastCGI, Handler und PHPRC umstellt – mit vorheriger Sicherung der IIS-Konfiguration.
Verlauf und Risikoakzeptanz
Jeder Befund trägt sein erstes Auftreten; was verschwindet, gilt als behoben. Mittlere Behebungsdauer, mittlere Offen-Dauer und ältester offener CRITICAL. Bewusst getragene Risiken mit Begründung, Verantwortlichem und Ablauf nach höchstens 365 Tagen.
Berichte und Automatisierung
PDF, HTML, CSV, JSON und Behebungsplan, Versand per SMTP. Geplanter Scan als SYSTEM oder gMSA, Mail nur bei neuen HIGH/CRITICAL-Befunden, eigenes Ereignisprotokoll für das SIEM und ein Silent-Modus mit Exit-Codes für RMM-Werkzeuge.
Befunde, die zum Prüfer passen
Jeder Befund nennt Empfehlung und Referenz. Verlauf, Behebungsdauer und befristete Risikoakzeptanz liefern die Nachweise, die ISO-27001- und NIS2-Audits verlangen.
| Rahmenwerk | Bezug | Was der Scanner beiträgt |
|---|---|---|
| BSI IT-Grundschutz | APP.3.2 Webserver, APP.3.1 Webanwendungen | Version, Konfiguration und riskante Dateien je Installation und Site |
| BSI IT-Grundschutz | OPS.1.1.3 Patch- und Änderungsmanagement | CVEs, Supportende, Behebungsplan, Verlauf mit Behebungsdauer |
| BSI IT-Grundschutz | OPS.1.1.5 Protokollierung, DER.2.1 Sicherheitsvorfälle | Prüfung der Prozessprotokollierung, Spurensuche, Aussagekraft je Server |
| NIS2 | Art. 21 Schwachstellenmanagement, Art. 23 Meldepflichten | Regelmäßiger Scan, Nachweis, Grundlage für die Vorfallbewertung |
| CIS Controls | 2, 4, 7, 8 und 16 | Software-Inventar, sichere Konfiguration, Schwachstellen, Protokolle, Anwendungen |
Die Zuordnung erfolgt in Anlehnung an die jeweiligen Rahmenwerke. Sie ersetzt keine Prüfung durch Auditoren.
Ein Scanner mit Adminrechten muss selbst dicht sein
Der PHP Security Scanner meldet sich mit Administratorrechten auf allen Servern an. Deshalb gilt für das Werkzeug selbst ein durchgehendes Sicherheitsmodell.
Rein lesend
Auf den Zielservern wird nichts installiert und nichts verändert. Die Behebung führen Sie selbst aus – das Werkzeug liefert die Skripte, startet sie aber nicht.
AES-256 für Kennwörter
WinRM- und SMTP-Kennwort sowie der NVD-Schlüssel liegen verschlüsselt in einem Benutzertresor und für den geplanten Scan in einem Maschinentresor, auf den nur SYSTEM und Administratoren zugreifen.
Keine Kennwörter in der Befehlszeile
An PowerShell gehen Kennwörter ausschließlich über die Standardeingabe. In Prozesslisten und Ereignis 4688 tauchen sie nicht auf.
Dienstkonto statt Kennwort
Der geplante Scan läuft als SYSTEM oder unter einem gMSA. Ein gespeichertes Administratorkennwort ist dafür nicht nötig.
Geschützter Datenbereich
Der Datenordner unter %ProgramData% wird bei jedem Start abgesichert. Dateien, die nicht von Administratoren stammen, landen in Quarantäne – so lassen sich Befunde nicht durch untergeschobene Versionsdaten unterdrücken.
Lückenloses Protokoll
Jede Aktion steht mit Zeit, Konto und Ergebnis im Protokoll und im eigenen Kanal der Ereignisanzeige; neue HIGH/CRITICAL-Befunde mit eigener Ereignis-ID.
Betrieb und Voraussetzungen
Kein Agent, kein Webserver, keine Cloud. Das Werkzeug läuft auf einem Domänenmitglied und arbeitet mit WinRM und PowerShell – den Bordmitteln von Windows.
Systemvoraussetzungen
| Betriebssystem | Windows Server 2019 oder neuer, Windows 11 – Domänenmitglied |
| Laufzeit | .NET 10 Desktop Runtime |
| Zielserver | Windows PowerShell 5.1, WinRM (TCP 5985 bzw. 5986) |
| Rechte | Lokaler Administrator auf den Zielservern, Lesezugriff auf das AD |
| Internet | Optional: NVD, CISA, endoflife.date, Packagist |
Ergebnisse und Protokolle
| Berichte | PDF, HTML, CSV, JSON, Behebungsplan |
| SMTP mit SSL/TLS, Kurzfassung mit PDF im Anhang | |
| Protokoll | Eigener Kanal in der Ereignisanzeige: „ISW PHP Security Scanner“ |
| Automatisierung | Geplanter Scan, Silent-Modus mit Exit-Codes 0 bis 5 |
Für wen es gedacht ist
IT-Abteilungen
Die nach PHP2Shell schnell und belastbar wissen müssen, auf welchen Servern PHP läuft – auch dort, wo es eine Fachanwendung oder ein Dienstleister mitgebracht hat.
Regulierte Bereiche
Unternehmen und Behörden mit Anforderungen aus NIS2, BSI IT-Grundschutz oder ISO 27001, die ihr Schwachstellenmanagement mit Verlauf und Fristen belegen müssen.
Systemhäuser und MSPs
Ein Scan je Kunde, ein Bericht, ein Behebungsplan, der sich direkt an den Kunden oder den Anwendungsbetreuer weitergeben lässt – und danach die automatische Überwachung.
Bezug und Kontakt
Einmalkauf als Standortlizenz ohne Benutzergrenze: 399,00 € inkl. 19 % MwSt., ohne Abonnement, Updates innerhalb der Hauptversion inklusive. Fragen zum Einsatz beantworte ich am schnellsten am Telefon.
Support: support@it-service-walter.com
Schreiben Sie kurz, wie viele Server Ihre Domäne hat und ob IIS oder Apache im Einsatz ist – dann
fällt die Antwort konkreter aus.
Shop
Die Werkzeuge der ISW-ADTools-Reihe werden über den Shop von IT-Service Walter vertrieben. Alle Angaben zu Ausstattung und Lizenzierung stehen auf der Produktseite.
