Suspicious Automator Workflows Execution

Identifies the execution of the Automator Workflows process followed by a network connection from it's XPC service. Adversaries may drop a custom workflow template that hosts malicious JavaScript for Automation (JXA) code as an alternative to using osascript.

Elastic rule (View on GitHub)

 1[metadata]
 2creation_date = "2020/12/23"
 3integration = ["endpoint"]
 4maturity = "production"
 5min_stack_comments = "New fields added: required_fields, related_integrations, setup"
 6min_stack_version = "8.3.0"
 7updated_date = "2023/06/22"
 8
 9[rule]
10author = ["Elastic"]
11description = """
12Identifies the execution of the Automator Workflows process followed by a network connection from it's XPC service.
13Adversaries may drop a custom workflow template that hosts malicious JavaScript for Automation (JXA) code as an
14alternative to using osascript.
15"""
16from = "now-9m"
17index = ["auditbeat-*", "logs-endpoint.events.*"]
18language = "eql"
19license = "Elastic License v2"
20name = "Suspicious Automator Workflows Execution"
21references = ["https://posts.specterops.io/persistent-jxa-66e1c3cd1cf5"]
22risk_score = 47
23rule_id = "5d9f8cfc-0d03-443e-a167-2b0597ce0965"
24severity = "medium"
25tags = ["Domain: Endpoint", "OS: macOS", "Use Case: Threat Detection", "Tactic: Execution", "Data Source: Elastic Defend"]
26type = "eql"
27
28query = '''
29sequence by host.id with maxspan=30s
30 [process where host.os.type == "macos" and event.type in ("start", "process_started") and process.name == "automator"]
31 [network where host.os.type == "macos" and process.name:"com.apple.automator.runner"]
32'''
33
34
35[[rule.threat]]
36framework = "MITRE ATT&CK"
37[[rule.threat.technique]]
38id = "T1059"
39name = "Command and Scripting Interpreter"
40reference = "https://attack.mitre.org/techniques/T1059/"
41
42
43[rule.threat.tactic]
44id = "TA0002"
45name = "Execution"
46reference = "https://attack.mitre.org/tactics/TA0002/"

References

Related rules

to-top