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-Custom-Runtime — CVE-2019-5736 implementato in un runtime container scritto da sé per comprendere l'exploit. | Kitploit
Strumenti/GitHubGitHub/giverofgifts/cve-2019-5736-custom-runtime
Analisi delle VulnerabilitàExploitPenetration TestingApprendimento e FormazioneEscape dal ContainerBinary Exploitation
GitHubgiverofgifts/cve-2019-5736-custom-runtime

CVE-2019-5736-Custom-Runtime

CVE-2019-5736 implementato in un runtime container scritto da sé per comprendere l'exploit.

Vedi Repository
146 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-Custom-Sandbox

Generale

CVE-2019-5736 implementato utilizzando un runtime container superficiale e scritto autonomamente per comprendere l'exploit.

L'exploit si basa su (e quasi interamente copiato da) il runc-poc di twistlock: https://github.com/twistlock/RunC-CVE-2019-5736/tree/master/malicious_image_POC

Runtime del Contenitore (quarantine)

Vedere la documentazione del codice per ulteriori dettagli.

root@kitploit:~
Usage: quarantine [OPTIONS] [BINARY and its ARGS]

--rootfs: (mandatory) Specify a rootfs for the container.
--urange: Specify a urange start_host:end_host,start_guest.
--grange: Specify a grange start_host:end_host,start_guest.
--uid:    Specify the desired UID in the container.
--ugd:    Specify the desired GID in the container.
--supp:   Append supplementary groups from the specified grange to the process running in the container.

Disassocia tutti i namespace tranne il namespace utente. Il namespace utente viene disassociato in circostanze speciali, cioè quando vengono specificati urange, , e / o .

grange
uid
gid

Configurazione per l'exploit

Testato e realizzato su Ubuntu 18.04.

  1. Ottieni un rootfs (ad esempio bionic)
    • mkdir rootfs
    • sudo debootstrap bionic ./rootfs
  2. Ottieni il sorgente di libcap
    • git clone https://github.com/mhiramat/libcap
  3. Modifica libcap
    • cat exploit_code_for_shared_lib.c >> <any cap*.c, I used cap_alloc.c>
    • make
  4. Esegui chroot nel rootfs e installa libcap-dev in modo da poter semplicemente collegare il libcap.so modificato
    • sudo chroot rootfs
    • apt install libcap-dev
  5. Copia il file libcap.so.2.25 creato nella directory rootfs appropriata
    • sudo cp libcap.so.2.25 rootfs/lib/x86_64-linux-gnu
    • Nota: Per me, esisteva già un collegamento che puntava a quella versione esatta del file libcap, quindi non ho dovuto creare il collegamento
    • Nota: Questo percorso potrebbe cambiare, controlla sempre dove il binario quarantine compilato si aspetta che sia libcap: ldd quarantine
  6. Compila e copia gli altri file nel rootfs
    • sudo cp shebang_exploit rootfs/
    • sudo gcc -o rootfs/root/payload payload.c
    • sudo gcc -o rootfs/overwrite_sndbx_runtime overwrite_sndbx_runtime.c

Esegui l'exploit

Ad esempio: sudo ./quarantine --rootfs rootfs /shebang_exploit oppure ./quarantine --rootfs rootfs --uid 1 /shebang_exploit.

Funziona finché mantieni CAP_DAC_OVERRIDE o CAP_SYS_ADMIN sull'host, cioè non disassociare il namespace utente quando usi sudo (poiché questo rimuove le capacità nel namespace parent), oppure possiedi il file sull'host.

Scarica lo strumento