Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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-2021-3156-Project — Entorno de laboratorio educativo para CVE-2021-3156 (Baron Samedit) con un objetivo sudo vulnerable dockerizado, andamiaje de exploit, prueba canary, análisis de causa raíz y comparación con la versión parcheada. | Kitploit
Herramientas/GitHubGitHub/shams-ul-mehmood/cve-2021-3156-project
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónAprendizaje y EducaciónExplotación de BinariosLabs y Práctica
GitHubshams-ul-mehmood/cve-2021-3156-project

CVE-2021-3156-Project

Entorno de laboratorio educativo para CVE-2021-3156 (Baron Samedit) con un objetivo sudo vulnerable dockerizado, andamiaje de exploit, prueba canary, análisis de causa raíz y comparación con la versión parcheada.

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
Ver Repositorio
17hace 1 mesAún no revisado

CVE-2021-3156 — Baron Samedit

Desbordamiento de búfer basado en heap en sudo → Escalada local de privilegios

Departamento de Ciberseguridad ITSOLERA | Prácticas de Red Team 2026


  ██████╗  █████╗ ██████╗  ██████╗ ███╗   ██╗    ███████╗ █████╗ ███╗   ███╗███████╗██████╗ ██╗████████╗
  ██╔══██╗██╔══██╗██╔══██╗██╔═══██╗████╗  ██║    ██╔════╝██╔══██╗████╗ ████║██╔════╝██╔══██╗██║╚══██╔══╝
  ██████╔╝███████║██████╔╝██║   ██║██╔██╗ ██║    ███████╗███████║██╔████╔██║█████╗  ██║  ██║██║   ██║
  ██╔══██╗██╔══██║██╔══██╗██║   ██║██║╚██╗██║    ╚════██║██╔══██║██║╚██╔╝██║██╔══╝  ██║  ██║██║   ██║
  ██████╔╝██║  ██║██║  ██║╚██████╔╝██║ ╚████║    ███████║██║  ██║██║ ╚═╝ ██║███████╗██████╔╝██║   ██║
  ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═══╝    ╚══════╝╚═╝  ╚═╝╚═╝     ╚═╝╚══════╝╚═════╝ ╚═╝   ╚═╝

⚠️ SOLO PARA USO EDUCATIVO / LABORATORIO AISLADO Todas las pruebas deben realizarse exclusivamente dentro del contenedor de laboratorio Docker. Nunca ejecutar contra sistemas reales, de producción o compartidos.


Tabla de contenidos

  1. Resumen de la CVE
  2. Qué hace especial a esta CVE
  3. Estructura del proyecto
  4. Entregables del equipo
  5. Inicio rápido
  6. Cómo funciona el exploit
  7. Prueba canario de vulnerabilidad
  8. Uso de exploit.py
  9. Restablecimiento e instantánea del laboratorio
  10. Comparación: parcheado vs vulnerable
  11. Referencias

Resumen de la CVE

PropiedadValor
ID de CVECVE-2021-3156
AliasBaron Samedit
TipoDesbordamiento de búfer basado en heap → Escalada local de privilegios
Componentesudo — utilidad de privilegios de Linux (set_cmnd() en src/sudo.c)
Puntuación CVSS v37.8 Alta
VectorCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Versiones vulnerablessudo 1.8.2 – 1.8.31p2 y 1.9.0 – 1.9.5p1
Versiones parcheadassudo 1.9.5p2 (rama 1.9) / sudo 1.8.32 (rama 1.8)
Versión objetivo del laboratoriosudo 1.8.31 en Ubuntu 20.04
Aviso / KB del parcheSA: https://www.sudo.ws/security/advisories/unescape_overflow/
Descubierta porEquipo de Investigación de Qualys
Divulgada2021-01-26
Activa en entornos reales desde (código)~2011-07-09 (sudo 1.8.2) — ~10 años sin detectar
Autenticación requeridaSolo usuario local — NO se necesitan permisos de sudo

Qué hace especial a esta CVE

PropiedadCVE-2021-3156LPE típico de sudo
Requiere entrada en sudoers❌ No✅ Sí
Requiere pertenencia al grupo sudo❌ No✅ Sí
Requiere acceso previo a sudo❌ No✅ Sí
Funciona desde una cuenta de usuario recién creada✅ Sí❌ No
Explota el sistema de permisos❌ Lo omite por completo✅ Abusa de él
Superficie de ataqueAnalizador de argumentos (pre-autenticación)Comprobación de permisos

Idea clave: el desbordamiento ocurre en set_cmnd() — la función que analiza los argumentos — que se ejecuta antes de que sudo consulte /etc/sudoers. Una cuenta creada hace 10 segundos con cero permisos puede explotar esto.


