> Windows Syscalls
ntoskrnl.exeT1106

NtSerializeBoot

Löst die Serialisierung des Boot-Trace-Puffers aus — schließt die beim Systemstart erfassten Performance-Daten ab.

Prototyp

NTSTATUS NtSerializeBoot(VOID);

Argumente

NameTypeDirDescription

Syscall-IDs pro Windows-Version

Windows-VersionSyscall-IDBuild
Win10 15070x16Bwin10-1507
Win10 16070x173win10-1607
Win10 17030x179win10-1703
Win10 17090x17Cwin10-1709
Win10 18030x17Ewin10-1803
Win10 18090x17Fwin10-1809
Win10 19030x180win10-1903
Win10 19090x180win10-1909
Win10 20040x186win10-2004
Win10 20H20x186win10-20h2
Win10 21H10x186win10-21h1
Win10 21H20x188win10-21h2
Win10 22H20x188win10-22h2
Win11 21H20x190win11-21h2
Win11 22H20x193win11-22h2
Win11 23H20x193win11-23h2
Win11 24H20x195win11-24h2
Server 20160x173winserver-2016
Server 20190x17Fwinserver-2019
Server 20220x18Ewinserver-2022
Server 20250x195winserver-2025

Kernel-Modul

ntoskrnl.exeNtSerializeBoot

Verwandte APIs

NtQuerySystemInformation (SystemPrefetcherInformation)PrefetchVirtualMemory

Syscall-Stub

4C 8B D1            mov r10, rcx
B8 95 01 00 00      mov eax, 0x195
F6 04 25 08 03 FE 7F 01   test byte ptr [0x7FFE0308], 1
75 03               jne short +3
0F 05               syscall
C3                  ret
CD 2E               int 2Eh
C3                  ret

Undokumentierte Hinweise

Performance-Diagnose-Primitiv: einmal vom Session Manager (smss.exe) und der Prefetcher-Infrastruktur aufgerufen, um zu signalisieren, dass die Bootphase abgeschlossen ist und der Kernel die im Speicher gehaltene Boot-Trace auf Disk serialisieren darf (z. B. für `xperf -on Base+Boot`-Sessions und den SuperFetch-Boot-Prefetcher). Keine Argumente, nichts zu fälschen. Aufruf außerhalb des legitimen One-Shot-Kontexts ist effektiv ein No-Op oder liefert STATUS_UNSUCCESSFUL. Microsoft-Dokumentation ist minimal, weil die Routine Teil des Prefetcher-Vertrags ist und nicht einer öffentlichen Win32-Oberfläche.

Häufige Malware-Nutzung

Minimaler Offensiv-Wert. Kein Privilege-Escalation-Primitiv, keine Informations-Disclosure jenseits dessen, was der Prefetcher ohnehin nach %SystemRoot%\Prefetch schreibt, keine Verhaltensänderung. Gelegentlich als Kuriosität in Syscall-Tabellen-Werkzeugen erwähnt, aber kein Teil dokumentierter Malware-TTPs.

Erkennungs­möglichkeiten

Als Baseline-Kuriosität behandeln. Der ETW-Provider Microsoft-Windows-Kernel-Prefetch protokolliert Prefetcher-Statusübergänge; wird NtSerializeBoot von etwas anderem als smss.exe (oder dem Prefetcher-Dienst) aufgerufen, ist das anomal, aber die praktische False-Positive-Kosten sind gering, weil der legitime Aufruferzähler eins ist. Verteidiger müssen das in der Regel nicht verfolgen — Telemetrie-Budget woanders einsetzen.

Direkte Syscall-Beispiele

asmx64 direct stub (Win11 24H2)

; Direct syscall stub for NtSerializeBoot (SSN 0x195, Win11 24H2)
NtSerializeBoot PROC
    mov  r10, rcx
    mov  eax, 195h
    syscall
    ret
NtSerializeBoot ENDP

cSmss-style finalize call

// This is what smss.exe does once the boot phase completes. Calling it again from
// a user-mode process is a no-op in practice.
extern NTSTATUS NTAPI NtSerializeBoot(VOID);

NTSTATUS s = NtSerializeBoot();
// s == STATUS_SUCCESS only inside the one legitimate caller's lifetime.

MITRE ATT&CK-Mappings

Last verified: 2026-05-20