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.

Known false positives

  • Legitimate API interactions and data submissions
  • Software updates and telemetry uploads
  • Development and testing activities
  • Automated system reporting

MITRE ATT&CK coverage

Rule body

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

These rows show field, operator, and value matches.