Detection rules › Splunk

Randomly Generated Windows Service Name

Status
experimental
Author
Mauricio Velazco, Splunk
Source
github.com/splunk/security_content

The following analytic detects the installation of a Windows Service with a suspicious, high-entropy name, indicating potential malicious activity. It leverages Event ID 7045 and the ut_shannon function from the URL ToolBox Splunk application to identify services with random names. This behavior is significant as adversaries often use randomly named services for lateral movement and remote code execution. If confirmed malicious, this activity could allow attackers to execute arbitrary code, escalate privileges, or maintain persistence within the environment.

MITRE ATT&CK coverage

Event coverage

Rule body splunk

name: Randomly Generated Windows Service Name
id: 2032a95a-5165-11ec-a2c3-3e22fbd008af
version: 10
creation_date: '2021-11-30'
modification_date: '2026-05-13'
author: Mauricio Velazco, Splunk
status: experimental
type: Hunting
description: The following analytic detects the installation of a Windows Service with a suspicious, high-entropy name, indicating potential malicious activity. It leverages Event ID 7045 and the `ut_shannon` function from the URL ToolBox Splunk application to identify services with random names. This behavior is significant as adversaries often use randomly named services for lateral movement and remote code execution. If confirmed malicious, this activity could allow attackers to execute arbitrary code, escalate privileges, or maintain persistence within the environment.
data_source:
    - Windows Event Log System 7045
search: |-
    `wineventlog_system` EventCode=7045
      | lookup ut_shannon_lookup word as Service_Name
      | where ut_shannon > 3
      | table EventCode ComputerName Service_Name ut_shannon Service_Start_Type Service_Type Service_File_Name
      | `randomly_generated_windows_service_name_filter`
how_to_implement: To successfully implement this search, you need to be ingesting logs with the Service name, Service File Name Service Start type, and Service Type from your endpoints. The Windows TA as well as the URL ToolBox application are also required.
known_false_positives: Legitimate applications may use random Windows Service names.
references:
    - https://attack.mitre.org/techniques/T1543/003/
analytic_story:
    - Active Directory Lateral Movement
    - BlackSuit Ransomware
asset_type: Endpoint
mitre_attack_id:
    - T1543.003
product:
    - Splunk Enterprise
    - Splunk Enterprise Security
    - Splunk Cloud
category: endpoint
security_domain: endpoint

Stages and Predicates

Stage 1: search

`wineventlog_system` EventCode=7045

Stage 2: lookup

| lookup ut_shannon_lookup word as Service_Name
Lookup table
ut_shannon_lookup
Key field
word as Service_Name

Stage 3: where

| where ut_shannon > 3

Stage 4: table

| table EventCode ComputerName Service_Name ut_shannon Service_Start_Type Service_Type Service_File_Name

Stage 5: search

| `randomly_generated_windows_service_name_filter`

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
EventCodeeq
  • 7045 corpus 20 (splunk 18, chronicle 1, kusto 1)
ut_shannongt
  • 3 corpus 3 (splunk 3)