
Windows-Analyse- und Forschungs-Toolkit
⚠️ Teile dieses Projekts wurden mit KI-Unterstützung per Vibe-Coding erstellt, daher kann es einige Fehler enthalten. Der Kernel-Treiber (KWinSys) sollte nur in einer Test-VM zu Forschungszwecken installiert werden.

![]() Prozesse (Benutzermodus) |
![]() ETW-Sitzungen |
![]() Kernel-Callbacks |
![]() Kernel-Pool |
![]() Symbole |
![]() Filter |
| Komponente | Rolle |
|---|---|
| NtWarden | GUI-Anwendung (ImGui + DirectX 11) |
| WinSys | Statische Bibliothek für die Aufzählung von Prozessen, Diensten und Netzwerk |
| KWinSys | Kernel-Treiber für Callbacks, SSDT, Kernelmodule usw. |
| WinSysServer | Headless-TCP-Server für die Remote-Inspektion |
| Tab | Funktion |
|---|---|
| Prozesse | Prozessliste mit Baumansicht, Handles, Threads, Speicherbereichen und Modulen |
| Leistung | Echtzeitdiagramme für CPU-, RAM-, GPU- und Netzwerkauslastung – können über andere Aufgaben eingeblendet werden |
| Dienste | Dienstaufzählung mit Status, Starttyp und Binärpfad |
| Netzwerk > Verbindungen | TCP/UDP-Verbindungen mit zugehörigem Prozess und Remote-Endpunkten |
| Netzwerk > Root-Zertifikate | Vertrauenswürdiger Root-CA-Speicher mit Antragsteller, Aussteller und Fingerabdruck |
| Netzwerk > NDIS | Netzwerkadapter-Informationen – Treiber, MAC, Geschwindigkeit, Medientyp |
| ETW | Aktive Ablaufverfolgungssitzungen und registrierte Anbieter |
| IPC | RPC-Endpunkte und Named Pipes |
| Objekt-Manager | Kernelobjekt-Namespace durchsuchen – Verzeichnisse, Symlinks, Geräte |
| Registry | Registry-Browser mit Aufzählung von Schlüsseln/Werten |
| Symbole | Ladezustand der Benutzermodus-Symbole |
| Logger | Erfasst Kernel-Treiber-Debugprotokolle und GUI-Protokolle im Benutzermodus an einem Ort |
| Tab | Funktion |
|---|---|
| Prozessobjekte | EPROCESS-Aufzählung, Erkennung versteckter Prozesse durch Querverweise |
| Module | Geladene Kernel-Treiber mit Basis, Größe, Pfad (einschließlich LolDrivers-Prüfung) |
| Callbacks | Kernel-Callbacks (Prozess/Thread/Image/Registry/Objekt/Stromversorgung) + Integritätsprüfungen |
| SSDT | SSDT-Einträge mit Besitzer und Hook-Erkennung |
| Symbole | Kernel-Symbolauflösung und PDB-Laden |
| Kernel-Pool | Große Pool-Zuordnungen, Pool-Tag-Statistiken |
| Speicher R/W | Kernel-Speicher nach Adresse lesen/schreiben |
| Timer | Interrupt- und DPC-Zähler pro CPU |
| Filter | Minifilter-Treiber mit Altitude- und Instanzinformationen |
| Deskriptortabellen | GDT/IDT-Einträge |
| IRP-Dispatch | IRP-Dispatch-Tabelle für jeden Treiber – Handler-Adressen, Besitzermodul |
| WFP | WFP-Callout-Treiber und -Filter |
| DSE-Status | Status der Treibersignaturerzwingung |
| CI-Richtlinie | Code-Integritätsrichtlinie und Durchsetzungsstufe |
| Kernel-Integrität | Kernel-.text mit dem Image auf der Festplatte verifizieren |
| Hypervisor-Hooks | EPT-Hook-Erkennung durch Zeitanalyse |
Sicherheitsanalyse pro Prozess, erreichbar über das Prozesskontextmenü.
| Abschnitt | Prüft |
|---|---|
| Nicht dateigestützter Speicher | Private ausführbare Bereiche, die von keiner Datei hinterlegt sind (Shellcode-Indikator) |
| Hollowing | Abweichung zwischen PEB-ImageBase und PE-Header-ImageBase |
| Module Stomping | In-Memory-.text-Abschnitte im Vergleich zu den Originalen auf der Festplatte |
| Direkte Syscalls | syscall-Anweisungen (0F 05) außerhalb von ntdll gefunden |
| Syscall-Stubs | ntdll-Stub-Integrität – Speicherbytes im Vergleich zur sauberen Kopie auf der Festplatte |
| User-Hooks | Inline-Hooks (JMP/CALL-Patches) in ntdll, kernel32 usw. (erfordert Capstone, um analysierte Bytes zu disassemblieren) |
| Tokens | Erhöhung, Integritätsstufe, Identitätswechsel, verdächtige Berechtigungen |
| Debug-Objekte | Debug-Objekte und Debug-Ports am Prozess |
| Hypervisor | CPUID-Herstellerprüfung + RDTSC/CPUID-Zeitanomalien |
| Job-Objekte | Job-Mitgliedschaft, Limits, UI-Einschränkungen |
| CFG-Status | CFG/XFG-Durchsetzungsstatus und Mitigationsflags |
Anforderungen: Visual Studio 2022, Windows SDK 10.0.26100.0+, WDK (für KWinSys)
NtWarden.sln
├── NtWarden/ # GUI app
├── WinSys/ # Core library (static lib)
├── KWinSys/ # Kernel driver
└── WinSysServer/ # Remote server
NtWarden.sln in Visual Studiox64/Release/KWinSys benötigt Testsignierung oder eine gültige Signatur.
# Enable test signing (reboot required)
bcdedit /set testsigning on
# On VMs you may also need
bcdedit /set nointegritychecks on
Führen Sie NtWarden als Administrator aus. Durch Wechsel zur Registerkarte „Kernel-Modus" wird der Treiber automatisch installiert und gestartet, falls er nicht bereits geladen ist. Sie können ihn auch manuell über das Menü Treiber verwalten.
WinSysServer läuft auf einem Zielcomputer (normalerweise einer VM) und stellt Systemdaten über TCP bereit. Verbinden Sie sich von NtWarden aus über Remote > Verbinden.
| Datei | Pfad | Benötigt für |
|---|---|---|
WinSysServer.exe | x64/Release/WinSysServer.exe | Immer |
KWinSys.sys | x64/Release/KWinSys/KWinSys.sys | Nur Kernel-Funktionen |