Windows PowerShell ScriptBlock checks for service registry ACL inspection

Flags PowerShell scripts that use Get-ACL to inspect service Registry keys under HKLM\SYSTEM\CurrentControlSet\Services.

FreeReviewedSigma · Medium · v2
Product
windows
Category
ps_script
Author
frack113 (SigmaHQ), DRL 1.1
Published
2021-12-30
Updated
2026-07-31

ATT&CK techniques

Execution → Defense Evasion
  1. Recon

  2. Resource Dev

  3. Initial Access

  4. Cred Access

  5. Discovery

  6. Lateral Movement

  7. Collection

  8. C2

  9. Exfiltration

  10. Impact

What it detects

This rule flags PowerShell script blocks that contain both 'get-acl' and a Registry provider path under HKLM\SYSTEM\CurrentControlSet\Services. It is intended to identify attempts to inspect permissions on service registry entries, which can enable redirecting a service’s configured executable to an attacker-controlled payload. The detection relies on Script Block Logging telemetry capturing the relevant command text and Registry path within the same script block.

Related detections9 linkedT1574.011 — drag to rearrange
Malicious ServiceDll Hijack with QSC Loader DLL
Windows Service Registry Key ReadControl Access (Event ID 4663)
Windows sc.exe Service Security Descriptor Tampering (sdset)
PowerShell: Suspicious Set-Service DACL/SecurityDescriptor Modification for Hidden Services
Windows PowerShell Set-Service SDDL Usage to Hide Services
PowerShell Set-Service SecurityDescriptor (DCLCWPDTSD) to Hide Services
Windows Reg.exe Modifies Service ImagePath in HKLM\SYSTEM\CurrentControlSet\Services
Windows: Detect sc.exe Service Creation with DACL Modification (sdset DCLCWPDTSD)
Windows service configuration tampering via sc/reg with payload execution paths
Windows PowerShell ScriptBlock checks for service registry ACL inspection
Pivot detection · T1574.011 · 9 related

Changelog

v2
  1. v2
    Candidate ingested via manual entry.2026-07-31
  2. v1
    No changelog recorded for this version.2026-07-30

Detection content is published as a reviewed draft. Tune thresholds and exclusions against your own telemetry before enabling this rule for alerting.