Process Access Rights Reference

The GrantedAccess and DesiredAccess fields in Microsoft-Windows-Sysmon Event 10 (ProcessAccess) and Microsoft-Windows-Security-Auditing Event 4663 are hexadecimal bitmasks indicating which access rights were requested or granted on a process object. These values are central to detecting credential dumping, process injection, and other process manipulation techniques.

Process Access Rights#

BitRightDescription
0x00000001PROCESS_TERMINATETerminate the process
0x00000002PROCESS_CREATE_THREADCreate a thread in the process
0x00000004PROCESS_SET_SESSIONIDSet the session ID
0x00000008PROCESS_VM_OPERATIONPerform operations on the process address space (VirtualProtectEx, WriteProcessMemory)
0x00000010PROCESS_VM_READRead the process memory (ReadProcessMemory)
0x00000020PROCESS_VM_WRITEWrite to the process memory (WriteProcessMemory)
0x00000040PROCESS_DUP_HANDLEDuplicate a handle from the process
0x00000080PROCESS_CREATE_PROCESSCreate a process using this process as the parent
0x00000100PROCESS_SET_QUOTASet the working set and paging limits
0x00000200PROCESS_SET_INFORMATIONSet process information (e.g. priority class)
0x00000400PROCESS_QUERY_INFORMATIONQuery process information (token, exit code, priority)
0x00000800PROCESS_SUSPEND_RESUMESuspend or resume the process
0x00001000PROCESS_QUERY_LIMITED_INFORMATIONQuery limited process information (subset of PROCESS_QUERY_INFORMATION)
0x00002000PROCESS_SET_LIMITED_INFORMATIONSet limited process information
0x00010000DELETEDelete the process object
0x00020000READ_CONTROLRead the process security descriptor
0x00040000WRITE_DACModify the process DACL
0x00080000WRITE_OWNERChange the process object owner
0x00100000SYNCHRONIZEWait on the process handle
0x001FFFFFPROCESS_ALL_ACCESSAll possible access rights for a process object

Well-Known Access Patterns#

The following GrantedAccess values appear frequently in threat detection and are associated with specific techniques:

GrantedAccessTechniqueDescription
0x1010Credential dumping (Mimikatz)PROCESS_QUERY_LIMITED_INFORMATION | PROCESS_VM_READ: classic Mimikatz signature when targeting LSASS
0x1FFFFFPROCESS_ALL_ACCESSFull access to the target process; extremely broad and suspicious when targeting LSASS or other sensitive processes
0x002ACreateRemoteThread injectionPROCESS_CREATE_THREAD | PROCESS_VM_OPERATION | PROCESS_VM_WRITE: minimum rights for classic thread injection
0x001AProcess hollowingPROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_CREATE_THREAD: used to hollow a process and inject code
0x0040Handle duplicationPROCESS_DUP_HANDLE: duplicating a handle from another process, used to steal handles to privileged processes
0x0800Suspend/ResumePROCESS_SUSPEND_RESUME: suspending a process before manipulation (common in process hollowing)
0x1410ProcDump variantPROCESS_QUERY_LIMITED_INFORMATION | PROCESS_QUERY_INFORMATION | PROCESS_VM_READ: memory dump pattern

Caveats#

Legitimate software commonly requests broad process access rights. Antivirus, EDR agents, debugging tools, and system utilities routinely open processes with PROCESS_QUERY_INFORMATION, PROCESS_VM_READ, or even PROCESS_ALL_ACCESS. Effective detection requires combining the access mask with context: