Detection rules › Elastic
NotificationCenter Silenced via Killall Binary
Detects when the killall process is spawned in order to kill NotificationCenter messages that provide users with pop up system notifications like security warnings etc.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Defense Impairment |
Telemetry coverage
Rule body
[rule]
description = """
Detects when the killall process is spawned in order to kill NotificationCenter messages that provide users with pop up
system notifications like security warnings etc.
"""
id = "5399e933-d4d7-47e5-a816-5d850729c26c"
license = "Elastic License v2"
name = "NotificationCenter Silenced via Killall Binary"
os_list = ["macos"]
reference = ["https://securelist.com/new-macos-backdoor-crypto-stealer/111778/"]
version = "1.0.6"
query = '''
process where event.type == "start" and event.action == "exec" and process.name == "killall" and
process.args like "NotificationCenter" and
(process.parent.executable like ("/Applications/*", "/Volumes/*", "/Users/*", "/private/tmp/*", "/tmp/*") or
process.Ext.effective_parent.executable like ("/Applications/*", "/Volumes/*", "/Users/*", "/private/tmp/*", "/tmp/*")) and
not (process.parent.code_signature.trusted == true and process.parent.code_signature.team_id in ("8CA6NAN723", "Y75Z7G683Y", "7JVNAY4725")) and
not process.Ext.effective_parent.executable == "/Applications/Airtame.app/Contents/MacOS/Airtame"
'''
min_endpoint_version = "8.10.2"
optional_actions = []
[[actions]]
action = "kill_process"
field = "process.entity_id"
state = 0
[[actions]]
action = "kill_process"
field = "process.parent.entity_id"
state = 0
[[threat]]
framework = "MITRE ATT&CK"
[[threat.technique]]
id = "T1562"
name = "Impair Defenses"
reference = "https://attack.mitre.org/techniques/T1562/"
[[threat.technique.subtechnique]]
id = "T1562.006"
name = "Indicator Blocking"
reference = "https://attack.mitre.org/techniques/T1562/006/"
[threat.tactic]
id = "TA0005"
name = "Defense Evasion"
reference = "https://attack.mitre.org/tactics/TA0005/"
[internal]
min_endpoint_version = "8.10.2"
Stages and Predicates
Stage 1: process
process where event.type == "start" and event.action == "exec" and process.name == "killall" and
process.args like "NotificationCenter" and
(process.parent.executable like ("/Applications/*", "/Volumes/*", "/Users/*", "/private/tmp/*", "/tmp/*") or
process.Ext.effective_parent.executable like ("/Applications/*", "/Volumes/*", "/Users/*", "/private/tmp/*", "/tmp/*")) and
not (process.parent.code_signature.trusted == true and process.parent.code_signature.team_id in ("8CA6NAN723", "Y75Z7G683Y", "7JVNAY4725")) and
not process.Ext.effective_parent.executable == "/Applications/Airtame.app/Contents/MacOS/Airtame"
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
process.parent.code_signature.team_id | in | 7JVNAY4725, 8CA6NAN723, Y75Z7G683Y | excludes:process.parent.code_signature.team_id field:"process.parent.code_signature.team_id" value:"7JVNAY4725" field:"process.parent.code_signature.team_id" value:"8CA6NAN723" field:"process.parent.code_signature.team_id" value:"Y75Z7G683Y" |
process.parent.code_signature.trusted | eq | true | excludes:process.parent.code_signature.trusted field:"process.parent.code_signature.trusted" value:"true" |
process.Ext.effective_parent.executable | eq | /Applications/Airtame.app/Contents/MacOS/Airtame | excludes:process.Ext.effective_parent.executable field:"process.Ext.effective_parent.executable" value:"/Applications/Airtame.app/Contents/MacOS/Airtame" |
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
event.action | eq |
| field:"EventType" kind:eq value:"exec" |
event.type | eq |
| field:"event.type" kind:eq value:"start" |
process.Ext.effective_parent.executable | wildcard |
| field:"process.Ext.effective_parent.executable" kind:wildcard |
process.args | wildcard |
| field:"process.args" kind:wildcard value:"NotificationCenter" |
process.name | eq |
| field:"process_name" kind:eq value:"killall" |
process.parent.executable | wildcard |
| field:"ParentImage" kind:wildcard |