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-2021-3156-Baron-Samedit — Un sencillo laboratorio Docker y configuración de Exploit para CVE-2021-3156 - "Baron Samedit". | Kitploit
Herramientas/GitHubGitHub/theleopard65/cve-2021-3156-baron-samedit
Escalada de PrivilegiosSeguridad de ContenedoresAnálisis de VulnerabilidadesExplotaciónShellcodeAprendizaje y EducaciónExplotación de BinariosLabs y Práctica

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
GitHub
theleopard65/cve-2021-3156-baron-samedit

CVE-2021-3156-Baron-Samedit

Un sencillo laboratorio Docker y configuración de Exploit para CVE-2021-3156 - "Baron Samedit".

Ver Repositorio
13hace 6 mesesAún no revisado

CVE-2021-3156 - Laboratorio y Exploit "Baron Samedit"

Este repositorio proporciona un entorno educativo autocontenido para comprender y explotar CVE-2021-3156, un desbordamiento de búfer en el montón en sudo que permite a cualquier usuario no privilegiado obtener privilegios de root en sistemas vulnerables (versiones de sudo anteriores a 1.9.5p2).

Este material es solo para formación e investigación de seguridad autorizada.

El uso no autorizado/antético contra sistemas que no poseas es ilegal.

Contenido del Repositorio

  • Dockerfile - Construye un contenedor Ubuntu 20.04 con sudo 1.8.31 (vulnerable)
  • exploit.c - Carga útil principal del exploit (adaptada para Ubuntu 20.04)
  • shellcode.c - Constructor de librería compartida que genera un shell root
  • Makefile - Compila el exploit y la librería maliciosa

Comenzando

Requisitos previos

  • Docker (o Docker Engine)
  • Conocimiento básico del lenguaje C
  • Conocimiento básico de Make
  • Conocimiento de herramientas de línea de comandos

Construcción y Ejecución del Laboratorio

  1. Clona este repositorio:
root@kitploit:~
git clone https://github.com/Theleopard65/CVE-2021-3156-Baron-Samedit.git
cd CVE-2021-3156-Baron-Samedit
  1. Construye la imagen Docker:
root@kitploit:~
docker build -t cve-2021-3156-lab .
  1. Ejecuta el contenedor:
    • Iniciarás sesión como usuario poc dentro del contenedor.
    • El directorio de trabajo es /home/exploit, que ya contiene los archivos fuente.
root@kitploit:~
docker run -it --rm --name baron_samedit_lab cve-2021-3156-lab

Compilación y Ejecución del Exploit

  • Dentro del contenedor, el exploit ya está compilado por el proceso de construcción de Docker. Para ejecutarlo manualmente:
root@kitploit:~
cd /home/exploit
./exploit

Si tiene éxito, deberías ver un prompt de shell root (#). El exploit sobrescribe la estructura service_user en el montón de sudo y la obliga a cargar la librería maliciosa libnss_x/x.so.2, cuyo constructor ejecuta el shellcode.

Compilación Manual (si es necesario)

  • Para recompilar:
root@kitploit:~
make clean && make

Esto crea:

  • exploit - el binario principal del exploit
  • libnss_x/x.so.2 - la librería compartida maliciosa

Cómo Funciona el Exploit

CVE-2021-3156 es un desbordamiento en el montón en el manejo de argumentos de línea de comandos de sudoedit. Al proporcionar un búfer y variables de entorno especialmente diseñados, un atacante puede sobrescribir una estructura service_user en el montón. Esta estructura contiene un puntero a función que, al ser secuestrado, puede hacerse que apunte a una librería maliciosa cargada mediante el mecanismo NSS (Name Service Switch). El constructor de la librería ejecuta entonces código arbitrario con privilegios de root.

Este exploit:

  1. Asigna un búfer grande (buf) para desencadenar el desbordamiento.
  2. Usa las variables de entorno LC_MESSAGES, LC_TELEPHONE y LC_MEASUREMENT para dar forma al diseño del montón.
  3. Desborda en la estructura service_user de files, reemplazando su nombre con una ruta a nuestra librería maliciosa (libnss_x/x.so.2).
  4. El constructor de la librería maliciosa (en shellcode.c) ejecuta setuid(0), setgid(0) y genera un shell root.

Limpieza

Para eliminar la imagen Docker:

root@kitploit:~
docker rmi cve-2021-3156-lab

Referencias

  • Aviso original de Qualys
  • Prueba de concepto de Blasty
  • Entrada NIST NVD para la CVE

Licencia

Este proyecto se proporciona únicamente con fines educativos. Úsalo bajo tu propio riesgo.

Descargar herramienta