Zum Inhalt springen
← Alle Artikel Sicherheit

Kernel Exploitation & Rootkits — Angriffe auf den Betriebssystemkern

Der Betriebssystemkern (Kernel) ist die privilegierteste Softwareschicht eines Systems — läuft in Ring 0 mit uneingeschränktem Zugriff auf Hardware, Speicher und alle Prozesse. Kernel Exploitation zielt darauf ab, Schwachstellen im Kernel auszunutzen, um von User-Mode (Ring 3) in den Kernel-Mode zu eskalieren — mit SYSTEM/root-Berechtigungen als Ergebnis. Unter Windows sind win32k.sys (GUI-Subsystem) und NTFS-Treiber die häufigsten Angriffsziele mit Use-After-Free-, Pool-Overflow- und Type-Confusion-Schwachstellen. Linux bietet mit Dirty Pipe (CVE-2022-0847), Dirty COW (CVE-2016-5195) und userfaultfd-basiertem Heap-Spraying eigene Exploit-Klassen. Rootkits nutzen den Kernel-Zugriff, um Prozesse, Dateien und Netzwerkverbindungen vor dem Betriebssystem zu verstecken — von klassischen SSDT-Hooks bis zu modernen UEFI-Bootkits (BlackLotus, CosmicStrand), die unterhalb des Betriebssystems persistieren und Secure Boot umgehen.

Steckbrief
TypKernel Security / Rootkit Analysis
TechnikPool Overflow / UAF / DKOM / Bootkit
MITRE ATT&CKT1068 / T1014 / T1542.003 / T1547
ToolsWinDbg / Volatility / UEFI-Tool / chkrootkit
VerteidigungPatchGuard / HVCI / Secure Boot / eBPF
KritikalitätKritisch
Kernel Exploitation und Rootkits Kernel-Exploits sind die mächtigsten Angriffswerkzeuge — sie gewähren vollständige Kontrolle über das Betriebssystem und können jede Sicherheitsmaßnahme im User-Mode umgehen.

Windows Kernel Exploitation — Ring-0-Angriffe auf Windows

