Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2021-3560-exploit — CVE-2021-3560 — Polkit Privilegieneskalation-Exploit durch accounts-daemon D-Bus Race Condition | Kitploit
Tools/GitHubGitHub/jeanback1/cve-2021-3560-exploit
Privilege EscalationSchwachstellenanalyseExploitationPenetrationstestsLernen & BildungRed Teaming
GitHubjeanback1/cve-2021-3560-exploit

CVE-2021-3560-exploit

CVE-2021-3560 — Polkit Privilegieneskalation-Exploit durch accounts-daemon D-Bus Race Condition

Repository anzeigen
vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2021-3560 — Polkit Privilegieneskalation

CVE-2021-3560 ist eine lokale Privilegieneskalations-Schwachstelle in Polkit (früher PolicyKit), dem Autorisierungsframework, das in Linux-Desktop-Umgebungen verwendet wird. Ein lokaler, nicht privilegierter Angreifer kann eine Race-Condition in der accounts-daemon D-Bus-Schnittstelle ausnutzen, um einen privilegierten Benutzer zu erstellen, dessen Passwort festzulegen und letztendlich root-Zugriff zu erlangen.


Funktionsweise

Hintergrund: Polkit + accounts-daemon

accounts-daemon (org.freedesktop.Accounts) ist ein systemweiter D-Bus-Dienst, der Benutzerkonten verwaltet (Erstellung, Löschung, Passwortänderungen usw.). Er stellt Methoden zur Verfügung wie:

MethodeAktion
CreateUserErstellt einen neuen Systembenutzer
SetPasswordLegt das Benutzerpasswort fest
DeleteUserLöscht einen Benutzer

Diese Vorgänge erfordern eine Autorisierung. Wenn ein D-Bus-Aufruf eintrifft, sitzt Polkit zwischen dem Aufrufer und accounts-daemon:

root@kitploit:~
Caller  →  D-Bus  →  Polkit (authorization check)  →  accounts-daemon (action)

Polkit entscheidet, ob der Aufrufer berechtigt ist, und leitet die Anfrage gegebenenfalls zur Ausführung an accounts-daemon weiter.

Die Race-Condition

Die Schwachstelle ist eine TOCTOU (Time Of Check, Time Of Use)-Race. Hier ist der entscheidende Punkt:

  1. Ein D-Bus-Methodenaufruf wird an accounts-daemon gesendet (z. B. CreateUser).
  2. Polkit empfängt ihn und führt die Autorisierungsprüfung durch – oft unter Verwendung eines Polkit-Agent-Dialogs, der eine Zeitüberschreitung verursacht und eine „nicht autorisiert“-Antwort zurückgibt. Aufgrund eines Fehlers behandelt die Zeitüberschreitungs-/Fehlerbehandlung in Polkit jedoch bestimmte Fehlerzustände fälschlicherweise als Erfolg oder hinterlässt die daemonseitige Verarbeitung in einem teilweise autorisierten Zustand.
  3. Wenn der D-Bus-Aufruf genau im richtigen Moment beendet wird – nachdem Polkit die Autorisierungsentscheidung getroffen hat, aber bevor accounts-daemon die Verarbeitung abschließt – wird die Benutzererstellung ohne ordnungsgemäße Authentifizierung durchgeführt, aber der Benutzereintrag bleibt unvollständig (z. B. kein Passwort, kein Home-Verzeichnis).
  4. Der Angreifer kann dann dieselbe Race verwenden, um SetPassword für den neu erstellten (aber nicht authentifizierten) Benutzer aufzurufen, oder der unvollständige Zustand gewährt selbst erhöhte Privilegien.

Kurz gesagt: Beenden Sie die Anfrage zum richtigen Zeitpunkt, und Sie umgehen die Authentifizierung.

Was der Exploit tut

Dieses exploit.sh-Skript automatisiert die gesamte Angriffskette:


Verwendung

root@kitploit:~
# Clone the repository
git clone https://github.com/Jeanback1/CVE-2021-3560.git
cd CVE-2021-3560

# Make the exploit executable
chmod +x exploit.sh

# Run it
./exploit.sh

Sobald der Exploit abgeschlossen ist, haben Sie eine root-Shell:

root@kitploit:~
whoami
# root

Beispielausgabe

Exploit-Ausführung


Betroffene Versionen

KomponenteBetroffen
polkit≤ 0.119 (ungepatcht)
accounts-daemon (accountsservice)Alle Versionen, die betroffenes polkit verwenden

Die Schwachstelle wurde in polkit 0.120 und später gepatcht.

Gepatchte Distributionen (nicht vollständig):

  • Ubuntu 20.04+ (mit Sicherheitsupdates nach Juni 2021)
  • Debian 11+ (mit Sicherheitsupdates)
  • RHEL 8+ / CentOS 8+ (mit Erratum)
  • Fedora 34+

Haftungsausschluss

Dieses Repository dient ausschließlich zu Bildungs- und autorisierten Sicherheitsforschungszwecken. Verwenden Sie diesen Exploit nicht auf Systemen, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Testberechtigung haben. Der Autor übernimmt keine Haftung für Missbrauch.

Tool herunterladen
SchrittAktion
1. ZeitkalibrierungVerwendet einen Dummy-CreateUser("nobody")-Aufruf, um die Dauer des D-Bus-Rundgangs zu messen und das „Kill-Fenster“ zu berechnen
2. BenutzererstellungSendet einen CreateUser-Aufruf für einen gewählten Benutzernamen, startet ihn im Hintergrund, wartet für das berechnete Fenster und beendet ihn dann – nutzt die Race aus, um einen nicht autorisierten Benutzer zu erstellen
3. Passwort setzenSobald der Benutzer existiert (in einem unvollständigen Zustand), sendet er einen SetPassword-Aufruf mit derselben Race-Technik, um ein bekanntes Passwort zuzuweisen
4. PrivilegieneskalationVerwendet su, um zu dem neuen Benutzer zu wechseln, führt sudo aus (was funktioniert, weil der Benutzer durch einen umgangenen Autorisierungspfad erstellt wurde), kopiert /bin/bash nach /var/tmp/bash mit SUID root und startet eine root-Shell