Detection rules › Splunk

Windows Service Creation Using Registry Entry

Author
Teoderick Contreras, Splunk, Steven Dick
Source
upstream

The following analytic detects the modification of registry keys that define Windows services using reg.exe. This detection leverages Splunk to search for specific keywords in the registry path, value name, and value data fields. This activity is significant because it indicates potential unauthorized changes to service configurations, a common persistence technique used by attackers. If confirmed malicious, this could allow an attacker to maintain access, escalate privileges, or move laterally within the network, leading to data theft, ransomware, or other damaging outcomes.

MITRE ATT&CK coverage

TacticTechniques
PersistenceT1574.011 Hijack Execution Flow: Services Registry Permissions Weakness
Privilege EscalationT1574.011 Hijack Execution Flow: Services Registry Permissions Weakness
Defense EvasionT1574.011 Hijack Execution Flow: Services Registry Permissions Weakness

Event coverage

ProviderEvent IDTitle
Sysmon13RegistryEvent (Value Set)

Stages and Predicates

Stage 1: tstats

tstats WHERE Registry.registry_path="*\\SYSTEM\\CurrentControlSet\\Services*" Registry.registry_value_name="ImagePath" BY Registry.action, Registry.dest, Registry.process_guid, Registry.process_id, Registry.registry_hive, Registry.registry_path, Registry.registry_key_name, Registry.registry_value_data, Registry.registry_value_name, Registry.registry_value_type, Registry.status, Registry.user, Registry.vendor_product

Stage 2: search

search

Stage 3: where

where isnotnull(registry_value_data)

Stage 4: search

search

Stage 5: search

search

Stage 6: search

search `macro`

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
Registry.registry_patheq
  • "*\\SYSTEM\\CurrentControlSet\\Services*" corpus 2 (splunk 2)
Registry.registry_value_nameeq
  • ImagePath