Estructura del proyecto

CVE-2021-3156-Project/
│
├── README.md                        ← you are here
│
├── lab/                             ← Member 1: Lab Environment
│   ├── Dockerfile                   ← Ubuntu 20.04 + sudo 1.8.31 (pinned)
│   ├── docker-compose.yml           ← vulnerable target + patched reference
│   ├── evidence_helper.sh           ← pre/post-exploit state capture
│   ├── SETUP.md                     ← step-by-step VM/Docker guide
│   └── config_notes.md              ← CVE conditions & container details
│
├── exploit/                         ← Member 2: Exploit Development
│   ├── exploit.py                   ← Python LPE framework + canary test
│   └── payloads.txt                 ← heap overflow research notes
│
├── docs/                            ← Member 3: Research & Documentation
│   ├── root_cause_analysis.md       ← set_cmnd() deep dive + off-by-one
│   ├── references.md                ← all sources, PoCs, CWE mapping
│   └── mitigation.md                ← sudo upgrade + hardening checklist
│
├── proof/                           ← Member 4: Evidence Collection
│   ├── screenshots/                 ← exploitation screenshots
│   └── terminal_logs.txt            ← command output template + logs
│
└── report/
    └── CVE-2021-3156_Report.docx    ← Member 4: Final professional report

Entregables del equipo

Miembro 1 — Entorno de laboratorio y verificación de la CVE

ArchivoDescripción
lab/DockerfileUbuntu 20.04 con sudo 1.8.31 fijado (vulnerable); Python 3 instalado; cuenta labuser SIN acceso a sudo
lab/docker-compose.ymlOrquesta el objetivo vulnerable + el contenedor de referencia parcheado de Ubuntu 22.04
lab/evidence_helper.shScript Bash para capturar el estado del sistema (usuario, versión de sudo, canario) antes/después del exploit
lab/SETUP.mdPaso a paso: construir → iniciar → entrar → verificar la versión de sudo → ejecutar el canario → instantánea
lab/config_notes.mdExplica por qué no se necesita una configuración incorrecta, los ajustes de seguridad de Docker y la referencia de credenciales

Miembro 2 — Desarrollo del exploit (script PoC)

ArchivoDescripción
exploit/exploit.pyFramework completo en Python: check_platform(), check_sudo_version(), run_canary_test(), get_system_info() + tres stubs TODO del exploit (select_heap_strategy, build_overflow_argument, trigger_overflow_and_escalate) con referencias detalladas a los PoC de blasty/worawit
exploit/payloads.txtConceptos de desbordamiento de heap, equivalente de COMPRESSION_TRANSFORM (estructura de argumentos), tres estrategias de heap, plantilla de registro de intentos fallidos, firmas de detección

Nota: el código funcional del exploit de kernel/heap no se incluye según las pautas éticas. Los stubs TODO de exploit.py referencian https://github.com/blasty/CVE-2021-3156 y https://github.com/worawit/CVE-2021-3156 como los PoC públicos de referencia que tu equipo debe estudiar e integrar.

Miembro 3 — Análisis de causa raíz e investigación

ArchivoDescripción
docs/root_cause_analysis.mdDetallado: discrepancia entre tamaño y copia en set_cmnd(), off-by-one con ejemplos de código, diff del parche, cadena de explotación, CVSS 7.8 métrica por métrica, cronología de 10 años, tabla de impacto por distribución
docs/references.mdAviso de Qualys, MITRE, NVD, proyecto sudo, PoC de blasty, PoC de worawit, ExploitDB, GTFOBins, mapeo de CWE
docs/mitigation.mdapt-get install --only-upgrade sudo, canario de verificación, endurecimiento de AppArmor, monitorización con auditd, tabla de endurecimiento

Miembro 4 — Recopilación de pruebas, elaboración de informes e integración

ArchivoDescripción
proof/terminal_logs.txtPlantilla de recopilación de evidencia (completar con la salida real del laboratorio)
proof/screenshots/Directorio para las 7 capturas de pantalla requeridas
report/CVE-2021-3156_Report.docxInforme profesional de 12 secciones: portada, resumen ejecutivo, descripción de la CVE, análisis de causa raíz, desglose de CVSS, pasos de explotación, explicación del código, lista de verificación de pruebas, mitigación, cronología, referencias, descargo de responsabilidad

Inicio rápido

1. Construir e iniciar el laboratorio

cd CVE-2021-3156-Project/lab/

# Build the vulnerable image (downloads Ubuntu 20.04, pins sudo 1.8.31)
docker compose build
Descargar herramienta