Der Windows-Kernel bietet aufgrund seiner Komplexität eine breite Angriffsfläche: Der NT-Kernel (ntoskrnl.exe), das GUI-Subsystem (win32k.sys), Dateisystem-Treiber (NTFS, FAT) und hunderte Third-Party-Treiber laufen alle in Ring 0. Historisch war win32k.sys der produktivste Exploit-Vektor — mit über 1.700 CVEs seit Windows NT. Kernel-Exploitation erfordert tiefes Verständnis des Windows Kernel Memory Managers, des Object Managers und der Pool-Allokationsstrategien.

  • Pool Overflow & Pool Feng Shui: Der Windows Kernel verwendet Pool-basierte Speicherverwaltung mit Paged Pool und Non-Paged Pool. Pool Overflow-Schwachstellen überschreiben benachbarte Pool-Allokationen — der Angreifer kontrolliert, welches Objekt überschrieben wird, durch Pool Feng Shui (deterministische Heap-Manipulation). Technik: 1) Pool fragmentieren durch Allokation vieler gleichgroßer Objekte, 2) gezielte Lücken schaffen durch Freigabe jedes zweiten Objekts, 3) verdächtiges Objekt allozieren (füllt eine Lücke), 4) Overflow triggered — überschreibt das benachbarte Objekt. Segment Heap (ab Windows 10 19H1 für den Kernel) erschwert Pool Feng Shui durch Randomisierung, ist aber nicht immun. CVE-2021-31956 (NTFS Pool Overflow) wurde von der Lazarus Group in-the-wild ausgenutzt: Ein speziell präpariertes NTFS-Attribut löste einen Overflow in NtfsQueryEaUserEaList aus — kombiniert mit WNF (Windows Notification Facility) für arbitrary read/write.
  • Use-After-Free in win32k.sys & Type Confusion: Use-After-Free (UAF) tritt auf, wenn ein Kernel-Objekt freigegeben, aber ein Pointer darauf weiterhin genutzt wird. In win32k.sys entstehen UAFs häufig durch komplexe Callback-Mechanismen: User-Mode-Callbacks (z. B. xxxClientAllocWindowClassExtraBytes) werden während der Kernel-Verarbeitung aufgerufen — der User-Mode-Code kann dabei das zugrundeliegende Objekt manipulieren/freigeben, während der Kernel noch darauf zugreift. CVE-2021-1732 (win32k UAF, von Bitter APT genutzt): Durch Manipulation von tagWND.cbWndExtra während eines Callbacks konnte der Angreifer ein Out-of-Bounds-Read/Write erreichen. Type Confusion: Ein Kernel-Objekt wird als falscher Typ interpretiert — CVE-2023-36802 (MSKSSRV.sys Type Confusion) ermöglichte SYSTEM-Privilege durch Verwechslung eines User-kontrollierten Buffers mit einer internen Struktur. Debugging: WinDbg mit Kernel-Debugging über KDNET (Netzwerk-Kernel-Debugger) ist das Standardtool — !pool, !poolfind, dt nt!_POOL_HEADER für Pool-Analyse.
  • Token Stealing & SYSTEM-Elevation: Nach erfolgreichem Kernel-Exploit ist Token Stealing die Standardtechnik für Privilege Escalation: Jeder Windows-Prozess hat ein Token-Objekt (_TOKEN-Struktur), das Berechtigungen definiert. Der Exploit kopiert das Token des System-Prozesses (PID 4) auf den eigenen Prozess: 1) PsInitialSystemProcess referenzieren (Pointer auf SYSTEM _EPROCESS), 2) _EPROCESS.Token auslesen (Offset variiert je nach Windows-Build), 3) Token auf den aktuellen Prozess kopieren — sofortige SYSTEM-Berechtigungen. Alternative: Privilege-Feld direkt manipulieren: _TOKEN.Privileges.Enabled auf 0xFFFFFFFFFFFFFFFF setzen (alle Privileges aktivieren — inkl. SeDebugPrivilege, SeLoadDriverPrivilege). KVAS (Kernel Virtual Address Shadow) und KASLR erschweren das Auffinden der richtigen Speicheradressen, können aber über NtQuerySystemInformation-Leaks oder Side-Channel-Angriffe umgangen werden.
  • Vulnerable Driver Exploitation (BYOVD): Bring Your Own Vulnerable Driver (BYOVD) ist eine Technik, bei der Angreifer einen signierten, aber verwundbaren Treiber installieren und dessen Schwachstelle ausnutzen, um Ring-0-Code auszuführen. Da Windows nur signierte Treiber lädt (Driver Signature Enforcement), verwenden Angreifer legitime Treiber mit bekannten Schwachstellen: gdrv.sys (Gigabyte — arbitrary read/write), DBUtil_2_3.sys (Dell — CVE-2021-21551), RTCore64.sys (MSI Afterburner — arbitrary MSR read/write), capcom.sys (Capcom — direktes Ausführen von Ring-0-Code). Das Projekt LOLDrivers (Living Off The Land Drivers) katalogisiert über 700 verwundbare Treiber. Ransomware-Gruppen (BlackByte, Lazarus, Cuba) nutzen BYOVD routinemäßig, um EDR-Treiber im Kernel zu deaktivieren. Verteidigung: Microsoft Vulnerable Driver Blocklist (DriverSiPolicy.p7b), HVCI (Hypervisor-Protected Code Integrity) und WDAC (Windows Defender Application Control) mit Custom-Driver-Policies.

Linux Kernel & Rootkit-Techniken — von Dirty Pipe bis DKOM

