> Windows Syscalls
ntoskrnl.exeT1106

NtOpenPartition

Öffnet ein bestehendes Memory-Partition-Objekt anhand des Namens und liefert ein Handle für Verwaltung oder Prozess-Anbindung.

Prototyp

NTSTATUS NtOpenPartition(
  PHANDLE            PartitionHandle,
  ACCESS_MASK        DesiredAccess,
  POBJECT_ATTRIBUTES ObjectAttributes
);

Argumente

NameTypeDirDescription
PartitionHandlePHANDLEoutEmpfängt das Handle auf das geöffnete Partitionsobjekt.
DesiredAccessACCESS_MASKinAngeforderte Zugriffsmaske; z. B. MEMORY_PARTITION_QUERY_ACCESS (0x0001) oder MEMORY_PARTITION_MODIFY_ACCESS (0x0002).
ObjectAttributesPOBJECT_ATTRIBUTESinObject-Manager-Pfad der Partition, z. B. \KernelObjects\Sandbox1.

Syscall-IDs pro Windows-Version

Windows-VersionSyscall-IDBuild
Win10 15070x112win10-1507
Win10 16070x117win10-1607
Win10 17030x11Bwin10-1703
Win10 17090x11Dwin10-1709
Win10 18030x11Fwin10-1803
Win10 18090x120win10-1809
Win10 19030x121win10-1903
Win10 19090x121win10-1909
Win10 20040x126win10-2004
Win10 20H20x126win10-20h2
Win10 21H10x126win10-21h1
Win10 21H20x127win10-21h2
Win10 22H20x127win10-22h2
Win11 21H20x12Dwin11-21h2
Win11 22H20x12Fwin11-22h2
Win11 23H20x12Fwin11-23h2
Win11 24H20x131win11-24h2
Server 20160x117winserver-2016
Server 20190x120winserver-2019
Server 20220x12Cwinserver-2022
Server 20250x131winserver-2025

Kernel-Modul

ntoskrnl.exeNtOpenPartition

Verwandte APIs

NtCreatePartitionNtManagePartitionOpenPartition

Syscall-Stub

4C 8B D1                  mov r10, rcx
B8 31 01 00 00            mov eax, 0x131
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

`Open`-Gegenstück zu `NtCreatePartition`. Die Auflösung läuft rein über den Object-Manager: die Partition muss bereits unter ihrem Namespace-Pfad existieren (üblicherweise `\KernelObjects\…`), und der aufrufende Token muss den Security-Descriptor der Partition für die angeforderten Rechte erfüllen. Anders als `NtCreatePartition` verlangt das Öffnen zur Abfrage/Inspektion kein `SeLockMemoryPrivilege` — nur Modify-/Attach-Pfade tun das. Die dynamische Syscall-Auflösung via Hell's Gate ist unkompliziert, weil die SSN vorhersehbar driftet.

Häufige Malware-Nutzung

Praktisch null direkter Missbrauch in Commodity-Malware. Ein Verteidiger oder Forscher könnte den Aufruf nutzen, um Hyper-V-Container-Partitionen auf einem Host zu introspekt­ieren, und ein anspruchsvolles Implant könnte *theoretisch* eine bereits existierende User-Partition nutzen, um seine Allokationen unterzubringen und die vom Host-EDR gesehenen Working-Set-Zähler zu verfälschen — der Gewinn gegenüber simplem `NtAllocateVirtualMemory` ist im Verhältnis zum Privileg-Kostenaufwand vernachlässigbar.

Erkennungs­möglichkeiten

Mit dem `NtCreatePartition`-Signal koppeln: das Öffnen einer benannten Partition, die der Operator nicht selbst erzeugt hat, ist außerhalb von vmcompute/vmwp/SystemSettings anomal. Das ETW-Event 9 (`PartitionOpened`) des Providers `Microsoft-Windows-Kernel-Memory` trägt das aufrufende Image und den Partitionsobjekt-Namen. In den meisten Produktionsumgebungen ist die Allowlist hier leer.

Direkte Syscall-Beispiele

cOpen an existing partition for query

#include <windows.h>
#include <winternl.h>

#define MEMORY_PARTITION_QUERY_ACCESS  0x0001

typedef NTSTATUS (NTAPI* pNtOpenPartition)(
    PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES);

HANDLE open_partition(LPCWSTR name) {
    UNICODE_STRING us;
    RtlInitUnicodeString(&us, name);
    OBJECT_ATTRIBUTES oa;
    InitializeObjectAttributes(&oa, &us, OBJ_CASE_INSENSITIVE, NULL, NULL);

    pNtOpenPartition f = (pNtOpenPartition)GetProcAddress(
        GetModuleHandleA("ntdll.dll"), "NtOpenPartition");

    HANDLE h = NULL;
    f(&h, MEMORY_PARTITION_QUERY_ACCESS, &oa);
    return h;
}

asmx64 direct stub (Win11 24H2, SSN 0x131)

NtOpenPartition PROC
    mov  r10, rcx
    mov  eax, 131h
    syscall
    ret
NtOpenPartition ENDP

MITRE ATT&CK-Mappings

Last verified: 2026-05-20