Detection rules › Elastic

Suspicious Audio Unit Plug-in File Access

Source
github.com/elastic/protections-artifacts

Detects when an audio component or plug-in is created or accessed by a suspicious process. Applications such as GarageBand 10, Logic Pro X, Audacity, etc., use audio unit plug-ins to create sound effects and virtual instruments. Software developers and sound engineers can create either audio components or virtual studio technology (VST) plug-ins. Threat actors can also create audio components or plug-ins and load them to execute unsigned code via the native auval or auvaltool binaries.

MITRE ATT&CK coverage

Rule body

[rule]
description = """
Detects when an audio component or plug-in is created or accessed by a suspicious process. Applications such as
GarageBand 10, Logic Pro X, Audacity, etc., use audio unit plug-ins to create sound effects and virtual instruments.
Software developers and sound engineers can create either audio components or virtual studio technology (VST) plug-ins.
Threat actors can also create audio components or plug-ins and load them to execute unsigned code via the native auval
or auvaltool binaries.
"""
id = "ced79436-2518-4aac-8939-c775b4b4ccd5"
license = "Elastic License v2"
name = "Suspicious Audio Unit Plug-in File Access"
os_list = ["macos"]
reference = ["https://posts.specterops.io/audio-unit-plug-ins-896d3434a882"]
version = "1.0.11"

query = '''
file where event.action != "deletion" and process.name like~ ("curl", "nscurl", "osascript", "wget", "python*") and
 file.extension in~ ("component", "audiocomp") and
 file.path like~ ("/Library/Audio/Plug-ins/Components/*", "/Users/*/Library/Audio/Plug-ins/Components/*")
'''

min_endpoint_version = "8.10.2"
optional_actions = []
[[actions]]
action = "kill_process"
field = "Effective_process.executable"
state = 0

[[actions]]
action = "kill_process"
field = "process.entity_id"
state = 0

[[threat]]
framework = "MITRE ATT&CK"
[[threat.technique]]
id = "T1059"
name = "Command and Scripting Interpreter"
reference = "https://attack.mitre.org/techniques/T1059/"
[[threat.technique.subtechnique]]
id = "T1059.004"
name = "Unix Shell"
reference = "https://attack.mitre.org/techniques/T1059/004/"



[threat.tactic]
id = "TA0002"
name = "Execution"
reference = "https://attack.mitre.org/tactics/TA0002/"

[internal]
min_endpoint_version = "8.10.2"

Stages and Predicates

Stage 1: file

file where event.action != "deletion" and process.name like~ ("curl", "nscurl", "osascript", "wget", "python*") and
 file.extension in~ ("component", "audiocomp") and
 file.path like~ ("/Library/Audio/Plug-ins/Components/*", "/Users/*/Library/Audio/Plug-ins/Components/*")

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
event.actionne
  • deletion
field:"EventType" kind:ne value:"deletion"
file.extensionin
  • audiocomp
  • component
field:"file.extension" kind:in
file.pathwildcard
  • /Library/Audio/Plug-ins/Components/*
  • /Users/*/Library/Audio/Plug-ins/Components/*
field:"TargetFilename" kind:wildcard
process.namewildcard
  • curl
  • nscurl
  • osascript
  • python*
  • wget
field:"process_name" kind:wildcard