Detect Emond in Sumo Logic CSE
Adversaries may gain persistence and elevate privileges by executing malicious content triggered by the Event Monitor Daemon (emond). Emond is a Launch Daemon on macOS that accepts events from various services, runs them through a simple rule engine, and takes action. The emond rules files are stored at /etc/emond.d/rules/ and rules are defined in plist format. Adversaries can write malicious event rules to these files to execute arbitrary code when a matching event occurs. Emond runs as root — any process or command triggered by an emond rule executes with root privileges, making this both a persistence and privilege escalation technique.
MITRE ATT&CK
- Tactic
- Privilege Escalation Persistence
- Technique
- T1546 Event Triggered Execution
- Sub-technique
- T1546.014 Emond
- Canonical reference
- https://attack.mitre.org/techniques/T1546/014/
Sumo Detection Query
(_sourceCategory=*mac* OR _sourceCategory=*endpoint* OR _sourceCategory=*osquery*)
| where _raw matches "/etc/emond\.d/(rules/|startupitems/)"
or (_raw matches "emond" and _raw matches "\.plist")
or _raw matches "/etc/emond\.d/"
| parse regex field=_raw "(?<action>wrote|write|created|WRITE|CREATE|FileCreate|FileWrite|modified)" nodrop
| parse regex field=_raw "(?<file_path>/etc/emond\.d/[^\s\"']+)" nodrop
| parse regex field=_raw "(?<username>user[=:\s]+(?P<uname>[\w\-\.]+))" nodrop
| eval is_rules_dir = if(file_path matches "*rules*", "true", "false")
| eval is_plist = if(file_path matches "*.plist", "true", "false")
| where action != ""
| fields _messagetime, _sourceHost, username, action, file_path, is_rules_dir, is_plist, _raw
| sort by _messagetime desc Detects creation and modification of files within the macOS emond rules directory or any emond-associated plist files, indicating potential persistence or privilege escalation via the Event Monitor Daemon. Parses macOS endpoint logs and syslog sources forwarded to Sumo Logic to identify actionable write events targeting emond configuration paths.
Data Sources
Required Tables
False Positives & Tuning
- Automated MDM-driven configuration deployments writing legitimate emond rules to endpoints as part of device enrollment or policy enforcement workflows
- macOS software updates from Apple that reconfigure or reset emond rule sets to their default state during OS minor or major version upgrades
- Incident response or red team exercises intentionally planting emond rules in authorized test environments without proper exclusion tagging in Sumo Logic
Other platforms for T1546.014
Testing Methodology
Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Create Malicious Emond Rule for Startup Persistence
Expected signal: File creation event for /etc/emond.d/rules/argus_test.plist. Process creation for tee writing to the rules directory. On next startup or emond reload, emond spawns the touch command as root — file creation event for /tmp/emond_executed.
- Test 2Verify Emond Service Status
Expected signal: Process creation for launchctl and ls. Read-only — no modifications. Output shows emond service state and all existing rule files.
- Test 3Create Emond Authentication Event Rule
Expected signal: File creation event for /etc/emond.d/rules/argus_auth_test.plist. The authentication event trigger fires on user login, causing emond to spawn the touch command as root.
Unlock Pro Content
Get the full detection package for T1546.014 including response playbook, investigation guide, and atomic red team tests.