Der Linux-Kernel ist monolithisch mit Tausenden von Modulen, die in Ring 0 laufen — Schwachstellen in Subsystemen wie Dateisystem, Netzwerk-Stack, Speicherverwaltung oder Gerätetreibern führen direkt zu root-Berechtigungen. Die Open-Source-Natur ermöglicht sowohl Angreifern (Quellcode-Analyse für Schwachstellenfindung) als auch Verteidigern (Auditing, Patching) tiefe Einblicke. Rootkit-Techniken auf Linux reichen von Loadable Kernel Modules (LKMs) über eBPF-Rootkits bis zu DKOM-basierten Prozess-Versteckmechanismen.

  • Dirty Pipe (CVE-2022-0847) & Dirty COW (CVE-2016-5195): Dirty Pipe ist eine der elegantesten Linux-Kernel-Schwachstellen: Ein Bug in der Pipe-Buffer-Verwaltung ermöglichte das Überschreiben von Inhalten in beliebigen Dateien — selbst in read-only gemounteten Dateisystemen und SUID-Binaries. Der Exploit ist trivial: Pipe erstellen, teilweise lesen (setzt PIPE_BUF_FLAG_CAN_MERGE), dann splice() mit Zieldatei — anschließender write() auf die Pipe überschreibt den Page-Cache der Zieldatei. Exploitation: /etc/passwd modifizieren (root ohne Passwort) oder SUID-Binary überschreiben. Dirty COW (CVE-2016-5195) nutzte eine Race Condition im Copy-on-Write-Mechanismus: Durch gleichzeitiges madvise(MADV_DONTNEED) und write() auf ein /proc/self/mem-Mapping konnte der COW-Schutz umgangen und read-only Speicher überschrieben werden. Beide Schwachstellen betreffen den Speicherverwaltungssubsystem und zeigen, wie fundamental Kernel-Bugs sein können.
  • userfaultfd & KASLR-Bypass: userfaultfd ist ein Linux-Syscall, der User-Space-Programme über Page Faults benachrichtigt — ursprünglich für VM-Live-Migration entwickelt. Für Kernel-Exploitation ist userfaultfd extrem wertvoll: Es ermöglicht das Anhalten des Kernels mitten in einer Operation (wenn der Kernel auf eine User-Space-Seite zugreift), die Manipulation des Kernel-Zustands während der Pause und die Fortsetzung der Operation mit manipuliertem Zustand — perfekt für Race-Condition-Exploits und Heap-Spraying. Seit Linux 5.11 ist userfaultfd für unprivilegierte Benutzer eingeschränkt (sysctl vm.unprivileged_userfaultfd=0) — als Alternative nutzen Exploit-Entwickler FUSE (Filesystem in Userspace). KASLR (Kernel Address Space Layout Randomization) randomisiert die Kernel-Basisadresse — Bypass-Techniken: /proc/kallsyms (zeigt Kernel-Symbole mit Adressen — erfordert kptr_restrict=0), Side-Channel-Angriffe (Timing-basierte Prefetch-Angriffe, TLB-Seitenkanalangriffe), dmesg-Leaks (Kernel-Pointer in Log-Nachrichten).
  • DKOM & LKM-Rootkits: Direct Kernel Object Manipulation (DKOM) ist die Kerntechnik moderner Rootkits: Durch direkte Manipulation von Kernel-Datenstrukturen werden Prozesse, Dateien und Netzwerkverbindungen unsichtbar. Prozess-Hiding: Die task_struct-Linked-List wird manipuliert — der zu versteckende Prozess wird aus der tasks-Liste entfernt (list_del() auf current->tasks), aber der Scheduler referenziert ihn weiterhin über die Run-Queue — der Prozess läuft, ist aber für ps, top und /proc unsichtbar. LKM-Rootkits (Loadable Kernel Modules) werden als Kernel-Module geladen und hooking Syscall-Table-Einträge: sys_getdents64 (Dateien verstecken), sys_read (Dateiinhalte filtern), sys_kill (Signale an versteckte Prozesse blockieren). Beispiele: Diamorphine (modernes LKM-Rootkit für Linux 2.6–6.x), Reptile (Feature-reiches Rootkit mit Port-Knocking-Backdoor). Erkennung: Volatility mit Linux-Profil analysiert RAM-Dumps und erkennt versteckte Prozesse durch Vergleich von Prozesslisten.
  • eBPF-basierte Rootkits & Angriffe: eBPF (extended Berkeley Packet Filter) ermöglicht die Ausführung von sandboxed Code im Kernel — ursprünglich für Netzwerk-Monitoring, wird eBPF zunehmend für offensive Zwecke missbraucht. eBPF-Rootkits (z. B. ebpfkit, bad-bpf) nutzen BPF-Programme, um Syscall-Rückgabewerte zu manipulieren: Ein tracepoint/syscalls/sys_exit_getdents64-Programm kann Directory-Einträge aus dem Ergebnis entfernen — Dateien werden unsichtbar, ohne die Syscall-Tabelle zu modifizieren. Vorteile gegenüber LKM-Rootkits: Kein Kernel-Modul nötig (eBPF-Programme werden über den bpf()-Syscall geladen), überleben kein Reboot (flüchtig — schwerer forensisch nachzuweisen), passieren den eBPF-Verifier (sehen „sicher“ aus). Verteidigung: sysctl kernel.unprivileged_bpf_disabled=1 (verhindert eBPF für nicht-privilegierte Benutzer), BPF-LSM (Linux Security Module) kann eBPF-Programmtypen einschränken, bpftool listet laufende eBPF-Programme: bpftool prog list zur Erkennung.

