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-4034 — Esta es mi implementación simple de un exploit para la vulnerabilidad PwnKit. | Kitploit
Herramientas/GitHubGitHub/nicoibarburu/cve-2021-4034
Escalada de PrivilegiosExplotaciónAprendizaje y EducaciónExplotación de Binarios
GitHubnicoibarburu/cve-2021-4034

CVE-2021-4034

Esta es mi implementación simple de un exploit para la vulnerabilidad PwnKit.

Ver Repositorio
hace 5 díasAú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

Prueba de concepto (Proof of Concept): CVE-2021-4034 (PwnKit)

Nota: Este repositorio y su contenido forman parte de un Trabajo de Fin de Grado (TFG), creado únicamente con fines didácticos y para la investigación académica.

Descripción

Este repositorio contiene una prueba de concepto (PoC - Proof of Concept) para la vulnerabilidad CVE-2021-4034 (también conocida como PwnKit). Esta vulnerabilidad de corrupción de memoria afecta al componente pkexec de Polkit en sistemas Linux. Al ejecutar pkexec con una lista de argumentos vacía (argc == 0), las variables de entorno pueden manipularse para forzar la carga de una biblioteca compartida arbitraria, logrando así una escalada local de privilegios.

Fases de la explotación (Análisis del entorno)

A continuación se detallan los pasos necesarios para preparar el entorno de ejecución con el fin de explotar el fallo. Este proceso describe cómo se aprovecha el error de lectura/escritura en memoria de pkexec:

1. Preparación del entorno (estructura gconv)

Este exploit abusa de la forma en que GLib gestiona la conversión de caracteres al intentar imprimir un mensaje de error. Para ello, el primer paso es crear una estructura de directorios concreta que funcione para GLib como un repositorio local de módulos de conversión GCONV.

2. Manipulación de las variables de entorno

La clave de la vulnerabilidad consiste en inyectar la variable de entorno GCONV_PATH, aprovechando la escritura fuera de los límites provocada por la condición argc == 0 en pkexec. De este modo, se obliga al programa a utilizar un juego de caracteres anómalo, lo que indica a GLib que debe buscar los módulos de conversión de caracteres en el directorio controlado creado en el paso anterior.

3. Creación de una biblioteca compartida maliciosa (.so)

Para ejecutar nuestro código, es necesario compilar una biblioteca compartida (shared object o .so). Cuando pkexec intente procesar un juego de caracteres que no puede encontrar, cargará esta biblioteca desde nuestro directorio gconv falso. Dado que pkexec es un binario con el bit SUID activado (se ejecuta como root), al cargar esta biblioteca nuestro código obtendrá privilegios de root, tomando el control total del sistema (por ejemplo, abriendo una shell de root).

4. Configuración del archivo gconv-modules

Finalmente, es necesario crear un archivo de configuración llamado gconv-modules en ese directorio local. Este archivo actúa como un índice: le indica a GLib qué biblioteca concreta (.so) debe cargar para realizar la conversión del juego de caracteres específico solicitado. Este archivo vincula la conversión solicitada por pkexec con la biblioteca compartida creada en el paso 3.

Compilación y Limpieza

El proyecto incluye un Makefile para automatizar la compilación del binario en C y la limpieza del entorno.

  • Para compilar el proyecto: $ make

  • Para limpiar los archivos generados (temporales, carpetas y binarios): $ make clean

Descargar herramienta