Adversaries may gain persistence and elevate privileges by executing malicious content triggered by the Event Monitor Daemon (emond). Emond is a Launch Daemon that accepts events from various services, runs them through a simple rules engine, and takes action. The emond binary at
/sbin/emond
will load any rules from the /etc/emond.d/rules/
directory and take action once an explicitly defined event takes place.
The rule files are in the plist format and define the name, event type, and action to take. Some examples of event types include system startup and user authentication. Examples
of actions are to run a system command or send an email. The emond service will not launch if there is no file present in the QueueDirectories path
/private/var/db/emondClients
, specified in the Launch Daemon configuration file
at/System/Library/LaunchDaemons/com.apple.emond.plist
.[1][2][3]
Adversaries may abuse this service by writing a rule to execute commands when a defined event occurs, such as system start up or user authentication.[1][2][3] Adversaries may also be able to escalate privileges from administrator to root as the emond service is executed with root privileges by the Launch Daemon service.
ID | Mitigation | Description |
---|---|---|
M1042 | Disable or Remove Feature or Program |
Consider disabling emond by removing the Launch Daemon plist file. |
ID | Data Source | Data Component | Detects |
---|---|---|---|
DS0017 | Command | Command Execution |
Monitor executed commands and arguments that may gain persistence and elevate privileges by executing malicious content triggered by the Event Monitor Daemon (emond). |
DS0022 | File | File Creation |
Monitor emond rules creation by checking for files created in |
File Modification |
Monitor emond rules creation by checking for files modified in |
||
DS0009 | Process | Process Creation |
Monitor newly executed processes that may gain persistence and elevate privileges by executing malicious content triggered by the Event Monitor Daemon (emond). |