
Exploit für CVE-2022-22963 (Spring Cloud Function SpEL-Injection), der Remote-Codeausführung und Reverse Shell ermöglicht. Enthält ein Docker-basiertes Labor zum Testen und Erlernen der Schwachstelle.
In den Spring Cloud Function-Versionen 3.1.6, 3.2.2 und älteren, nicht unterstützten Versionen ist es bei Verwendung der Routing-Funktionalität möglich, dass ein Benutzer ein speziell präpariertes SpEL als Routing-Ausdruck bereitstellt, das zu Remote-Code-Ausführung und Zugriff auf lokale Ressourcen führen kann. Weitere Details finden Sie in den CVE-2022-22963 Details.
Basierend auf dem PoC von AayushmanThapaMagar erstelle ich einen einfachen Exploit für diese Schwachstelle, um eine Reverse-Shell vom verwundbaren Server zu erhalten.
Der Zweck dieses Projekts ist es, das Testen der Schwachstelle zu erleichtern und zu lernen, wie man sie ausnutzt. Ich werde später weitere Details über den Grund für diese Schwachstelle hinzufügen.
Um diesen Exploit auszuführen, benötigen Sie nur docker.
Klonen Sie das Repository und führen Sie den folgenden Befehl aus:
docker-compose up -d
Dadurch werden zwei Container gestartet, einer mit dem verwundbaren Server und der andere mit der Angreifer-Maschine.
Jetzt können Sie den Exploit ausführen:
Unter Linux können Sie den Exploit mit dem folgenden Befehl ausführen:
./run.sh
Hinweis: Möglicherweise benötigen Sie sudo, um die obigen Befehle auszuführen.
........
Um die Container zu stoppen, führen Sie den folgenden Befehl aus:
docker-compose down