These sections describe Windows privileges and list detection rules that explicitly reference a privilege or detect a related operation. Only the relevant rule branch establishes that relationship. A matching request does not establish that the privilege was held or used, or that the operation succeeded.
- Security-Auditing Event ID 4672: Special privileges assigned to new logon
- Security-Auditing Event ID 4673: A privileged service was called
- Security-Auditing Event ID 4674: An operation was attempted on a privileged object
- Security-Auditing Event ID 4703: A user right was adjusted
- Security-Auditing Event ID 4704: A user right was assigned
- Security-Auditing Event ID 4705: A user right was removed
SeAssignPrimaryTokenPrivilege
Allows a caller to replace the access token a child process runs under. CreateProcessAsUser may require it. Windows policy: “Replace a process-level token.” [1][2][3]Selected conditions
- HackTool - SharpImpersonation Execution Sigma
Rule selection
CommandLine match " technique:CreateProcessAsUserW"
Detects a related operation. Detects execution of the SharpImpersonation tool. Which can be used to manipulate tokens on a Windows computers remotely (PsExec/WmiExec) or interactively
Rule predicate match: Selects CreateProcessAsUser or CreateProcessAsUserW in executable rule predicates. Microsoft documents SeAssignPrimaryTokenPrivilege as conditional for this API. A function name can be one tool mode or script definition and does not prove invocation or success. [3]
- PowerShell Script with Token Impersonation Capabilities Elastic
Rule selection
powershell.file.script_block_text in "CreatePRocessAsUserW"
Detects a related operation. Detects PowerShell scripts that references token manipulation and impersonation APIs such as CreateProcessWithTokenW, DuplicateToken/ImpersonateLoggedOnUser, or AdjustTokenPrivileges (SeDebugPrivilege). Attackers abuse token impersonation to elevate privileges and bypass access controls.
Rule predicate match: Selects CreateProcessAsUser or CreateProcessAsUserW in executable rule predicates. Microsoft documents SeAssignPrimaryTokenPrivilege as conditional for this API. A function name can be one tool mode or script definition and does not prove invocation or success. [3]
SeBackupPrivilege
When enabled and used through the appropriate backup access path, permits file reads despite the DACL. Windows policy: “Back up files and directories.” [1][4]Selected conditions
- Suspicious Remote Registry Access via SeBackupPrivilege Elastic
Security-Auditing Event ID 4672: Special privileges assigned to new logon
winlog.event_data.PrivilegeList matches "SeBackupPrivilege"
References this privilege in assignment or logon evidence. Identifies remote access to the registry using an account with Backup Operators group membership. This may indicate an attempt to exfiltrate credentials by dumping the Security Account Manager (SAM) registry hive in preparation for credential access and privileges elevation.
- Dumping of Sensitive Hives Via Reg.EXE Sigma
Rule selection
Image ends_with "\reg.exe"CommandLine match " save "CommandLine match "\system"
Detects a related operation. Detects the usage of "reg.exe" in order to dump sensitive registry hives. This includes SAM, SYSTEM and SECURITY hives.
Rule predicate match: Detects reg.exe with a save verb and sensitive local-machine hive material. Only the matched save branch is associated with RegSaveKey. Other branches such as export do not inherit this relationship, and process telemetry does not prove success. This match retains positive conditions from one rule unit, but does not establish that they occur in the same Boolean branch. [6]
- Sensitive File Dump Via Wbadmin.EXE Sigma
Rule selection
Image ends_with "\wbadmin.exe"CommandLine match "start"CommandLine match "backup"CommandLine match "\config\SAM"
Detects a related operation. Detects the dump of highly sensitive files such as "NTDS.DIT" and "SECURITY" hive. Attackers can leverage the "wbadmin" utility in order to dump sensitive files that might contain credential or sensitive information.
Rule predicate match: Detects wbadmin with a start backup verb and sensitive source material. Windows Server Backup reads locked system files through the documented backup access that SeBackupPrivilege grants. The process query identifies an attempted command. It does not prove that the backup ran, that it succeeded, or that SeBackupPrivilege rather than an ordinary permission supplied the read. Do not infer the privilege from Backup Operators membership alone. This match retains positive conditions from one rule unit, but does not establish that they occur in the same Boolean branch. [7][8][4]
SeDebugPrivilege
When enabled, can permit cross-account process access despite the process DACL. Protected-process restrictions still apply. Windows policy: “Debug programs.” [1][9]
- SeDebugPrivilege Enabled by a Suspicious Process Elastic
Security-Auditing Event ID 4703: A user right was adjusted
winlog.event_data.EnabledPrivilegeList matches "SeDebugPrivilege"
References this privilege in token adjustment evidence. Identifies a process running with a non-SYSTEM account that enables the SeDebugPrivilege privilege. Adversaries may enable this privilege to debug and modify other processes, typically reserved for system-level tasks, to escalate privileges and bypass access controls.
SeEnableDelegationPrivilege
Allows an authorized caller to mark user and computer accounts as trusted for delegation. Windows policy: “Enable computer and user accounts to be trusted for delegation.” [1][10]Selected conditions
- Sensitive Privilege SeEnableDelegationPrivilege assigned to a Principal Elastic
Security-Auditing Event ID 4704: A user right was assigned
winlog.event_data.PrivilegeList = "SeEnableDelegationPrivilege"
References this privilege in assignment or logon evidence. Identifies the assignment of the SeEnableDelegationPrivilege sensitive "user right" to a security principal. This right enables computer and user accounts to be trusted for delegation. Attackers can abuse it to compromise Active Directory accounts and elevate their privileges.
- Enabled User Right in AD to Control User Objects Sigma
Security-Auditing Event ID 4704: A user right was assigned
PrivilegeList contains "SeEnableDelegationPrivilege"
References this privilege in assignment or logon evidence. Detects scenario where if a user is assigned the SeEnableDelegationPrivilege right in Active Directory it would allow control of other AD user objects.
SeImpersonatePrivilege
Allows programs running for the holder to impersonate a client after authentication and act in the client's security context. Windows policy: “Impersonate a client after authentication.” [1][11]Selected conditions
- WinAPI Function Calls Via PowerShell Scripts Sigma
Rule selection
ScriptBlockText match "CreateProcessWithToken"ScriptBlockText match "ImpersonateLoggedOnUser"
Detects a related operation. Detects calls to WinAPI functions from PowerShell scripts. Attackers can often leverage these APIs to avoid detection based on typical PowerShell function calls. Use this rule as a basis to hunt for interesting scripts.
Rule predicate match: Selects a CreateProcessWithToken API reference in script or command content. Microsoft documents SeImpersonatePrivilege as a prerequisite for the calling process. Selects ImpersonateLoggedOnUser in executable command or script predicates. Text can be a definition or one alternative in a broader rule. It does not establish API invocation, privilege possession, or successful process creation. Microsoft documents cases where this API does not require SeImpersonatePrivilege. An API name can also be a definition or reference and does not prove invocation or success. [13][14]
- HackTool - SharpImpersonation Execution Sigma
Rule selection
CommandLine match " technique:ImpersonateLoggedOnuser"
Detects a related operation. Detects execution of the SharpImpersonation tool. Which can be used to manipulate tokens on a Windows computers remotely (PsExec/WmiExec) or interactively
Rule predicate match: Selects ImpersonateLoggedOnUser in executable command or script predicates. Microsoft documents cases where this API does not require SeImpersonatePrivilege. An API name can also be a definition or reference and does not prove invocation or success. [14]
- Potential WinAPI Calls Via CommandLine Sigma
Rule selection
CommandLine match "CreateProcessWithToken"CommandLine match "ImpersonateLoggedOnUser"
Detects a related operation. Detects the use of WinAPI Functions via the commandline. As seen used by threat actors via the tool winapiexec
Rule predicate match: Selects a CreateProcessWithToken API reference in script or command content. Microsoft documents SeImpersonatePrivilege as a prerequisite for the calling process. Selects ImpersonateLoggedOnUser in executable command or script predicates. Text can be a definition or one alternative in a broader rule. It does not establish API invocation, privilege possession, or successful process creation. Microsoft documents cases where this API does not require SeImpersonatePrivilege. An API name can also be a definition or reference and does not prove invocation or success. [13][14]
- PowerShell Script with Token Impersonation Capabilities Elastic
Rule selection
powershell.file.script_block_text in "CreateProcessWithTokenW"powershell.file.script_block_text in "ImpersonateLoggedOnUser"powershell.file.script_block_text eq "ImpersonateNamedPipeClient"
Detects a related operation. Detects PowerShell scripts that references token manipulation and impersonation APIs such as CreateProcessWithTokenW, DuplicateToken/ImpersonateLoggedOnUser, or AdjustTokenPrivileges (SeDebugPrivilege). Attackers abuse token impersonation to elevate privileges and bypass access controls.
Rule predicate match: Selects a CreateProcessWithToken API reference in script or command content. Microsoft documents SeImpersonatePrivilege as a prerequisite for the calling process. Selects ImpersonateLoggedOnUser in executable command or script predicates. Selects a named-pipe or thread impersonation API in executable PowerShell rule predicates. Text can be a definition or one alternative in a broader rule. It does not establish API invocation, privilege possession, or successful process creation. Microsoft documents cases where this API does not require SeImpersonatePrivilege. An API name can also be a definition or reference and does not prove invocation or success. Script text can be a definition, reference, or alternative branch. It does not prove API invocation, token capture, or successful impersonation. [13][14][15][16]
SeIncreaseBasePriorityPrivilege
Allows a caller with write access to another process to raise that process's base priority class. Windows policy: “Increase scheduling priority.” [1][17]Selected conditions
- Suspicious SeIncreaseBasePriorityPrivilege Use Elastic
Security-Auditing Event ID 4674: An operation was attempted on a privileged object
winlog.event_data.PrivilegeList = "SeIncreaseBasePriorityPrivilege"
References this privilege in an operation request. Identifies attempts to use the SeIncreaseBasePriorityPrivilege privilege by an unusual process. This could be related to hijack execution flow of a process via threats priority manipulation.
SeIncreaseQuotaPrivilege
Allows a caller to change the maximum memory quota assigned to a process. Windows policy: “Adjust memory quotas for a process.” [1][18]Selected conditions
- HackTool - SharpImpersonation Execution Sigma
Rule selection
CommandLine match " technique:CreateProcessAsUserW"
Detects a related operation. Detects execution of the SharpImpersonation tool. Which can be used to manipulate tokens on a Windows computers remotely (PsExec/WmiExec) or interactively
Rule predicate match: Selects CreateProcessAsUser or CreateProcessAsUserW in executable rule predicates. Microsoft documents SeIncreaseQuotaPrivilege as ordinarily required. A function name can be one tool mode or script definition and does not prove invocation or success. [3]
- PowerShell Script with Token Impersonation Capabilities Elastic
Rule selection
powershell.file.script_block_text in "CreatePRocessAsUserW"
Detects a related operation. Detects PowerShell scripts that references token manipulation and impersonation APIs such as CreateProcessWithTokenW, DuplicateToken/ImpersonateLoggedOnUser, or AdjustTokenPrivileges (SeDebugPrivilege). Attackers abuse token impersonation to elevate privileges and bypass access controls.
Rule predicate match: Selects CreateProcessAsUser or CreateProcessAsUserW in executable rule predicates. Microsoft documents SeIncreaseQuotaPrivilege as ordinarily required. A function name can be one tool mode or script definition and does not prove invocation or success. [3]
SeLoadDriverPrivilege
Allows a caller to load or unload a device driver or other code into kernel mode. Windows policy: “Load and unload device drivers.” [1]
- Potential Privileged System Service Operation - SeLoadDriverPrivilege Sigma
Security-Auditing Event ID 4673: A privileged service was called
PrivilegeList = "SeLoadDriverPrivilege"
References this privilege in an operation request. Detects the usage of the 'SeLoadDriverPrivilege' privilege. This privilege is required to load or unload a device driver. With this privilege, the user can dynamically load and unload device drivers or other code in to kernel mode. This user right does not apply to Plug and Play device drivers. If you exclude privileged users/admins and processes, which are allowed to do so, you are maybe left with bad programs trying to load malicious kernel drivers. This will detect Ghost-In-The-Logs (https://github.com/bats3c/Ghost-In-The-Logs) and the usage of Sysinternals and various other tools. So you have to work with a whitelist to find the bad stuff.
- Filter Driver Unloaded Via Fltmc.EXE Sigma
Rule selection
Image ends_with "\fltMC.exe"CommandLine match "unload"
Detects a related operation. Detect filter driver unloading activity via fltmc.exe
Rule predicate match: Detects fltmc.exe with an unload verb. Microsoft documents the underlying FilterUnload privilege requirement. Process creation proves only that the command was attempted, not that the filter unload succeeded. This match retains positive conditions from one rule unit, but does not establish that they occur in the same Boolean branch. [21]
- Sysmon Driver Unloaded Via Fltmc.EXE Sigma
Rule selection
Image ends_with "\fltMC.exe"CommandLine match "unload"
Detects a related operation. Detects possible Sysmon filter driver unloaded via fltmc.exe
Rule predicate match: Detects fltmc.exe with an unload verb. Microsoft documents the underlying FilterUnload privilege requirement. Process creation proves only that the command was attempted, not that the filter unload succeeded. This match retains positive conditions from one rule unit, but does not establish that they occur in the same Boolean branch. [21]
SeMachineAccountPrivilege
Allows an assigned user to add devices and their machine accounts to a domain through a domain controller. Windows policy: “Add workstations to domain.” [1][22]Selected conditions
- Privilege SeMachineAccountPrivilege abuse Sigma
Security-Auditing Event ID 4673: A privileged service was called
PrivilegeList = "SeMachineAccountPrivilege"
References this privilege in an operation request. Detects scenarios where an attacker abuse the SeMachineAccountPrivilege which allows per default any authenticated user to join a computer to the domain. Later on, this computer account can be manipulated in order to elevate privileges.
SeRestorePrivilege
When enabled and used through the appropriate restore access path, permits file writes despite the DACL. Windows policy: “Restore files and directories.” [1][4]Selected conditions
- File Recovery From Backup Via Wbadmin.EXE Sigma
Rule selection
Image ends_with "\wbadmin.exe"CommandLine match " recovery"
Detects a related operation. Detects the recovery of files from backups via "wbadmin.exe". Attackers can restore sensitive files such as NTDS.DIT or Registry Hives from backups in order to potentially extract credentials.
Rule predicate match: Detects wbadmin with a recovery verb. Restoring content from backup media writes through the documented restore access that SeRestorePrivilege grants. The process query identifies an attempted command. It does not prove that the recovery ran, that it succeeded, or that SeRestorePrivilege rather than an ordinary permission supplied the write. The pattern selects the recovery verb shared by the matched rules and does not require the sensitive target material that some of them add. Matching is per rule unit, so for a rule that alternates over many utilities the wbadmin identity and the recovery verb were confirmed on review to sit in the same branch. Do not infer the privilege from Backup Operators membership alone. This match retains positive conditions from one rule unit, but does not establish that they occur in the same Boolean branch. [7][24][4]
- Sensitive File Recovery From Backup Via Wbadmin.EXE Sigma
Rule selection
Image ends_with "\wbadmin.exe"CommandLine match " recovery"
Detects a related operation. Detects the dump of highly sensitive files such as "NTDS.DIT" and "SECURITY" hive. Attackers can leverage the "wbadmin" utility in order to dump sensitive files that might contain credential or sensitive information.
Rule predicate match: Detects wbadmin with a recovery verb. Restoring content from backup media writes through the documented restore access that SeRestorePrivilege grants. The process query identifies an attempted command. It does not prove that the recovery ran, that it succeeded, or that SeRestorePrivilege rather than an ordinary permission supplied the write. The pattern selects the recovery verb shared by the matched rules and does not require the sensitive target material that some of them add. Matching is per rule unit, so for a rule that alternates over many utilities the wbadmin identity and the recovery verb were confirmed on review to sit in the same branch. Do not infer the privilege from Backup Operators membership alone. This match retains positive conditions from one rule unit, but does not establish that they occur in the same Boolean branch. [7][24][4]
- Windows WBAdmin File Recovery From Backup Splunk
Rule selection
Processes.original_file_name eq "WBADMIN.EXE"Processes.process eq "*recovery*"
Detects a related operation. The following analytic identifies the execution of wbadmin.exe with arguments indicative of restoring files from an existing backup. WBAdmin is a legitimate Windows Backup utility used for creating, managing, and restoring backups. However, adversaries may abuse it to restore specific files (e.g., sensitive credentials, configuration files, or malware stagers) from prior backups to regain access or re-establish persistence after cleanup or encryption events. Monitoring this behavior is important because restoring individual files from a system backup outside of approved recovery workflows may indicate an attacker attempting to retrieve deleted or encrypted data, recover previously dropped payloads, or access prior system states as part of post-compromise activity. If confirmed malicious, this action could enable attackers to regain operational footholds, extract sensitive data, or restore tampered components, undermining remediation and containment efforts.
Rule predicate match: Detects wbadmin with a recovery verb. Restoring content from backup media writes through the documented restore access that SeRestorePrivilege grants. The process query identifies an attempted command. It does not prove that the recovery ran, that it succeeded, or that SeRestorePrivilege rather than an ordinary permission supplied the write. The pattern selects the recovery verb shared by the matched rules and does not require the sensitive target material that some of them add. Matching is per rule unit, so for a rule that alternates over many utilities the wbadmin identity and the recovery verb were confirmed on review to sit in the same branch. Do not infer the privilege from Backup Operators membership alone. This match retains positive conditions from one rule unit, but does not establish that they occur in the same Boolean branch. [7][24][4]
SeTakeOwnershipPrivilege
Allows a caller to take ownership of a securable object without being granted WRITE_OWNER by the object's DACL. Windows policy: “Take ownership of files or other objects.” [1][25]
- SCM Database Privileged Operation Sigma
Security-Auditing Event ID 4674: An operation was attempted on a privileged object
PrivilegeList = "SeTakeOwnershipPrivilege"
References this privilege in an operation request. Detects non-system users performing privileged operation os the SCM database
- Suspicious Recursive Takeown Sigma
Rule selection
Image ends_with "\takeown.exe"CommandLine match "/f "
Detects a related operation. Adversaries can interact with the DACLs using built-in Windows commands takeown which can grant adversaries higher permissions on specific files and folders
Rule predicate match: Detects takeown.exe with a target selected through the /f argument. The command attempts an ownership change. It does not prove success or that SeTakeOwnershipPrivilege supplied access because WRITE_OWNER may come from the object DACL. [26][25]
SeCreateTokenPrivilege
Allows a caller to create a token through a native token creation API, distinct from duplicating an existing token. Windows policy: “Create a token object.” [1][27]
No rules currently associated with this section.
SeSecurityPrivilege
When enabled, permits security audit administration and access to an object's SACL through ACCESS_SYSTEM_SECURITY. Windows policy: “Manage auditing and security log.” [1][28][29]
No rules currently associated with this section.
SeTcbPrivilege
Identifies a process as part of the trusted computing base and permits it to assume another user's identity without authentication. Windows policy: “Act as part of the operating system.” [1][32]Selected conditions
No rules currently associated with this section.
References #
- [1] Microsoft Learn - Privilege Constants (Authorization)
- [2] Microsoft Learn - Replace a process level token
- [3] Microsoft Learn - CreateProcessAsUserW function (processthreadsapi.h)
- [4] Microsoft Learn - Managing Privileges in a File System
- [5] Microsoft Learn - Audit Sensitive Privilege Use
- [6] Microsoft Learn - RegSaveKeyW function (winreg.h)
- [7] Microsoft Learn - wbadmin command
- [8] Microsoft Learn - Back up files and directories
- [9] Microsoft Learn - Debug programs
- [10] Microsoft Learn - Enable computer and user accounts to be trusted for delegation
- [11] Microsoft Learn - Impersonate a client after authentication
- [12] Microsoft Learn - Impersonation Levels
- [13] Microsoft Learn - CreateProcessWithTokenW function (winbase.h)
- [14] Microsoft Learn - ImpersonateLoggedOnUser function (securitybaseapi.h)
- [15] csandker - Offensive Windows IPC Internals 1 Named Pipes
- [16] SensePost - Abusing Windows tokens to compromise Active Directory without touching LSASS
- [17] Microsoft Learn - Increase scheduling priority
- [18] Microsoft Learn - Adjust memory quotas for a process
- [19] Microsoft Learn - Load and unload device drivers
- [20] Microsoft Learn - Kernel mode code signing requirements
- [21] Microsoft Learn - FilterUnload function (fltuser.h)
- [22] Microsoft Learn - Add workstations to domain
- [23] Microsoft Learn - MS-DS-Machine-Account-Quota attribute
- [24] Microsoft Learn - Restore files and directories
- [25] Microsoft Learn - Taking Object Ownership in C++
- [26] Microsoft Learn - takeown command
- [27] Microsoft Learn - Create a token object
- [28] Microsoft Learn - Manage auditing and security log
- [29] Microsoft Learn - SACL Access Right
- [30] Microsoft Learn - auditpol set
- [31] Microsoft Learn - auditpol resourceSACL
- [32] Microsoft Learn - Act as part of the operating system