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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2021-3560 — Elevazione dei privilegi tramite race condition in polkit | Kitploit
Strumenti/GitHubGitHub/adakoifman/cve-2021-3560
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitPenetration TestingRed TeamingBinary Exploitation
GitHubadakoifman/cve-2021-3560

CVE-2021-3560

Elevazione dei privilegi tramite race condition in polkit

Vedi Repository
23 mesi 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

CVE-2021-3560

Elevazione dei privilegi tramite race condition in polkit.

Descrizione della vulnerabilità

CVE-2021-3560 è una race condition in polkit che consente a un utente locale non autorizzato di ottenere privilegi di root. La vulnerabilità risiede nel modo in cui polkit gestisce gli errori D-Bus in caso di interruzione della connessione.

Determinazione del timing

Per determinare il timing ottimale esegui il comando:

time dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts org.freedesktop.Accounts.CreateUser string:testuser string:"Test User" int32:1

Nel codice viene utilizzato un intervallo dalla metà del tempo real ± 0.003.

Perché è importante il timing?

  • Se si uccide il processo troppo presto — la richiesta non riesce a essere inviata
  • Se si uccide troppo tardi — polkit avrà il tempo di verificare l'autorizzazione e la rifiuterà
  • Bisogna colpire la "finestra d'oro", quando polkit ha già ricevuto la richiesta ma non ha ancora verificato l'autorizzazione

Come funziona l'exploit?

  • Viene inviata una richiesta D-Bus per creare un utente con il parametro int32:1 (aggiunta al gruppo wheel)
  • La richiesta viene interrotta a metà (race condition)
  • Polkit non riesce a completare la verifica dell'autorizzazione
  • D-Bus non riesce a trovare il mittente
  • Polkit gestisce erroneamente l'errore e assegna UID = 0 (root)
  • L'utente viene creato senza autenticazione
  • Viene inviata una richiesta per impostare la password per il nuovo utente (con lo stesso timing)

Statistiche di successo

  • L'utente può essere creato con 1-2 tentativi
  • Per assegnare la password sono necessari più tentativi
  • 100 iterazioni danno un'alta probabilità di successo

Se l'exploit non funziona, prova:

  • Espandere TIMING_RANGE nel codice
  • Eseguire lo script più volte
  • Assicurati di essere in una sessione SSH (non in ambiente grafico)
Scarica lo strumento