Kernel-Verteidigung & Secure Boot — den Kern schützen

Die Verteidigung des Kernels erfordert einen mehrschichtigen Ansatz: Von Compile-Time-Mitigations (Stack Canaries, CFI) über Runtime-Schutz (PatchGuard, SMEP, SMAP) bis zu Hardware-unterstützten Mechanismen (HVCI, VBS, Secure Boot). Moderne Betriebssysteme implementieren zunehmend Hypervisor-basierte Isolation: Der Hypervisor läuft in Ring -1 und kann den Kernel selbst überwachen und einschränken. UEFI Secure Boot schützt den Boot-Prozess, wird aber von Bootkits wie BlackLotus herausgefordert.

  • Windows PatchGuard & HVCI: PatchGuard (Kernel Patch Protection / KPP) überwacht kritische Kernel-Strukturen auf unerlaubte Modifikationen: SSDT (System Service Descriptor Table), IDT (Interrupt Descriptor Table), GDT (Global Descriptor Table), Kernel-Code-Sections und MSR-Werte. Bei Erkennung einer Manipulation: BSOD (CRITICAL_STRUCTURE_CORRUPTION). PatchGuard-Umgehung ist möglich (z. B. durch Timing-Angriffe auf den Check-Timer), aber erfordert extremen Aufwand. HVCI (Hypervisor-Protected Code Integrity) nutzt VBS (Virtualization-Based Security): Der Hyper-V-Hypervisor erstellt einen isolierten Secure Kernel (VTL 1), der die Code-Integrität des normalen Kernels (VTL 0) überprüft — nur signierter Code darf im Kernel ausgeführt werden. HVCI blockiert effektiv: unsignierte Treiber, modifizierte Kernel-Code-Pages, Data-to-Code-Transitions (W^X im Kernel). Credential Guard schützt LSASS-Secrets in der VTL-1-Isolation — Mimikatz kann Credentials nicht mehr aus dem Speicher extrahieren.
  • Linux Kernel Lockdown & Hardening: Kernel Lockdown (seit Linux 5.4) bietet zwei Modi: Integrity (verhindert Modifikation des Kernels: kein /dev/mem-Zugriff, kein kexec von unsignierten Kerneln, keine ACPI-Table-Overrides) und Confidentiality (zusätzlich: kein Zugriff auf /proc/kcore, keine Kernel-Parameter-Leaks über dmesg). Aktivierung: lockdown=integrity als Kernel-Parameter oder via Secure Boot (automatisch aktiviert bei EFI Secure Boot). Weitere Hardening-Maßnahmen: CONFIG_STACKPROTECTOR_STRONG (Stack Canaries), CONFIG_CFI_CLANG (Control Flow Integrity — verhindert ROP/JOP im Kernel), CONFIG_INIT_ON_ALLOC_DEFAULT_ON (Heap-Initialisierung auf Null — verhindert Info-Leaks), CONFIG_RANDOMIZE_KSTACK_OFFSET (Kernel-Stack-Randomisierung). SELinux/AppArmor im Enforcing-Mode schränkt selbst root-Prozesse in ihren Kernel-Interaktionen ein.
  • Secure Boot & UEFI-Rootkits: UEFI Secure Boot verifiziert die kryptographische Signatur jeder Komponente im Boot-Prozess: PK (Platform Key) → KEK (Key Exchange Key) → db (Allowed Signatures) / dbx (Forbidden Signatures). Nur Bootloader und Treiber mit gültiger Signatur in db werden geladen. BlackLotus (2023) war das erste UEFI-Bootkit, das Secure Boot auf aktuellen Windows-Systemen umging: Es nutzte CVE-2022-21894 (Baton Drop), um einen signierten, aber verwundbaren Windows-Boot-Manager zu laden — dieser lud dann den unsignierten Bootkit-Code. CosmicStrand (Kaspersky, 2022) modifizierte die UEFI-Firmware direkt im SPI-Flash — persistiert über OS-Neuinstallationen und Festplattentausch hinweg. MoonBounce (APT41/Winnti) implantierte sich in der CORE_DXE-Firmware-Komponente. Verteidigung: Custom Secure-Boot-Keys (PK/KEK/db) statt Microsoft-Standard-Keys, Intel Boot Guard (Hardware-basierte Firmware-Verifikation), TPM-Measured Boot mit Remote Attestation.
  • eBPF-basiertes Kernel-Monitoring: eBPF ist nicht nur ein Angriffswerkzeug, sondern auch die leistungsfähigste Kernel-Monitoring-Technologie für Verteidiger. Falco (CNCF-Projekt) nutzt eBPF, um Kernel-Syscalls in Echtzeit zu überwachen und bei verdächtigen Aktivitäten zu alarmieren: Shell in Container gestartet, sensitive Datei gelesen (/etc/shadow), Kernel-Modul geladen, Netzwerk-Tool in nicht-Netzwerk-Container ausgeführt. Tetragon (Cilium/Isovalent) bietet eBPF-basierte Security Observability mit geringem Overhead: Process-Lifecycle-Tracking, File-Integrity-Monitoring, Network-Policy-Enforcement — alles direkt im Kernel ohne User-Space-Overhead. Tracee (Aqua Security) erkennt Laufzeit-Anomalien und mappt sie auf MITRE ATT&CK-Techniken: Fileless Execution, Container Escapes, Kernel-Module-Loading. bpftrace ermöglicht Ad-hoc-Kernel-Tracing für Incident Response: bpftrace -e 'tracepoint:syscalls:sys_enter_execve { printf("%s %s\n", comm, str(args->filename)); }' protokolliert alle Programmausführungen mit Pfad.

