POC详情: f80d94e4b75fcef8dfa3b8b293e9fdee58e88c31

来源
关联漏洞
标题: polkit 缓冲区错误漏洞 (CVE-2021-4034)
描述:polkit是一个在类 Unix操作系统中控制系统范围权限的组件。通过定义和审核权限规则,实现不同优先级进程间的通讯。 polkit 的 pkexec application存在缓冲区错误漏洞,攻击者可利用该漏洞通过精心设计环境变量诱导pkexec执行任意代码。成功执行攻击后,如果目标计算机上没有权限的用户拥有管理权限,攻击可能会导致本地权限升级。
描述
Este repositorio muestra cómo explotar la vulnerabilidad CVE-2021-4034.
介绍
# CVE-2021-4034 (PwnKit) - Análisis y Explotación

Este repositorio contiene el código fuente para demostrar la explotación de la vulnerabilidad **CVE-2021-4034**, también conocida como **PwnKit**, descubierta en `pkexec` (parte del paquete Polkit). Esta falla permite una **escalada local de privilegios a root** mediante el uso de variables de entorno maliciosas.

---

## ⚠️ Advertencia

Este código se proporciona únicamente con **fines educativos y de investigación**. No debe ser utilizado en sistemas en producción ni sin autorización expresa. El uso indebido puede ser ilegal y va en contra de los términos de uso del autor.

---

## 🧠 Descripción técnica

La vulnerabilidad se presenta cuando `pkexec` es ejecutado sin argumentos, es decir, `argc == 0`. En este caso, `pkexec` intenta acceder a `argv[1]` sin comprobar que `argv[0]` exista, lo que provoca que lea desde `envp[0]`. Esto permite al atacante:

- Leer y sobrescribir variables del entorno como `GCONV_PATH`.
- Forzar la carga de una librería `.so` arbitraria para ejecutar código como root.

El exploit aprovecha esta condición para cargar una librería maliciosa que abre una shell como usuario root.

---

## 📁 Archivos del repositorio

- `cve-2021-4034.c`: Código fuente del exploit que invoca `pkexec` con `argv[] = {NULL}` y variables de entorno modificadas.
- `pwnkit.c`: Código fuente de la librería maliciosa que abre una shell como root.

---

## 🛠️ Compilación

```bash
gcc -Wall -o cve-2021-4034 cve-2021-4034.c
gcc -Wall -shared -fPIC -o pwnkit.so pwnkit.c
```
---

## 🧪 Instrucciones de uso (Preparación del entorno y ejecución)

```bash
mkdir GCONV_PATH=.
echo 'module UTF-8// PWNKIT// pwnkit 1' > gconv-modules
cp $(which true) GCONV_PATH=./pwnkit.so:.

./cve-2021-4034
文件快照

[4.0K] /data/pocs/f80d94e4b75fcef8dfa3b8b293e9fdee58e88c31 ├── [ 292] cve-2021-4034.c ├── [ 36] gconv-modules ├── [ 298] pwnkit.c └── [1.8K] README.md 0 directories, 4 files
神龙机器人已为您缓存
备注
    1. 建议优先通过来源进行访问。
    2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
    3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。