Detection rules › Sigma

GUI Input Capture - macOS

Status
test
Severity
low
Log source
product macos, category process_creation
Author
remotephone, oscd.community
Source
github.com/SigmaHQ/sigma

Detects attempts to use system dialog prompts to capture user credentials

MITRE ATT&CK coverage

Event coverage

ProviderEventTitle
ESFexecProcess Execution (Notify)

Rule body yaml

title: GUI Input Capture - macOS
id: 60f1ce20-484e-41bd-85f4-ac4afec2c541
status: test
description: Detects attempts to use system dialog prompts to capture user credentials
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1056.002/T1056.002.md
    - https://scriptingosx.com/2018/08/user-interaction-from-bash-scripts/
author: remotephone, oscd.community
date: 2020-10-13
modified: 2025-12-05
tags:
    - attack.collection
    - attack.credential-access
    - attack.t1056.002
logsource:
    product: macos
    category: process_creation
detection:
    selection_img:
        Image|endswith: '/osascript'
    selection_cli_1:
        CommandLine|contains|all:
            - '-e'
            - 'display'
            - 'dialog'
            - 'answer'
    selection_cli_2:
        CommandLine|contains:
            - 'admin'
            - 'administrator'
            - 'authenticate'
            - 'authentication'
            - 'credentials'
            - 'pass'
            - 'password'
            - 'unlock'
    condition: all of selection_*
falsepositives:
    - Legitimate administration tools and activities
level: low

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    Image|endswith: '/osascript'

Stage 2: selection_cli_1

selection_cli_1:
    CommandLine|contains|all:
        - '-e'
        - 'display'
        - 'dialog'
        - 'answer'

Stage 3: selection_cli_2

selection_cli_2:
    CommandLine|contains:
        - 'admin'
        - 'administrator'
        - 'authenticate'
        - 'authentication'
        - 'credentials'
        - 'pass'
        - 'password'
        - 'unlock'

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
CommandLinematch
  • -e
  • admin
  • administrator
  • answer
  • authenticate
  • authentication
  • credentials
  • dialog
  • display
  • pass
  • password
  • unlock
Imageends_with
  • /osascript