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.

Sergey Makarov gehört seit 2020 zum Trovent-Team. Als Senior Security Specialist und Penetration Tester sorgt er für sichere IT-Landschaften bei unseren Kunden. Als zertifizierter Red Team Operator/Lead weiß er genau, wie Cyberangriffe ablaufen und wie sich Unternehmen davor schützen können. Darüber hinaus ist Sergey ein begeisterter Softwareentwickler. Die von ihm programmierten Tools – darunter YAETWi, tRWXi, tWATa und tKMD – sind als Open-Source-Projekte auf GitHub verfügbar.