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 — Questa è la mia semplice implementazione di un exploit per la vulnerabilità PwnKit. | Kitploit
Strumenti/GitHubGitHub/nicoibarburu/cve-2021-4034
Escalation di PrivilegiExploitApprendimento e FormazioneBinary Exploitation
GitHubnicoibarburu/cve-2021-4034

CVE-2021-4034

Questa è la mia semplice implementazione di un exploit per la vulnerabilità PwnKit.

Vedi Repository
524 giorni faNon ancora revisionato

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

Prova di concetto (Proof of Concept): CVE-2021-4034 (PwnKit)

Nota: Questo repository e il suo contenuto fanno parte di un Progetto Finale di Laurea (GrAL), creati esclusivamente per scopi didattici e di ricerca accademica.

Descrizione

Questo repository contiene una prova di concetto (PoC - Proof of Concept) per la vulnerabilità CVE-2021-4034 (nota anche come PwnKit). Questa vulnerabilità di corruzione della memoria colpisce il componente pkexec di Polkit sui sistemi Linux. Eseguendo pkexec con una lista di argomenti vuota (argc == 0), le variabili d'ambiente possono essere manipolate per forzare il caricamento di una libreria condivisa arbitraria, ottenendo così l'escalation locale dei privilegi.

Fasi dello sfruttamento (Analisi dell'ambiente)

Di seguito vengono descritti i passaggi necessari per preparare l'ambiente di esecuzione e sfruttare la vulnerabilità. Questo processo illustra come viene sfruttato l'errore di lettura/scrittura in memoria di pkexec:

1. Preparazione dell'ambiente (struttura gconv)

Questo exploit abusa del modo in cui GLib gestisce la conversione dei caratteri quando tenta di stampare un messaggio di errore. A tal fine, il primo passo consiste nel creare una struttura di directory specifica che funga da repository locale di moduli di conversione GCONV per GLib.

2. Manipolazione delle variabili d'ambiente

La chiave della vulnerabilità è iniettare la variabile d'ambiente GCONV_PATH, sfruttando la scrittura oltre i limiti causata dalla condizione argc == 0 di pkexec. In questo modo, si forza il programma a utilizzare un set di caratteri anomalo, il che indica a GLib di dover cercare i moduli di conversione dei caratteri nella directory controllata creata nel passaggio precedente.

3. Creazione di una libreria condivisa maliziosa (.so)

Per eseguire il nostro codice, è necessario compilare una libreria condivisa (shared object o .so). Quando pkexec tenta di elaborare un set di caratteri che non riesce a trovare, caricherà questa libreria dalla nostra falsa directory gconv. Poiché pkexec è un binario con il bit SUID attivo (viene eseguito come root), al caricamento di questa libreria il nostro codice otterrà i privilegi di root, assumendo il pieno controllo del sistema (ad esempio, aprendo una shell root).

4. Configurazione del file gconv-modules

Infine, nella directory locale deve essere creato un file di configurazione chiamato gconv-modules. Questo file funge da indice: dice a GLib quale libreria specifica (.so) caricare per eseguire la conversione del set di caratteri richiesto. Questo file collega la conversione richiesta da pkexec con la libreria condivisa creata nel passaggio 3.

Compilazione e Pulizia

Il progetto include un Makefile per automatizzare la compilazione del binario C e la pulizia dell'ambiente.

  • Per compilare il progetto: $ make

  • Per pulire i file generati (temporanei, cartelle e binari): $ make clean

Scarica lo strumento