
Praktisches Labor zur Reproduktion von CVE-2019-11043 PHP-FPM RCE hinter nginx, das Reverse-Tunnel-Persistenz, Speicherforensik und Netzwerkverkehrsanalyse demonstriert.
Im Oktober 2019 veröffentlichten die Forscher Emil Lerner und Andrew Danau vom Debian Security Advisory eine Warnmeldung, die die Debian-Community vor einer kritischen Schwachstelle in PHP-FPM warnte. Aufgrund unzureichender Validierung im Pfadbehandlungscode von PHP-FPM konnten Angreifer speziell präparierte Anfragen manipulieren, um unter bestimmten NGINX- + PHP-FPM-Konfigurationen beliebigen Code aus der Ferne auszuführen.
Dieses Labor demonstriert die Ausnutzung von:
Eine Schwachstelle, die PHP-FPM hinter NGINX betrifft und es Angreifern bei Auslösung ermöglichen kann, beliebigen Code auszuführen und über Reverse-Tunneling Persistenz herzustellen.
Das Projekt erstellt eine verwundbare Umgebung nach, führt die Exploit-Kette aus und bewertet, wie Angreifer in realen Szenarien durch Tunneltechniken Persistenz erlangen.
Diese Angriffskette stimmt direkt mit mehreren wirkungsvollen MITRE-ATT&CK-Techniken überein:
| MITRE ID | Technique Name |
|---|---|
| T1071 | Application Layer Tunneling |
| T1572 | Protocol Tunneling |
| T1090 | Proxy / Reverse Proxy |
| T1505 | Server-Side Components (PHP-FPM) |
| T1574 | Hijacking Execution Flow |
Reverse-Tunneling zur Persistenzsicherung ist eine häufig genutzte TTP (Taktik, Technik, Prozedur), die von APT-Gruppen, Botnetzen und Ransomware-Betreibern eingesetzt wird. PHP-FPM ist weiterhin weit verbreitet in Produktionsumgebungen, und die von CVE-2019-11043 ausgenutzten Fehlkonfigurationen werden noch immer in freier Wildbahn beobachtet.
Das sind keine theoretischen Abstraktionen – sie spiegeln exakt die Verhaltensweisen wider, die in aktiven Angriffskampagnen von staatlichen Akteuren und Ransomware-Gruppen dokumentiert sind.
Obwohl CVE-2019-11043 bereits mehrere Jahre alt ist, bleibt die Schwachstelle aus folgenden Gründen der modernen Sicherheitsrealität relevant:
Legacy-PHP-Anwendungen gibt es weiterhin überall. Viele Organisationen betreiben weiterhin veraltete PHP-5.x/7.x-Stacks aufgrund langfristiger Webanwendungs-Abhängigkeiten, technischer Schulden oder der Angst, Produktionssysteme zu beschädigen. Diese Umgebungen bleiben oft ungepatcht und verwundbar.
NGINX + PHP-FPM ist eine der weltweit am häufigsten verwendeten Hosting-Architekturen. Das macht Schwachstellen in PHP-FPM für Angreifer äußerst attraktiv, die nach großen, langlebigen Angriffsflächen suchen.
Reverse-Tunneling ist eine zentrale Persistenztechnik moderner Bedrohungen. Gruppen wie Lazarus, APT29, FIN11 und zahlreiche Ransomware-Betreiber nutzen Reverse-SSH-Tunnel, WebSocket-Tunnel und sogar PHP-basierte Reverse-Shells, um langfristigen Zugriff aufrechtzuerhalten, ohne auf exponierte eingehende Ports angewiesen zu sein.
Fehlkonfigurationen bleiben die #1-Ursache für Sicherheitsvorfälle. Selbst wenn Patches existieren, setzen fehlkonfigurierte NGINX-„location“-Blöcke und schlecht validierte PATH_INFO-Variablen Umgebungen weiterhin einer Ausnutzung aus.
Exploit-Automatisierungskits zielen weiterhin auf diese CVE. Tools wie automatisierte Scanner, Botnetze und IoT-Malware testen regelmäßig verwundbare PHP-FPM-Konfigurationen, da der Exploit zuverlässige Codeausführung ermöglicht.
Cloud-Umgebungen vergrößern die Angriffsfläche. Schlecht gesicherte Container, Shared-Hosting-Setups und veraltete Docker-Basisimages enthalten oft ungepatchte PHP-FPM-Versionen, was zu schneller lateraler Bewegung in Cloud-Netzwerken führt.
Angreifer lieben „niedrig hängende Früchte“. Eine Schwachstelle, die Remote-Codeausführung + tunnelbasierte Persistenz mit minimalem Fachwissen ermöglicht, bleibt immer ein Ziel von hohem Wert.
In der heutigen Bedrohungslandschaft, in der anhaltender Zugriff, heimliches Tunneling und Schwachstellen in der Lieferkette die Schlagzeilen der Cybersicherheit dominieren, bietet das Verständnis und die Demonstration, wie CVE-2019-11043 ausgenutzt wird, entscheidende Einblicke in moderne Angriffsmuster und Verteidigungslücken.
Das Ziel dieses Labors war es, eine reale Ausnutzung von CVE‑2019‑11043 zu simulieren, einer kritischen Schwachstelle zur Remote-Codeausführung, die PHP‑FPM hinter nginx bei bestimmten Konfigurationen betrifft. Ziel war es, die Schwachstelle zu analysieren, den Exploit in einer kontrollierten virtuellen Umgebung nachzustellen und die Risiken fehlkonfigurierter Web-Infrastruktur zu demonstrieren.
Es wurden zwei virtuelle Maschinen verwendet: beide mit dem Benutzernamen username und dem Passwort password.
| Rolle | Maschine | IP-Adresse | Zweck |
|---|---|---|---|
| Ziel / Opfer | Ubuntu Server | 192.168.56.102 | Verwundbarer PHP-FPM-Server mit CVE-2019-11043 |
| Angreifer | Ubuntu Server | 192.168.56.103 | Führt Exploit, Reverse-Shell und Persistenz aus |
apt aktualisieren
sudo apt update && sudo apt -y upgrade
Erstellen des Containers für die Ausnutzung der Schwachstelle.
sudo apt install -y docker.io docker-compose git
git clone https://github.com/vulhub/vulhub.git
cd vulhub/php/CVE-2019-11043
sudo docker-compose up -d
apt aktualisieren und grundlegende PHP-, Python- und weitere Pakete installieren