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-2022-0847-Docker — Exploit de Docker | Kitploit
Herramientas/GitHubGitHub/mrchucu1/cve-2022-0847-docker
Escalada de PrivilegiosSeguridad de ContenedoresAnálisis de VulnerabilidadesExplotaciónAprendizaje y EducaciónExplotación de BinariosLabs y Práctica
GitHubmrchucu1/cve-2022-0847-docker

CVE-2022-0847-Docker

Exploit de Docker

Ver Repositorio
12hace 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

Dirty Pipe (CVE-2022-0847): Una Demostración Práctica de Explotación en Docker

CVE-2022-0847 Docker C Language

Este repositorio proporciona un entorno Docker interactivo y autónomo para demostrar y analizar de forma segura la vulnerabilidad de escalada de privilegios "Dirty Pipe". Está diseñado como una herramienta educativa para que los profesionales de la seguridad comprendan los mecanismos de un exploit crítico a nivel de kernel dentro de un entorno controlado.


1. La Vulnerabilidad Explicada: ¿Qué es Dirty Pipe?

Dirty Pipe fue una vulnerabilidad crítica descubierta en el kernel de Linux (que afecta a las versiones desde la 5.8 en adelante). Permitía a un usuario local sin privilegios sobrescribir datos en archivos arbitrarios de solo lectura.

El impacto es grave: al sobrescribir un archivo sensible como /etc/passwd o un binario SUID, un atacante podía escalar fácilmente sus privilegios a root, obteniendo el control total del sistema. Esta vulnerabilidad era especialmente peligrosa porque eludía las comprobaciones estándar de permisos de archivos, un control de seguridad fundamental en Linux.

2. Arquitectura del Proyecto: Uso de Docker para un Laboratorio Seguro

Este proyecto aprovecha Docker para crear un entorno seguro, aislado e intencionalmente vulnerable. Esto permite que cualquiera pueda estudiar el exploit sin arriesgar su máquina host.

Los componentes clave son:

  • Dockerfile: Define el plano de nuestro contenedor vulnerable. Utiliza una imagen base antigua (debian:bullseye-20210927-slim) conocida por tener un kernel susceptible a Dirty Pipe, y automatiza el proceso de configuración.
  • exploit.c: El código C que implementa la lógica del exploit, basado en la prueba de concepto original de Max Kellermann.
  • Makefile: Un makefile simple para compilar el código C en un binario ejecutable dentro del contenedor.

3. Demostración Práctica: De Usuario a Root

Este tutorial te guiará a través de la construcción del entorno y la ejecución del exploit.

Requisitos previos: Debes tener Docker instalado y en funcionamiento en tu sistema.

Paso 1: Clonar el Repositorio

Abre tu terminal y clona este proyecto.

root@kitploit:~
git clone https://github.com/mrchucu1/CVE-2022-0847-Docker.git
cd CVE-2022-0847-Docker

Paso 2: Construir la Imagen Docker Vulnerable

Usa el comando docker build para crear la imagen del contenedor. El Dockerfile se encargará de todas las dependencias y compilará el código del exploit.

root@kitploit:~
docker build -t dirty-pipe-demo .

Paso 3: Ejecutar el Contenedor y el Exploit

Ahora, ejecuta el contenedor de forma interactiva. La bandera --rm garantiza que el contenedor se elimine al salir, y -it te proporciona un shell interactivo.

root@kitploit:~
docker run --rm -it dirty-pipe-demo

Serás llevado a un shell dentro del contenedor como usuario sin privilegios (hacker@...:/$).

Ahora, ejecuta el exploit precompilado:

root@kitploit:~
# You are currently an unprivileged user.
# Your prompt looks like this: hacker@<container_id>:/$
#
# Now run the exploit...
./exploit

¡Éxito! El exploit sobrescribe un binario SUID para otorgarte un shell root. El prompt de tu terminal cambiará de $ a #, lo que indica que ahora tienes privilegios de root.

root@kitploit:~
# The exploit has succeeded.
# Your prompt is now a root shell: # whoami
root
#

4. Conclusiones y Aprendizajes Clave de Seguridad

Este proyecto es más que simplemente ejecutar un script; es una demostración práctica de principios de seguridad críticos relevantes para mi trabajo como Ingeniero de Seguridad en la Nube:

  • Los Exploits de Kernel Eluden la Seguridad de la Capa de Aplicación: Esto demuestra que incluso con permisos de archivos perfectos, una vulnerabilidad del kernel puede socavar todo el modelo de seguridad de un sistema operativo, probando que la defensa en profundidad es esencial.
  • La Seguridad del Contenedor es la Seguridad del Host: Proporciona una prueba tangible de que los contenedores comparten el kernel del host. Un exploit de kernel ejecutado dentro de un contenedor puede provocar una fuga total y el compromiso de la máquina host. Esto resalta la importancia de usar perfiles seccomp, gVisor u SO optimizados para contenedores en producción.
  • La Criticidad de la Gestión de Parches: Este es un ejemplo vivo de por qué las actualizaciones oportunas del kernel son una práctica de seguridad innegociable en cualquier entorno de producción, especialmente en hosts de contenedores.
  • Comprender la Superficie de Ataque: Al construir el entorno del exploit, obtuve un mayor aprecio por cómo los atacantes analizan los sistemas y aprovechan fallos aparentemente menores en la gestión de memoria (como las tuberías y las cachés de página) para lograr el compromiso total del sistema.

Descargo de responsabilidad

Este proyecto y su código están destinados únicamente a fines educativos y de investigación. No intentes usar este exploit en ningún sistema para el cual no tengas permiso explícito y autorizado.

Descargar herramienta