Detection rules › Splunk

Windows Service Create SliverC2

Status
production
Severity
medium
Group by
ImagePath, ServiceType, computer_name, service_name, signature_id
Author
Michael Haag, Splunk
Source
github.com/splunk/security_content

The following analytic detects the creation of a Windows service named "Sliver" with the description "Sliver Implant," indicative of SliverC2 lateral movement using the PsExec module. It leverages Windows EventCode 7045 from the System Event log to identify this activity. This behavior is significant as it may indicate an adversary's attempt to establish persistence or execute commands remotely. If confirmed malicious, this activity could allow attackers to maintain control over the compromised system, execute arbitrary code, and further infiltrate the network.

Known false positives

  • False positives should be limited, but if another service out there is named Sliver, filtering may be needed.

MITRE ATT&CK coverage

Telemetry coverage

Rule body

name: Windows Service Create SliverC2
id: 89dad3ee-57ec-43dc-9044-131c4edd663f
version: 12
creation_date: '2023-03-03'
modification_date: '2026-05-13'
author: Michael Haag, Splunk
status: production
type: TTP
description: The following analytic detects the creation of a Windows service named "Sliver" with the description "Sliver Implant," indicative of SliverC2 lateral movement using the PsExec module. It leverages Windows EventCode 7045 from the System Event log to identify this activity. This behavior is significant as it may indicate an adversary's attempt to establish persistence or execute commands remotely. If confirmed malicious, this activity could allow attackers to maintain control over the compromised system, execute arbitrary code, and further infiltrate the network.
data_source:
    - Windows Event Log System 7045
search: |-
    `wineventlog_system` EventCode=7045 ServiceName="sliver"
      | stats count min(_time) as firstTime max(_time) as lastTime
        BY Computer EventCode ImagePath
           ServiceName ServiceType
      | rename Computer as dest
      | `security_content_ctime(firstTime)`
      | `security_content_ctime(lastTime)`
      | `windows_service_create_sliverc2_filter`
how_to_implement: To implement this analytic, the Windows EventCode 7045 will need to be logged from the System Event log. The Windows TA for Splunk is also recommended.
known_false_positives: False positives should be limited, but if another service out there is named Sliver, filtering may be needed.
references:
    - https://github.com/BishopFox/sliver/blob/71f94928bf36c1557ea5fbeffa161b71116f56b2/client/command/exec/psexec.go#LL61C5-L61C16
    - https://www.microsoft.com/en-us/security/blog/2022/08/24/looking-for-the-sliver-lining-hunting-for-emerging-command-and-control-frameworks/
    - https://regex101.com/r/DWkkXm/1
finding:
    title: A user mode service was created on $dest$ related to SliverC2.
    entity:
        field: dest
        type: system
        score: 50
analytic_story:
    - BishopFox Sliver Adversary Emulation Framework
    - Compromised Windows Host
    - Hellcat Ransomware
asset_type: Endpoint
mitre_attack_id:
    - T1569.002
product:
    - Splunk Enterprise
    - Splunk Enterprise Security
    - Splunk Cloud
category: endpoint
security_domain: endpoint

Stages and Predicates

Stage 1: search

`wineventlog_system` EventCode=7045 ServiceName="sliver"

Stage 2: stats

| stats count min(_time) as firstTime max(_time) as lastTime
    BY Computer EventCode ImagePath
       ServiceName ServiceType

Stage 3: rename

| rename Computer as dest

Stage 4: search

| `security_content_ctime(firstTime)`

Stage 5: search

| `security_content_ctime(lastTime)`

Stage 6: search

| `windows_service_create_sliverc2_filter`

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
EventCodeeq
  • 7045 corpus 21 (splunk 18, elastic 1, chronicle 1, kusto 1)
field:"EventID" kind:eq value:"7045"
ServiceNameeq
  • "sliver" corpus 2 (sigma 1, splunk 1)
field:"ServiceName" kind:eq