
🔒 Spring4Shell Firewall Defense — Cybersecurity Incident Simulation This project is part of a Cybersecurity Job Simulation I completed in August 2025 through Forage. It focuses on detecting, analyzing, and mitigating a simulated real-world cyberattack involving the Spring4Shell (CVE-2022-22965) vulnerability
🛡️ Spring4Shell Firewall Defense – Cybersicherheits-Vorfallsimulation Dieses Projekt ist Teil einer Cybersicherheits-Jobsimulation, die ich im August 2025 über Forage abgeschlossen habe. Es simuliert einen realen Vorfall mit der Spring4Shell-Schwachstelle (CVE-2022-22965) und zeigt, wie eine benutzerdefinierte Firewall Exploit-Versuche erkennen und abwehren kann.
📌 Projektübersicht Ziel dieser Simulation war es, bösartigen Datenverkehr zu identifizieren und zu blockieren, der auf einen verwundbaren Webanwendungsendpunkt abzielt. Ich habe eine benutzerdefinierte Python-basierte HTTP-Firewall entwickelt, die eingehende Anfragen überwacht und filtert, bekannte Exploit-Muster erkennt und sie in Echtzeit stoppt.
🧰 Hauptfunktionen 🔍 Bedrohungserkennung: Analysiert HTTP-POST-Daten auf verdächtige Schlüssel und Payloads.
🔐 Firewall-Abwehr: Blockiert bösartige Anfragen mithilfe von musterbasierten Regeln.
💣 Exploit-Prävention: Erkennt versuchte Remote-Code-Ausführung über Runtime.getRuntime() und ähnliche Signaturen.
📈 Protokollierung & Überwachung: Zeigt blockierte Versuche und die Gründe für die Blockierung im Terminal an.
🖼️ Demo Im ersten Screenshot versucht eine verdächtige POST-Anfrage, die Spring4Shell-Schwachstelle auszunutzen, indem sie einen Payload mit Runtime.getRuntime() injiziert. Die benutzerdefinierte Firewall erkennt dieses Muster sofort und blockiert die Anfrage mit einer 403 Forbidden-Antwort – was einen potenziellen Remote-Code-Ausführungsversuch (RCE) effektiv stoppt.

Im Gegensatz dazu zeigt der zweite Screenshot eine sichere POST-Anfrage mit harmlosen Daten (username=test), die an den Server gesendet wird. Die Firewall erkennt sie als sicher und lässt die Anfrage durch, wobei sie eine standardmäßige 200 OK-Antwort zurückgibt. Dies unterstreicht die Fähigkeit der Firewall, normalen und bösartigen Datenverkehr präzise zu unterscheiden.

🧪 Verwendete Technologien Python (Firewall-Implementierung)
http.server-Modul zur Simulation eines verwundbaren Servers
curl zur Simulation von POST-Anfragen
Benutzerdefinierte Signaturerkennungslogik
📋 Was ich gemacht habe Analysierte einen simulierten Spring4Shell-Angriff auf einen JSP-Endpunkt.
Identifizierte verdächtige Payloads in POST-Daten.
Schrieb eine benutzerdefinierte Firewall (firewall_server.py), um bösartige Anfragen zu erkennen und zu blockieren.
Validierte die Firewall durch Simulation von Angriffen (siehe Screenshot).
Dokumentierte den Vorfall mit einer detaillierten Post-Mortem-Analyse.
📜 Zertifikat RNhbu8QnDzthwynEf_M6JGAwZ52SMusMEcK_cKqCaSyzkPoWXRdg5_1754434963290_completion_certificate.pdf