Bestimmen der ACL eines Objekts

Sie können den Debugger verwenden, um die Zugriffssteuerungsliste (Access Control List, ACL) eines Objekts zu untersuchen.

Die folgende Methode kann verwendet werden, wenn Sie kerneldebuggen. Damit sie während des Debuggens im Benutzermodus verwendet werden kann, müssen Sie die Steuerung an einen Kerneldebugger umleiten. Weitere Informationen finden Sie unter Steuern des User-Mode Debuggers über den Kerneldebugger .

Verwenden Sie zunächst die Erweiterung !object debugger mit dem Namen des betreffenden Objekts:

kd> !object \BaseNamedObjects\AgentToWkssvcEvent
Object: ffbb8a98  Type: (80e30e70) Event
    ObjectHeader: ffbb8a80
    HandleCount: 2  PointerCount: 3
    Directory Object: e14824a0  Name: AgentToWkssvcEvent

Dies zeigt, dass der Objektheader über eine Adresse 0xFFBB8A80 verfügt. Verwenden Sie den Befehl dt (Anzeigetyp) mit dieser Adresse und dem Namen der nt!_OBJECT_HEADER-Struktur :

kd> dt nt!_OBJECT_HEADER ffbb8a80
   +0x000 PointerCount     : 3
   +0x004 HandleCount      : 2
   +0x004 NextToFree       : 0x00000002
 +0x008 Type             : 0x80e30e70
   +0x00c NameInfoOffset   : 0x10 '
 +0x00d HandleInfoOffset : 0 '
   +0x00e QuotaInfoOffset  : 0 '
   +0x00f Flags            : 0x20 ' '
   +0x010 ObjectCreateInfo : 0x8016b460
   +0x010 QuotaBlockCharged : 0x8016b460
   +0x014 SecurityDescriptor : 0xe11f08b6
   +0x018 Body             : _QUAD

Der Wert des Sicherheitsdeskriptorszeigers wird als 0xE11F08B6 angezeigt. Die niedrigsten 3 Bits dieses Werts stellen einen Offset über den Anfang dieser Struktur hinaus dar, daher sollten Sie sie ignorieren. Anders ausgedrückt: Die SECURITY_DESCRIPTOR-Struktur beginnt tatsächlich bei 0xE11F08B6 & ~0x7. Verwenden Sie die Erweiterung !sd für diese Adresse:

kd> !sd e11f08b0
->Revision: 0x1
->Sbz1    : 0x0
->Control : 0x8004
            SE_DACL_PRESENT
 SE_SELF_RELATIVE
->Owner   : S-1-5-32-544
->Group   : S-1-5-18
->Dacl    : 
->Dacl    : ->AclRevision: 0x2
->Dacl    : ->Sbz1       : 0x0
->Dacl    : ->AclSize    : 0x44
->Dacl    : ->AceCount   : 0x2
->Dacl    : ->Sbz2       : 0x0
->Dacl    : ->Ace[0]: ->AceType: ACCESS_ALLOWED_ACE_TYPE
->Dacl    : ->Ace[0]: ->AceFlags: 0x0
->Dacl    : ->Ace[0]: ->AceSize: 0x14
->Dacl    : ->Ace[0]: ->Mask : 0x001f0003
->Dacl    : ->Ace[0]: ->SID: S-1-5-18

->Dacl    : ->Ace[1]: ->AceType: ACCESS_ALLOWED_ACE_TYPE
->Dacl    : ->Ace[1]: ->AceFlags: 0x0
->Dacl    : ->Ace[1]: ->AceSize: 0x18
->Dacl    : ->Ace[1]: ->Mask : 0x00120001
->Dacl    : ->Ace[1]: ->SID: S-1-5-32-544

->Sacl    :  is NULL

Dadurch werden die Sicherheitsinformationen für dieses Objekt angezeigt.