Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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-3560 — Elevação de privilégios via race condition no polkit | Kitploit
Ferramentas/GitHubGitHub/adakoifman/cve-2021-3560
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoTestes de PenetraçãoRed TeamingExploração de Binários
GitHubadakoifman/cve-2021-3560

CVE-2021-3560

Elevação de privilégios via race condition no polkit

Ver Repositório
1há 2 mesesAinda não revisado

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 →
Compartilhar

CVE-2021-3560

Elevação de privilégios via condição de corrida (race condition) no polkit.

Descrição da vulnerabilidade

CVE-2021-3560 é uma condição de corrida no polkit que permite que um usuário local não autorizado obtenha privilégios de root. A vulnerabilidade existe na forma como o polkit trata erros do D-Bus quando a conexão é interrompida.

Determinação do timing

Para determinar o timing ideal, execute o comando:

root@kitploit:~
time dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts org.freedesktop.Accounts.CreateUser string:testuser string:"Test User" int32:1

No código, é usada a faixa de metade do tempo real ± 0.003.

Por que o timing é importante?

  • Se o processo for morto cedo demais — a requisição não terá tempo de ser enviada

  • Se for morto tarde demais — o polkit terá tempo de verificar a autorização e rejeitará

  • É preciso acertar a "janela de ouro", quando o polkit já recebeu a requisição, mas ainda não verificou a autorização

Como o exploit funciona?

  • É enviada uma requisição D-Bus para criar um usuário com o parâmetro int32:1 (adição ao grupo wheel)

  • A requisição é interrompida no meio (condição de corrida)

  • O polkit não consegue concluir a verificação de autorização

  • O D-Bus não consegue encontrar o remetente

  • O polkit trata o erro incorretamente e atribui UID = 0 (root)

  • O usuário é criado sem autenticação

  • É enviada uma requisição para definir a senha do novo usuário (com o mesmo timing)

Estatísticas de sucesso

  • O usuário pode ser criado com 1-2 tentativas

  • Para definir a senha são necessárias mais tentativas

  • 100 iterações oferecem alta probabilidade de sucesso

Se o exploit não funcionar, tente:

  • Ampliar o TIMING_RANGE no código

  • Executar o script várias vezes

  • Garantir que você esteja em uma sessão SSH (não em uma sessão gráfica)

Baixar ferramenta