Determinazione dell'elenco di controllo di accesso di un oggetto

È possibile usare il debugger per esaminare l'elenco di controllo di accesso (ACL) di un oggetto.

Il metodo seguente può essere usato se si esegue il debug del kernel. Per usarlo durante l'esecuzione del debug in modalità utente, è necessario reindirizzare il controllo a un debugger del kernel. Per informazioni dettagliate, vedere Controllo del debugger di User-Mode dal debugger del kernel .

Usare prima di tutto l'estensione del debugger !object con il nome dell'oggetto in questione:

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

Ciò indica che l'intestazione dell'oggetto ha l'indirizzo 0xFFBB8A80. Usare il comando dt (Tipo di visualizzazione) con questo indirizzo e il nome della struttura nt!_OBJECT_HEADER :

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

Il valore del descrittore di sicurezza viene visualizzato come 0xE11F08B6. I 3 bit più bassi di questo valore rappresentano un offset passato l'inizio di questa struttura, quindi è consigliabile ignorarli. In altre parole, la struttura SECURITY_DESCRIPTOR inizia effettivamente a 0xE11F08B6 & ~0x7. Usare l'estensione !sd in questo indirizzo:

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

Vengono visualizzate le informazioni di sicurezza per questo oggetto.