Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve_2019-5736-PoC — PoC basado en C para CVE-2019-5736 | Kitploit
Herramientas/GitHubGitHub/perimora/cve_2019-5736-poc
Escalada de PrivilegiosSeguridad de ContenedoresAnálisis de VulnerabilidadesExplotaciónAprendizaje y EducaciónEscape de Contenedores
GitHubperimora/cve_2019-5736-poc

cve_2019-5736-PoC

PoC basado en C para CVE-2019-5736

Ver Repositorio
hace 1 añoAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2019-5736 PoC

Este repositorio contiene un exploit de prueba de concepto basado en C para CVE-2019-5736.

Esta vulnerabilidad permite que un contenedor Docker malicioso sobrescriba el binario runc del host y ejecute comandos arbitrarios en el host con privilegios de root, comprometiendo por completo el sistema host.

Inspirado en el PoC original basado en Go de Frichetten

Aviso legal

Este código es solo con fines educativos. No lo ejecutes en ningún sistema que no poseas o para el que no tengas permiso de prueba. El uso indebido puede tener consecuencias legales.

Contenido

  1. Estructura del Proyecto
  2. Configuración del Entorno e Instalación
  3. Uso

1. Estructura del Proyecto

root@kitploit:~
.
├── docker/                       
│   └── Dockerfile
├── lib/                           
│   └── exploit.h
├── scripts/                       
│   ├── build_docker.sh
│   ├── purge_docker_installation.sh
│   ├── setup_env.sh
│   ├── start_docker.sh
│   └── trigger_exploit.sh
├── src/                         
│   ├── exploit.c
│   └── main.c
├── LICENSE
├── Makefile
└── README.md

2. Configuración del Entorno e Instalación

Este exploit ha sido probado en:

  • Ubuntu 18.04.1 → Descargar ISO
  • Docker 18.09.1 → Descargar binarios

Instalación Paso a Paso

0. Instalar dependencias

root@kitploit:~
sudo ./scripts/install_dependencies.sh

Nota: Puedes omitir esto sin problema si ya tienes instalados wget y build-essential.

1. Instalar Docker mediante script

root@kitploit:~
sudo ./scripts/setup_env.sh

Este script instala Docker sin systemd ni activación por socket. Es ideal para laboratorios con máquinas virtuales.

2. Iniciar Docker manualmente

root@kitploit:~
sudo dockerd

Nota: Necesitarás una segunda terminal para ejecutar esto en segundo plano.

3. Construir el contenedor del exploit

root@kitploit:~
sudo ./scripts/build_docker.sh

Este script compila el exploit y crea una imagen de Docker con el binario dentro.

Nota: También puedes compilar manualmente el binario del exploit ejecutando make.

Opcional: Limpiar el entorno

Puedes eliminar Docker por completo y restaurar el sistema a un estado previo a la instalación:

root@kitploit:~
sudo ./scripts/purge_docker_installation.sh

3. Uso

Primero iniciamos nuestro contenedor del exploit. Puedes usar este comando:

root@kitploit:~
sudo docker run -it --name exp --rm runc_exploit

o el script de shell incluido:

root@kitploit:~
sudo ./scripts/start_docker.sh

Dentro del contenedor ya podemos iniciar nuestro binario del exploit:

root@kitploit:~
./exploit -c "$COMAND"

El binario acepta tres argumentos: -h muestra el mensaje de uso y -c define la cadena de comando que queremos ejecutar en el host. El último argumento, -d, activa las impresiones de depuración durante la ejecución. (p. ej., análisis de información de /proc)

Nota: Si no se proporciona el argumento -c, el exploit ejecutará cp /etc/shadow > /tmp/pwned && chmod 644 /tmp/pwned.

El exploit ahora espera a que un proceso runc entrante en el host ejecute

root@kitploit:~
sudo ./scripts/trigger_exploit.sh

Este script abrirá un nuevo proceso dentro del contenedor ejecutando bin/sh y, por lo tanto, desencadenará el exploit.

Nota: También podrías desencadenar el exploit ejecutando manualmente docker exec en el host, pero el tiempo es crítico para que la versión actual del PoC funcione. Así que podría requerir varios intentos...

Si runc fue explotado con éxito, deberías ver una salida similar:

output

Ahora podemos abrir nuestro archivo shadow comprometido:

shadow

Descargar herramienta