Sie benötigen Unterstützung?

Kernel-Exploitation und Rootkits repräsentieren die höchste Eskalationsstufe in der Cybersicherheit. Wir härten Ihre Systeme mit HVCI, Secure Boot Custom Keys und eBPF-Monitoring — und unterstützen bei der forensischen Analyse von Rootkit-Infektionen und UEFI-Kompromittierungen.

Security & Firewall ansehen →
Emre Uygunsoy — Gründer & Geschäftsführer von IT-ZU Verfügbar
🛡 BSI Grundschutz ☁ Azure Certified 🔒 DSGVO Experte
Ihr persönlicher Ansprechpartner

Emre Uygunsoy

Geschäftsführer & Senior IT-Consultant

„Jedes Unternehmen verdient eine IT, die einfach funktioniert. Lassen Sie uns gemeinsam herausfinden, wie wir Ihre IT auf das nächste Level bringen können.“
Hybrid Infrastructure On-Premise & Cloud Architektur
🛡
IT-Security Zero Trust, Firewall, EDR
🔄
Migration & Rollout M365, Azure, Virtualisierung

Bereit für eine IT, die einfach funktioniert? Lassen Sie uns sprechen.

Kostenlose und unverbindliche Erstberatung. Wir analysieren Ihre IT-Situation und zeigen Optimierungspotenzial — ohne Verpflichtung.

Noch diese Woche: Freie Beratungstermine verfügbar