
Exploit per CVE-2022-22963 (iniezione SpEL in Spring Cloud Function) che consente l'esecuzione remota di codice e una reverse shell. Include un laboratorio basato su Docker per testare e apprendere la vulnerabilità.
Nelle versioni di Spring Cloud Function 3.1.6, 3.2.2 e versioni precedenti non supportate, quando si utilizza la funzionalità di routing è possibile che un utente fornisca uno SpEL appositamente modificato come routing-expression che può comportare l'esecuzione di codice in remoto e l'accesso a risorse locali. Ulteriori dettagli sono disponibili nella pagina dei dettagli di CVE-2022-22963.
Basandomi sulla PoC fornita da AayushmanThapaMagar, ho creato un semplice exploit di questa vulnerabilità per ottenere una reverse shell dal server vulnerabile.
Lo scopo di questo progetto è rendere più semplice testare la vulnerabilità e imparare come sfruttarla. Aggiungerò ulteriori dettagli sul motivo alla base di questa vulnerabilità in seguito.
Per eseguire questo exploit, hai bisogno solo di docker.
Clona il repository ed esegui il seguente comando:
docker-compose up -d
Questo avvierà due container, uno con il server vulnerabile e l'altro con la macchina dell'attaccante.
Ora puoi eseguire l'exploit:
Su Linux, puoi eseguire l'exploit con il seguente comando:
./run.sh
Nota: potresti aver bisogno di sudo per eseguire i comandi precedenti.
........
Per arrestare i container, esegui il seguente comando:
docker-compose down