Einbruch in den Windows-Kernel: Ein Einblick in fortgeschrittene Exploitation-Techniken

Wie kriegen Angreifer einen Zugriff auf den Kernel? Wo liegen Schwachstellen, die unter Windows ausgenutzt werden können? Wir zeigen hier mögliche Wege.
 

Einführung: Warum der Kernel-Bereich so wichtig ist

Während sich die meisten Sicherheitsexperten auf Userland-Exploitation konzentrieren, liegt die wahre Macht tiefer in der Systemarchitektur. Moderne AV-/EDR-Lösungen sind zunehmend ausgereifter geworden, was traditionelle Userland-Angriffe herausfordernder und erkennbarer macht. Aber was wäre, wenn eine einfache Windows-Fehlkonfiguration den Zugang zur privilegiertesten Ebene des Systems gewähren könnte – dem Kernel selbst?

Das Arbeiten aus dem Kernel-Bereich bietet erhebliche Vorteile gegenüber traditionellen Userland-Angriffen. Es ermöglicht die teilweise Umgehung der Erkennungsmechanismen von Sicherheitstools und öffnet Türen zu mächtigeren Exploitationstechniken.

In diesem umfassenden Leitfaden werden wir untersuchen, wie man Kernel-Hintertüren identifiziert, Debugging-Umgebungen einrichtet und benutzerdefinierte Tools für die Kernel-Manipulation nutzt.

Voraussetzungen: Den Weg hinein finden

Bevor wir uns in die Kernel-Exploitation vertiefen, müssen wir überprüfen, ob das Zielsystem den Testsignaturmodus zulässt. Diese kritische Einstellung bestimmt, ob wir unsignierte Kernel-Treiber laden können. Das ist unser Tor zum Kernel-Bereich.

Überprüfung des Secure Boot-Status mit PowerShell

Die Möglichkeit, den Testsignaturmodus zu aktivieren, hängt von den lokalen Sicherheitseinstellungen ab. Wenn diese Tür offen ist, können wir mit dem Laden benutzerdefinierter Kernel-Treiber ohne gültige Microsoft-Signaturen fortfahren.

Einrichtung Ihrer Kernel-Debugging-Umgebung

Architekturoptionen verstehen

Kernel-Debugging erfordert eine sorgfältige Einrichtung und kann auf zwei Arten angegangen werden:

Lokales Virtual Machine Debugging
Erstellen Sie eine spezifische Windows-Version mit UUP dump, stellen Sie sie in Ihrer virtuellen Umgebung bereit und debuggen Sie von einer anderen Windows-Instanz aus.

Direkte Kernel-Debugging-Einrichtung mit nativer UDP-Verbindung

Remote Kernel Debugging
Debuggen Sie den Ziel-Kernel direkt, obwohl dies zusätzliches Setup mit Linux-VM erfordert.

Remote Kernel-Debugging-Setup mit Linux-VM als Bridge

Für Remote-Szenarien erweist sich SSH-Port-Weiterleitung mit SOCAT für UDP über TCP als unzuverlässig. Stattdessen bietet eine Linux-VM-Bridge die notwendige Stabilität.

Konfiguration der Debugging-Umgebung

Auf der Debuggee-Maschine

Installieren Sie Windows 10 SDK mit ‚Debugging Tools for Windows‘. Und aktivieren Sie den Testsignaturmodus:

PowerShell-Befehle zur Aktivierung des Testsignaturmodus

Konfigurieren Sie Kernel-Debugging mit kdnet.exe:

Einrichtung des Netzwerk-Kernel-Debuggings mit kdnet.exe

Auf der Debugger-Maschine

Konfigurieren Sie WinDbg mit dem entsprechenden Schlüssel und Port:

WinDbg-Konfiguration für Kernel-Debugging-Verbindung

Entdeckung von Kernel-Callbacks und Offsets

Die Herausforderung der Windows-Versionen

Kernel-Callback-Offsets ändern sich zwischen Windows-Releases, was die Exploitation versionsspezifisch macht. Unsere Forschung hat Offsets für diese Windows-Builds identifiziert:

  • 10.0.26100

  • 10.0.22621

  • 10.0.22631

Für nicht unterstützte Versionen wird die manuelle Offset-Entdeckung durch Kernel-Debugging notwendig.

Identifizierung kritischer Callbacks

Windows-Kernel-Callbacks bieten Benachrichtigungen für Systemereignisse und werden stark von Sicherheitslösungen genutzt. Die drei wichtigsten Callback-Typen für Angreifer sind:

ProcessNotify Callbacks

Ausgelöst bei Prozesserstellung/-beendigung

ThreadNotify Callbacks

Aktiviert während Thread-Erstellung/-Löschung

ImageNotify Callbacks

Aufgerufen, wenn DLLs in den Prozessspeicher gemappt werden

Auflistung von ProcessNotify Callbacks in WinDbg

Bestimmung der ProcessNotify Callback-Offsets

Ähnliche Techniken gelten für ThreadNotify und ImageNotify Callbacks:

