Detection rules › Sigma

macOS Service Disruption Activity

Status
experimental
Severity
medium
Log source
product macos, service endpointsecurity
Author
Eric Brown - Nebulock, Inc.
Source
github.com/Nebulock-Inc/macos-coresigma

Detects execution of service control tools (launchctl, killall, pkill) with parameters targeting system services or multiple processes. May indicate service disruption for impact or denial of service attacks.

MITRE ATT&CK coverage

Rule body yaml

title: macOS Service Disruption Activity
id: e673e584-70d1-4b1e-9bdf-48f7eb0064d9
status: experimental
description: 'Detects execution of service control tools (launchctl, killall, pkill)
  with

  parameters targeting system services or multiple processes. May indicate service

  disruption for impact or denial of service attacks.

  '
author: Eric Brown - Nebulock, Inc.
date: 2025/10/31
modified: 2025/10/31
references:
- https://attack.mitre.org/techniques/T1489/
- https://attack.mitre.org/techniques/T1529/
logsource:
  product: macos
  service: endpointsecurity
detection:
  selection_event:
    esf.event_type: 9
    event.action: exec
  selection_launchctl:
    Image|endswith: /launchctl
    CommandLine|contains:
    - unload
    - remove
    - disable
    - stop
  selection_kill:
    Image|endswith:
    - killall
    - pkill
    CommandLine|contains:
    - '-9'
    - SIGKILL
    - -KILL
  selection_root:
    UserId: 0
  condition: selection_event and (selection_launchctl or selection_kill) and not selection_root
falsepositives:
- System administration and service management
- Software updates requiring service restarts
- Legitimate process termination
- Troubleshooting and maintenance activities
- Root user administrative actions
fields:
- Image
- CommandLine
- ProcessId
- ParentProcessId
- User
tags:
- attack.impact
- attack.t1489
- attack.t1529
level: medium

Stages and Predicates

Stage 0: condition

selection_event and (selection_launchctl or selection_kill) and not selection_root

Stage 1: selection_event

selection_event:
  esf.event_type: 9
  event.action: exec

Stage 2: selection_launchctl

selection_launchctl:
  Image|endswith: /launchctl
  CommandLine|contains:
  - unload
  - remove
  - disable
  - stop

Stage 3: selection_kill

selection_kill:
  Image|endswith:
  - killall
  - pkill
  CommandLine|contains:
  - '-9'
  - SIGKILL
  - -KILL

Stage 4: not selection_root

selection_root:
  UserId: 0

Exclusions

Top-level NOT(...) conjuncts: predicates this rule actively suppresses.

FieldKindExcluded values
UserIdeq0

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
CommandLinematch
  • -9
  • -KILL
  • SIGKILL
  • disable
  • remove
  • stop
  • unload
Imageends_with
  • /launchctl
  • killall
  • pkill
esf.event_typeeq
  • 9
event.actioneq
  • exec