Auf einem typischen Linux-Server genügen oft ein falsch gesetztes SUID-Bit oder eine sudo-Fehlkonfiguration für den Weg zu root.
SUID, Capabilities & sudo — die klassischen Linux-Escalation-Pfade
SUID (Set User ID) ist das älteste und bekannteste Linux-Privilege-Escalation-Konzept: Wenn das SUID-Bit auf einer Binärdatei gesetzt ist, wird sie immer mit den Rechten des Dateibesitzers ausgeführt — typischerweise root. Normale SUID-Binärdateien: /usr/bin/passwd (muss /etc/shadow schreiben), /usr/bin/sudo, /usr/bin/su. Gefährliche SUID-Binärdateien: find (SUID + -exec = root-Shell), vim/nano (Dateibearbeitung als root), python/perl/ruby (Code-Ausführung als root), nmap (ältere Versionen mit interaktivem Modus). GTFOBins (gtfobins.github.io) katalogisiert über 400 Binärdateien mit SUID-, sudo- und Capabilities-Escalation-Techniken.
Linux Capabilities (seit Kernel 2.2) sind eine feinere Alternative zu SUID: Statt einer Binärdatei alle root-Rechte zu geben, werden nur spezifische Privilegien gewährt. Gefährliche Capabilities: cap_setuid — erlaubt das Ändern der UID (direkte Escalation zu root). cap_dac_override — ignoriert Dateiberechtigungen. cap_sys_admin — „God Capability“ — mount, chroot, BPF und vieles mehr. cap_sys_ptrace — erlaubt das Debuggen beliebiger Prozesse (Code-Injection in root-Prozesse). Prüfung: getcap -r / 2>/dev/null.
- sudo-Fehlkonfigurationen — der schnellste Weg zu root:
sudo -list der erste Befehl nach einem Initial Foothold. Häufige Fehlkonfigurationen: NOPASSWD für gefährliche Befehle (user ALL=(ALL) NOPASSWD: /usr/bin/vim→sudo vim -c '!bash'→ root-Shell). Wildcard-Injection, env_keep+=LD_PRELOAD. sudo CVEs: CVE-2021-3156 (Baron Samedit) — Heap Overflow in sudo. - PATH Hijacking & Wildcard Injection: PATH Hijacking: Wenn ein SUID-Programm oder ein Cron-Job einen Befehl ohne absoluten Pfad aufruft, kann der Angreifer ein bösartiges Skript in einem Verzeichnis platzieren, das früher im PATH steht. Library Hijacking:
LD_LIBRARY_PATH- oderRPATH-Manipulationen. Python Library Hijacking: Ersatz eines importierten Moduls durch eine bösartige Version. - Writable /etc/passwd & /etc/shadow: Wenn
/etc/passwdworld-writable ist, kann der Angreifer direkt einen neuen root-Benutzer eintragen. Weitere sensitive Dateien:/etc/crontab,/etc/sudoers, SSH-Private-Keys in/root/.ssh/,.bash_history(enthält oft Passwörter im Klartext). - LinPEAS — das Swiss Army Knife: LinPEAS (Linux Privilege Escalation Awesome Script) prüft automatisch: SUID/SGID-Binärdateien, Capabilities, sudo-Konfiguration, Cron-Jobs, PATH-Einstellungen, Kernel-Version, Docker/LXC-Membership, writable Dateien und Verzeichnisse, SSH-Keys, NFS-Shares. Farbkodierung: Rot/Gelb = wahrscheinlicher Escalation-Pfad. Alternativen: linEnum, linux-exploit-suggester, pspy.
Kernel Exploits & Cron — wenn das System selbst verwundbar ist
Kernel Exploits sind die mächtigste Escalation-Kategorie — sie nutzen Schwachstellen im Linux-Kernel selbst aus und gewähren sofort root-Rechte. Die berühmtesten: DirtyCow (CVE-2016-5195) — Race Condition in Copy-on-Write. DirtyPipe (CVE-2022-0847) — Pipe-Buffer-Überschreibung (Kernel 5.8–5.16). GameOver(lay) (CVE-2023-2640/CVE-2023-32629) — OverlayFS-Schwachstelle in Ubuntu-Kerneln. nf_tables (CVE-2024-1086) — Use-after-free in Netfilter (Kernels 3.18–6.6).
- Cron-Job-Exploitation: Cron-Jobs, die als root laufen, sind ein häufiger Escalation-Vektor: 1) Writable Cron-Skript: Der Benutzer ersetzt das Skript durch eine Reverse Shell. 2) Wildcard Injection in Cron: Dateien mit Checkpoint-Argumenten. 3) Crontab-PATH: PATH-Hijacking bei Befehlen ohne absoluten Pfad. Erkennung:
cat /etc/crontab, pspy. - NFS no_root_squash: Wenn ein NFS-Share mit
no_root_squashexportiert wird, behält der root-Benutzer auf dem Client seine Rechte auf dem NFS-Share. Exploitation: NFS-Share mounten, SUID-Binary erstellen, auf dem Zielserver ausführen → root-Shell. Prüfung:showmount -e target. - Systemd Timer & Service Exploitation: Escalation-Vektoren: Writable Service-Unit-Dateien — der Angreifer ändert
ExecStartauf eine Payload. Writable Service-Binärdateien. systemd-Wildcards. Prüfung:systemctl list-timers --all+ ACL-Check. - Kernel-Exploit-Workflow: 1) Kernel-Version bestimmen:
uname -r. 2) Exploit suchen: linux-exploit-suggester (./les.sh), searchsploit. 3) Exploit kompilieren:gcc exploit.c -o exploit. 4) Ausführen:./exploit→ root. Risiko: Kernel-Exploits können das System zum Absturz bringen — im Pentest: Immer Rücksprache mit dem Kunden vor Kernel-Exploitation.
Container Escape & Hardening — vom Container zum Host
Container Escape ist die Privilege Escalation vom Container-Kontext zum Host-Betriebssystem. Die häufigsten Vektoren: Privilegierte Container (docker run --privileged) — voller Zugriff auf alle Host-Devices. Docker Socket Exposure (-v /var/run/docker.sock:/var/run/docker.sock) — der Container kann den Docker-Daemon steuern. Host PID/Network Namespace (--pid=host, --net=host) — der Container sieht alle Host-Prozesse.
- Docker-Socket-Escape im Detail: Wenn der Docker-Socket im Container verfügbar ist:
docker run -v /:/host --privileged -it alpine chroot /host bash— startet einen neuen Container mit dem gesamten Host-Dateisystem → voller Host-Root-Zugriff. Verteidigung: Docker-Socket niemals in Container mounten — alternativ Kaniko oder Podman. - cgroups & Namespace Escape: CVE-2022-0492 (cgroups v1 escape): Wenn der Container CAP_SYS_ADMIN hat und cgroups v1 verwendet, kann ein
release_agentauf dem Host ausgeführt werden. CVE-2024-21626 („Leaky Vessels“): runc-Schwachstelle. Verteidigung: Container rootless betreiben, cgroups v2, Seccomp-Profile, AppArmor/SELinux. - Linux Hardening Checkliste: 1) Kernel aktuell halten — automatische Security-Updates. 2) SUID-Bit-Audit:
find / -perm -4000. 3) sudo härten: Keine NOPASSWD für Interpreter. 4) SSH härten: Key-Only Auth, PermitRootLogin no. 5) Firewall: nftables/iptables. 6) auditd: Syscall-Auditing für privilege escalation. 7) CIS Benchmark anwenden. - Container-Hardening Best Practices: 1) Non-root User im Container (
USER 1000). 2) Read-only Filesystem (--read-only). 3) Drop all capabilities (--cap-drop=ALL). 4) Seccomp-Profil. 5) No-new-privileges (--security-opt=no-new-privileges). 6) Resource Limits. 7) Image Scanning (Trivy, Grype) in CI/CD. 8) Distroless Base Images.
Sie benötigen Unterstützung?
Linux-Server sind das Rückgrat moderner Infrastrukturen — und jeder Escalation-Pfad ist ein potenzielles Einfallstor. Wir führen Linux-Hardening nach CIS-Benchmarks durch, auditieren SUID/Capabilities/sudo-Konfigurationen und testen Ihre Container-Sicherheit.
Linux-Administration ansehen →