Auflistung von ThreadNotify Callbacks

Bestimmung der ThreadNotify Callback-Offsets

Auflistung von ImageNotify Callbacks

Bestimmung der ImageNotify Callback-Offsets

Prozessschutzmechanismen

Das Verständnis von Prozessschutz-Offsets ist entscheidend für die Manipulation geschützter Prozesse wie LSASS:

Identifizierung der Prozessschutzstruktur-Offsets

Einführung von tKMD: Ihr Kernel-Exploitation-Toolkit

Überblick

Der Trovent Kernel-Mode Driver (tKMD) ist ein leistungsstarkes C-basiertes Toolkit, das gängige Kernel-Exploitationstechniken erleichtert. Verfügbar auf GitHub, besteht es aus:

  • Einem Rogue-Kernel-Treiber (tKMD.sys)

  • Einem Userspace-Kommunikator (tKMDc.exe)

Installation und Einrichtung

Installieren Sie den Treiber mit dem Service Control Manager:

Erfolgreiche Treiberinstallationsausgabe

Fähigkeiten und Funktionen

Der tKMDc.exe-Kommunikator bietet umfangreiche Funktionalität:

tKMDc.exe Hilfemenü mit verfügbaren Befehlen

Kernel-Modul-Aufzählung

Identifizieren Sie verdächtige oder nicht standardmäßige Treiber im System:

Suche nach spezifischen Treibern unter Kernel-Modulen

Callback-Aufzählung

Listen Sie alle registrierten Callbacks für jeden Typ auf:

Aufzählung von ProcessNotify Callbacks mit tKMDc.exe

Aufzählung von ThreadNotify Callbacks mit tKMDc.exe

Aufzählung von ImageNotify Callbacks mit tKMDc.exe

Callback-Manipulation

Deaktivieren Sie spezifische Callbacks zur Umgehung der Erkennung:

Deaktivierung eines spezifischen ProcessNotify Callbacks

Prozessschutz-Entfernung

Entfernen Sie den Schutz von kritischen Prozessen wie LSASS:

Entfernung des Schutzes von LSASS zur Ermöglichung von Credential Dumping

Das Setzen aller _PS_PROTECTION-Strukturparameter auf Null deaktiviert effektiv den Prozessschutz und ermöglicht die Extraktion von Anmeldeinformationen, selbst wenn als SYSTEM ausgeführt wird.

Sicherheitsimplikationen und Verteidigungsüberlegungen

Angriffsvektoren

Die Manipulation von Kernel-Callbacks stellt einen mächtigen Angriffsvektor dar, weil:

  • Process Notifications deaktiviert werden können, um bösartige Prozesserstellung zu verbergen

  • Thread Notifications-Manipulation die Erkennung injizierter Threads verhindert

  • LoadImage Notifications-Entfernung DLL-Ladeaktivitäten verbirgt

Erkennungsherausforderungen

Das Arbeiten aus dem Kernel-Bereich bietet erhebliche Vorteile:

  • Umgeht viele userland-basierte Sicherheitskontrollen

  • Operiert unterhalb der meisten EDR/AV-Erkennungsebenen

  • Manipuliert die Mechanismen, auf die Sicherheitstools angewiesen sind

Fazit: Die Macht und Verantwortung des Kernel-Zugriffs

Diese Untersuchung der Windows-Kernel-Exploitation zeigt, dass der Zugang zum Kernel oft aus einfachen Fehlkonfigurationen und nicht aus komplexen Schwachstellen resultiert. Während der Testsignaturmodus eine bequeme Hintertür für Forschung und Tests bietet, stellt er ein erhebliches Sicherheitsrisiko in Produktionsumgebungen dar.

Das Verständnis dieser Techniken ist entscheidend für:

  • Sicherheitsexperten, die die Systemhärtung bewerten

  • Incident Responder, die Kernel-Level-Kompromittierungen erkennen

  • Systemadministratoren, die ordnungsgemäße Sicherheitskonfigurationen implementieren

Denken Sie daran, dass mit großer Macht große Verantwortung einhergeht. Diese Techniken sollten nur in autorisierten Sicherheitsbewertungen und Forschungsumgebungen verwendet werden. Die Fähigkeit, Kernel-Callbacks und Prozessschutz zu manipulieren, zeigt, warum die ordnungsgemäße Systemkonfiguration und Sicherheitshygiene grundlegend für die Aufrechterhaltung sicherer Windows-Umgebungen bleiben.

Da sich Sicherheitstools weiterentwickeln, entwickeln sich auch die Techniken zu ihrer Umgehung. Durch das Verständnis der Kernel-Level-Exploitation können Verteidiger sich besser auf diese fortgeschrittenen Angriffe vorbereiten und sie verhindern.

 

Sie suchen ein System zur Angriffserkennung bzw. eine Managed Detection & Response Lösung? Oder möchten Sie wissen, wie die Context Engine von Trovent funktioniert? Kontaktieren Sie uns! Wir stehen gerne für ein Gespräch und für eine Demonstration unserer Lösungen bereit.