macOS: Disable Security Tools via launchctl unload or spctl disable

Detects macOS attempts to impair security by unloading known security agent plists via launchctl or disabling Gatekeeper with spctl.

FreeReviewedSigma · Medium · v2
Product
macos
Category
process_creation
Author
Daniil Yugoslavskiy, oscd.community (SigmaHQ), DRL 1.1
Published
2020-10-19
Updated
2026-07-31
title: "macOS: Disable Security Tools via launchctl unload or spctl disable"
id: 18eb0b8b-7453-4f4e-9a88-a8b0ae3141ff
status: test
description: This rule flags macOS process activity where security-related services are being disabled or unloaded. It matches launchctl invocations containing 'unload' alongside command lines referencing specific security tool-related plist identifiers, and it also matches spctl command lines containing 'disable'. Attackers may impair host security by stopping endpoint and monitoring components, and the detection relies on process creation telemetry capturing Image and CommandLine fields on macOS.
references:
  - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1562.001/T1562.001.md
  - https://github.com/SigmaHQ/sigma/blob/master/rules/macos/process_creation/proc_creation_macos_disable_security_tools.yml
author: Daniil Yugoslavskiy, oscd.community, Huntrule Team
date: 2020-10-19
modified: 2021-11-27
tags:
  - attack.defense-impairment
  - attack.t1685
logsource:
  category: process_creation
  product: macos
detection:
  launchctl_unload:
    Image: /bin/launchctl
    CommandLine|contains: unload
  security_plists:
    CommandLine|contains:
      - com.objective-see.lulu.plist
      - com.objective-see.blockblock.plist
      - com.google.santad.plist
      - com.carbonblack.defense.daemon.plist
      - com.carbonblack.daemon.plist
      - at.obdev.littlesnitchd.plist
      - com.tenablesecurity.nessusagent.plist
      - com.opendns.osx.RoamingClientConfigUpdater.plist
      - com.crowdstrike.falcond.plist
      - com.crowdstrike.userdaemon.plist
      - osquery
      - filebeat
      - auditbeat
      - packetbeat
      - td-agent
  disable_gatekeeper:
    Image: /usr/sbin/spctl
    CommandLine|contains: disable
  condition: (launchctl_unload and security_plists) or disable_gatekeeper
falsepositives:
  - Legitimate activities
level: medium
license: DRL-1.1
related:
  - id: ff39f1a6-84ac-476f-a1af-37fcdf53d7c0
    type: derived