Objective-See unveils ransomWhere macOS defense
Researcher Patrick Wardle surveys OS X ransomware history (KeRanger, FileCoder, Gopher, Mabouia, GinX) and introduces ransomWhere, a heuristic tool detecting rapid file encryption by untrusted processes.
This Objective-See blog post is a research writeup rather than an active-threat advisory. It traces the evolution of macOS ransomware from early browser-locking scareware ('FBI ransomware', 2013) through non-functional PoCs (FileCoder, 2014) to functional proof-of-concept tools (Gopher, Mabouia, 2015) and the first real in-the-wild macOS ransomware, KeRanger, which trojanized the signed Transmission BitTorrent client in March 2016. The author also references GinX, a ransomware-as-a-service offering advertised on an underground marketplace with a Mac variant.
The bulk of the article details the author's methodology for building 'ransomWhere?', a generic ransomware detection tool for macOS. It evaluates several user-mode file I/O monitoring techniques (dtrace, fs_usage/kdebug, OpenBSM, FSEvents API, and direct /dev/fsevents access), settling on direct FSEvents access for efficiency and process attribution. It then describes using statistical tests (entropy, Chi-Square distribution, Monte Carlo pi approximation) to distinguish encrypted files from merely compressed ones, and a trust heuristic (Apple-signed binaries and pre-existing installed apps are trusted) to reduce false positives when flagging processes rapidly creating encrypted files.
No active campaign, vulnerability, or specific victim is reported here; this is defensive tooling research building on prior disclosures (KeRanger by Palo Alto Networks, FileCoder by Kaspersky, Gopher by Pedro Vilaca). Severity is low as the piece is informational/defensive research rather than a report of ongoing exploitation.
Mentioned in this report
Detection guidance
Rapid File Encryption Activity by Unsigned Process
Detects a process rapidly creating encrypted files (high entropy) across multiple directories — typical ransomware behaviour, distinguished from legitimate compression by statistical entropy analysis. Auto-generated starting point — validate and tune in your environment before deploying. IOC matches can false-positive on shared infrastructure and decay as adversary infrastructure rotates.
title: Rapid File Encryption Activity by Unsigned Process
description: Detects processes creating files with high entropy (encrypted) at an
abnormal rate across multiple directories. Excludes Apple-signed binaries and pre-installed
system utilities. Ransomware typically encrypts files in bursts; legitimate tools
like backup/compression are signed or whitelisted.
tags:
- attack.impact
- attack.t1486
logsource:
category: file_event
product: macos
detection:
selection:
Image|contains:
- /tmp/
- /var/tmp/
- /Users/
EventType: CreatedFile
Entropy|gte: 7.5
filter_signed:
SignatureStatus: Valid
filter_system:
Image|startswith:
- /Applications/
- /System/
- /usr/bin/
- /usr/local/bin/
condition: selection and not filter_signed and not filter_system
falsepositives:
- Third-party archivers (7-Zip, WinRAR equivalents) if running unsigned
- Database tools creating encrypted backups
level: high
id: e880ae30-9d0c-5af0-ab00-37f8916ad6a7
status: experimental
author: Vorant
Suspicious Process Spawning from Trojanized Application Bundle
Detects child processes spawned from legitimate application bundles (e.g. BitTorrent clients, browsers) where the parent executable does not match the bundle's expected code-signing identity or was recently modified. Auto-generated starting point — validate and tune in your environment before deploying. IOC matches can false-positive on shared infrastructure and decay as adversary infrastructure rotates.
title: Suspicious Process Spawning from Trojanized Application Bundle
description: Detects when a legitimate signed application (e.g. Transmission, browser)
spawns a child process that is unsigned or has a mismatched code signature, or the
parent binary was recently modified. Indicates potential trojanization or post-compromise
code injection.
tags:
- attack.persistence
- attack.t1195.002
logsource:
category: process_creation
product: macos
detection:
selection:
ParentImage|contains:
- /Applications/Transmission.app/
- /Applications/Google Chrome.app/
- /Applications/Firefox.app/
- /Applications/Safari.app/
Image|endswith:
- /bash
- /sh
- /zsh
- /curl
- /wget
filter_legitimate_child:
ParentSignatureStatus: Valid
CommandLine|contains:
- --version
- --help
condition: selection and not filter_legitimate_child
falsepositives:
- Browser extensions legitimately spawning curl/wget for updates
- Transmission spawning shell for legitimate plugin use
level: medium
id: 180d3285-0fa5-5bce-a057-f6b93519516d
status: experimental
author: Vorant
Process Creating Encrypted Files in Bulk Across User Directories
Detects a non-system process creating multiple files with encrypted (high-entropy) content within a short timeframe across user home and document directories, excluding legitimate backup/archival tools. Auto-generated starting point — validate and tune in your environment before deploying. IOC matches can false-positive on shared infrastructure and decay as adversary infrastructure rotates.
title: Process Creating Encrypted Files in Bulk Across User Directories
description: Monitors for rapid file creation with encrypted content (entropy > 7.5)
across multiple user directories. Filters out Apple-signed processes and known benign
tools. Ransomware exhibits a characteristic burst of encryption across /Users, Desktop,
Documents.
tags:
- attack.impact
- attack.t1486
logsource:
category: file_event
product: macos
detection:
selection:
EventType: CreatedFile
TargetPath|contains:
- /Users/*/Desktop/
- /Users/*/Documents/
- /Users/*/Downloads/
Entropy|gte: 7.8
filter_system_process:
Image|startswith:
- /System/
- /usr/bin/
- /bin/
filter_signed:
SignatureStatus: Valid
filter_known_benign:
Image|endswith:
- /rsync
- /tar
condition: selection and not filter_system_process and not filter_signed and not
filter_known_benign
falsepositives:
- Legitimate encryption tools (Veracrypt, encrypted backup utilities) if unsigned
- Network sync tools (Dropbox, OneDrive) during first-time backup
level: high
id: 1bd645f7-7b72-565e-8b95-a171ecb490f9
status: experimental
author: Vorant
Behavioural rules are generated from public reporting — validate in your environment before deploying.
Source reporting: https://objective-see.org/blog/blog_0x0F.html
This is the public brief
Subscribers see the full picture: extracted IOCs, ready-to-deploy detections (Sigma, Splunk, KQL, Elastic, YARA, Suricata), the entity graph, TAXII 2.1 feed and real-time alerts matched to your sectors.
Start free