Detection rules › Sigma

Potential XCSSET Malware Infection

Status
test
Severity
medium
Log source
product macos, category process_creation
Author
Tim Rauch (rule), Elastic (idea)
Source
github.com/SigmaHQ/sigma

Identifies the execution traces of the XCSSET malware. XCSSET is a macOS trojan that primarily spreads via Xcode projects and maliciously modifies applications. Infected users are also vulnerable to having their credentials, accounts, and other vital data stolen.

MITRE ATT&CK coverage

TacticTechniques
Command & ControlNo specific technique

Event coverage

ProviderEventTitle
ESFexecProcess Execution (Notify)

Rule body yaml

title: Potential XCSSET Malware Infection
id: 47d65ac0-c06f-4ba2-a2e3-d263139d0f51
status: test
description: Identifies the execution traces of the XCSSET malware. XCSSET is a macOS trojan that primarily spreads via Xcode projects and maliciously modifies applications. Infected users are also vulnerable to having their credentials, accounts, and other vital data stolen.
references:
    - https://github.com/elastic/protections-artifacts/commit/746086721fd385d9f5c6647cada1788db4aea95f#diff-f5deb07688e1a8dec9530bc3071967b2da5c16b482e671812b864c37beb28f08
    - https://malpedia.caad.fkie.fraunhofer.de/details/osx.xcsset
author: Tim Rauch (rule), Elastic (idea)
date: 2022-10-17
tags:
    - attack.command-and-control
logsource:
    category: process_creation
    product: macos
detection:
    selection_1_curl:
        ParentImage|endswith: '/bash'
        Image|endswith: '/curl'
        CommandLine|contains:
            - '/sys/log.php'
            - '/sys/prepod.php'
            - '/sys/bin/Pods'
    selection_1_https:
        CommandLine|contains: 'https://'
    selection_other_1:
        ParentImage|endswith: '/bash'
        Image|endswith: '/osacompile'
        CommandLine|contains|all:
            - '/Users/'
            - '/Library/Group Containers/'
    selection_other_2:
        ParentImage|endswith: '/bash'
        Image|endswith: '/plutil'
        CommandLine|contains|all:
            - 'LSUIElement'
            - '/Users/'
            - '/Library/Group Containers/'
    selection_other_3:
        Image|endswith: '/zip'
        CommandLine|contains|all:
            - '-r'
            - '/Users/'
            - '/Library/Group Containers/'
    condition: all of selection_1_* or 1 of selection_other_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

all of selection_1_* or 1 of selection_other_*

Stage 1: selection_1_curl

selection_1_curl:
    ParentImage|endswith: '/bash'
    Image|endswith: '/curl'
    CommandLine|contains:
        - '/sys/log.php'
        - '/sys/prepod.php'
        - '/sys/bin/Pods'

Stage 2: selection_1_https

selection_1_https:
    CommandLine|contains: 'https://'

Stage 3: selection_other_1

selection_other_1:
    ParentImage|endswith: '/bash'
    Image|endswith: '/osacompile'
    CommandLine|contains|all:
        - '/Users/'
        - '/Library/Group Containers/'

Stage 4: selection_other_2

selection_other_2:
    ParentImage|endswith: '/bash'
    Image|endswith: '/plutil'
    CommandLine|contains|all:
        - 'LSUIElement'
        - '/Users/'
        - '/Library/Group Containers/'

Stage 5: selection_other_3

selection_other_3:
    Image|endswith: '/zip'
    CommandLine|contains|all:
        - '-r'
        - '/Users/'
        - '/Library/Group Containers/'

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
  • -r
  • /Library/Group Containers/
  • /Users/
  • /sys/bin/Pods
  • /sys/log.php
  • /sys/prepod.php
  • LSUIElement
  • https://
Imageends_with
  • /curl
  • /osacompile
  • /plutil
  • /zip
ParentImageends_with
  • /bash