Detection rules › Sigma

macOS Network Upload Activity

Status
experimental
Severity
medium
Log source
product macos, service endpointsecurity
Author
Eric Brown - Nebulock, Inc.
Source
github.com/Nebulock-Inc/macos-coresigma

Detects execution of HTTP tools with upload methods (PUT, POST, --upload-file) which may indicate data exfiltration. Adversaries use curl/wget to upload stolen data to external servers or cloud storage.

MITRE ATT&CK coverage

Rule body yaml

title: macOS Network Upload Activity
id: 379ef2f6-75a0-4ca8-8f2f-63eaa470489f
status: experimental
description: 'Detects execution of HTTP tools with upload methods (PUT, POST, --upload-file)

  which may indicate data exfiltration. Adversaries use curl/wget to upload stolen

  data to external servers or cloud storage.

  '
author: Eric Brown - Nebulock, Inc.
date: 2025/10/31
modified: 2025/10/31
references:
- https://attack.mitre.org/techniques/T1041/
- https://attack.mitre.org/techniques/T1567/
logsource:
  product: macos
  service: endpointsecurity
detection:
  selection_event:
    esf.event_type: 9
    event.action: exec
  selection_process:
    Image|endswith:
    - /curl
    - /wget
  selection_upload:
    CommandLine|contains:
    - --upload-file
    - '-T '
    - -X PUT
    - -X POST
    - --data
    - --data-binary
  condition: selection_event and selection_process and selection_upload
falsepositives:
- Legitimate API interactions and data submissions
- Software updates and telemetry uploads
- Development and testing activities
- Automated system reporting
fields:
- Image
- CommandLine
- ProcessId
- ParentProcessId
- User
tags:
- attack.exfiltration
- attack.t1041
- attack.t1567
level: medium

Stages and Predicates

Stage 0: condition

selection_event and selection_process and selection_upload

Stage 1: selection_event

selection_event:
  esf.event_type: 9
  event.action: exec

Stage 2: selection_process

selection_process:
  Image|endswith:
  - /curl
  - /wget

Stage 3: selection_upload

selection_upload:
  CommandLine|contains:
  - --upload-file
  - '-T '
  - -X PUT
  - -X POST
  - --data
  - --data-binary

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
  • --data
  • --data-binary
  • --upload-file
  • -T
  • -X POST
  • -X PUT
Imageends_with
  • /curl
  • /wget
esf.event_typeeq
  • 9
event.actioneq
  • exec