Skip to main content
Live Webinar with SANS (June 25)— Agentic CTI Automation for Fun & ProfitRegister Free
Mallory
MalwareUsed by 4 actors

NimDoor

NimDoor is a macOS malware family and backdoor campaign tracked by SentinelLABS/SentinelOne and attributed with high confidence to North Korea-linked threat actors, likely Stardust Chollima (also known as TA444, APT38, BlueNoroff), a financially motivated Lazarus subunit. It targets Web3 and cryptocurrency organizations and has been active since at least April 2025.

Initial access relies on targeted social engineering over Telegram and Calendly, where victims are invited to a business meeting and instructed to run a fake Zoom SDK update. The lure is commonly delivered as an AppleScript named zoom_sdk_support.scpt, padded with roughly 10,000 lines of whitespace and containing a notable "Zook" typo. That script retrieves additional stages from Zoom-themed spoofed infrastructure including support.us05web-zoom[.]pro, support.us05web-zoom[.]forum, support.us05web-zoom[.]cloud, and support.us06web-zoom[.]online, while also using a legitimate Zoom redirect link.

The infection chain uses an uncommon mix of AppleScript, Bash, C++, and Nim-compiled Mach-O binaries. One observed chain drops binaries such as a and installer into /private/var/tmp. The C++ loader a (identified as InjectWithDyldArm64) decrypts embedded binaries Target and trojan1_arm64, launches the benign-looking Target in a suspended state, injects trojan1_arm64 using posix_spawn with POSIX_SPAWN_START_SUSPENDED, and resumes it with SIGCONT. The loader carries entitlements com.apple.security.cs.debugger and com.apple.security.get-task-allow to enable this rare macOS process-injection technique.

The injected trojan1_arm64 payload communicates with command-and-control over TLS-encrypted WebSocket at wss://firstfromsep[.]online/client after an HTTP handshake, using layered RC4 encryption, base64 encoding, and multiple hardcoded keys. It supports arbitrary command execution, directory changes, working-directory queries, and system information collection. It also downloads and executes Bash scripts including upl and tlgrm. The upl script steals data from Arc, Brave, Firefox, Google Chrome, Microsoft Edge, Keychain files, and shell history, including /Library/Keychains/System.keychain, ~/Library/Keychains/login.keychain-db, ~/.bash_history, ~/.zsh_history, and ~/.zsh/. The tlgrm script steals Telegram local data including postbox/db and .tempkeyEncrypted. Both scripts exfiltrate to https://dataupload[.]store/uploadfiles.

A second chain uses Nim-based components including installer, GoogIe LLC, and CoreKitAgent. The installer checks for ~/Library/LaunchAgents/com.google.update.plist, creates directories under ~/Library/CoreKit/ and ~/Library/Application Support/GoogIe LLC/, and writes hidden configuration data under /private/tmp/cfg or /private/tmp/.config. GoogIe LLC, whose name deceptively uses a capital "i" to resemble Google LLC, launches CoreKitAgent and later serves as the LaunchAgent program argument. CoreKitAgent reads the hidden config, writes the LaunchAgent plist com.google.update.plist, and stores a CLIENT_AUTH_KEY derived from the config.

NimDoor persistence is notable for a novel signal-based mechanism on macOS. CoreKitAgent overrides SIGINT and SIGTERM so that termination attempts trigger redeployment of persistence artifacts, including the LaunchAgent, a copy of GoogIe LLC, and a copy of itself, with executable permissions set. Reporting describes this as a first-seen macOS persistence approach and notes the malware can effectively respawn when killed. CoreKitAgent also includes a 10-minute asynchronous sleep assessed as likely anti-VM or sandbox evasion.

CoreKitAgent decodes an embedded AppleScript, writes it to ~/.ses, and launches it via osascript. That AppleScript beacons every 30 seconds to hardcoded C2 domains including writeup[.]live and safeup[.]store, exfiltrates a process listing from the victim host, and executes server-supplied script content, functioning as both beacon and backdoor.

Overall, NimDoor is a targeted macOS backdoor and information stealer focused on cryptocurrency and Web3 victims, with capabilities including staged payload delivery, process injection, LaunchAgent persistence, signal-handler-based self-reinstallation, WebSocket C2, arbitrary command execution, and theft of browser, Keychain, shell history, and Telegram data.

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.

THREAT ACTORS

Groups observed using it

4 distinct threat actors attributed by public researchers. Open in Mallory to see the full evidence chain and overlapping campaigns.

View more details
DPRK threat actors

North Korea-linked threat actors are targeting Web3 and crypto firms with NimDoor, a rare macOS backdoor disguised as a fake Zoom update.

via securityaffairssecurityaffairs.com
north_korea_linked_threat_actors

North Korea-linked threat actors are targeting Web3 and crypto firms with NimDoor, a rare macOS backdoor disguised as a fake Zoom update.

via securityaffairssecurityaffairs.com
DPRK

Dubbed ‘NimDoor’, the attack chain begins when targets are lured via Telegram into accepting an invite to a business meeting. A malicious script is triggered by the meeting invite warning the victim that a “Zoom SDK update” is needed.

via sentinelone blogsentinelone.com
North Korean threat actors

The cybersecurity company is tracking the malware components collectively under the name NimDoor.

via the hacker newsthehackernews.com
MITRE ATT&CK

Techniques & procedures

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

Initial Access

2 techniques
T1566PhishingEvidence1

The attack chain begins with a now-familiar social engineering vector: impersonation of a trusted contact over Telegram and inviting the target to schedule a meeting via Calendly. The target is subsequently sent an email containing a Zoom meeting link and instructions to run a so-called “Zoom SDK update script”.

T1566.003Spearphishing via ServiceEvidence1

The attack begins with social engineering, where attackers impersonate trusted contacts on Telegram, inviting victims to schedule Zoom meetings via Calendly. Victims receive an email with a malicious AppleScript disguised as a “Zoom SDK update.”

Execution

4 techniques
T1059Command and Scripting InterpreterEvidence2

Available commands we were able to identify in trojan1_arm64 were as follows: execCmd 12 Execute the arbitrary command provided in the data field.

T1059.002AppleScriptEvidence3

The threat actors deploy AppleScripts widely, both to gain initial access and also later in the attack chain to function as lightweight beacons and backdoors.

T1059.004Unix ShellEvidence2

Bash scripts are used to exfiltrate Keychain credentials, browser data and Telegram user data.

T1204User ExecutionEvidence1

"instructions to run a Zoom SDK update script" / "prompting users to copy and paste an authentication code..." / "open the Windows Run dialog and run a PowerShell command"

Persistence

3 techniques
T1543.001Launch AgentEvidence1

When the LaunchAgent is activated by a user login or reboot, GoogIe LLC is launched, which in turn calls CoreKitAgent and the rest of the payload logic.

T1546Event Triggered ExecutionEvidence2

A novel persistence mechanism takes advantage of SIGINT/SIGTERM signal handlers to install persistence when the malware is terminated or the system rebooted... When triggered, CoreKitAgent catches these signals and writes the LaunchAgent for persistence, a copy of GoogIe LLC as the loader, and a copy of itself as the trojan.

T1547Boot or Logon Autostart ExecutionEvidence1

A novel persistence mechanism leverages SIGINT/SIGTERM signal handlers, reinstalling NimDoor if terminated or upon system reboot...

Privilege Escalation

4 techniques
T1055Process InjectionEvidence3

Target is spawned by InjectWithDyldArm64 in a suspended state... and injected with the trojan1_arm64 binary’s code. After injection, the suspended Target process is resumed via kill (pid, SIGCONT) and the code from the trojan1_arm64 binary is executed.

T1543.001Launch AgentEvidence1

When the LaunchAgent is activated by a user login or reboot, GoogIe LLC is launched, which in turn calls CoreKitAgent and the rest of the payload logic.

T1546Event Triggered ExecutionEvidence2

A novel persistence mechanism takes advantage of SIGINT/SIGTERM signal handlers to install persistence when the malware is terminated or the system rebooted... When triggered, CoreKitAgent catches these signals and writes the LaunchAgent for persistence, a copy of GoogIe LLC as the loader, and a copy of itself as the trojan.

T1547Boot or Logon Autostart ExecutionEvidence1

A novel persistence mechanism leverages SIGINT/SIGTERM signal handlers, reinstalling NimDoor if terminated or upon system reboot...

Stealth

4 techniques
T1036MasqueradingEvidence2

An attacker-controlled domain hosts an AppleScript file named zoom_sdk_support.scpt... This domain name format has been chosen for similarity to the legitimate Zoom meeting domain us05web.zoom[.]us... The misspelling of GoogIe LLC (uppercase ‘i’, not lowercase ‘L’) is intended to help the malware blend in and avoid suspicion.

T1055Process InjectionEvidence3

Target is spawned by InjectWithDyldArm64 in a suspended state... and injected with the trojan1_arm64 binary’s code. After injection, the suspended Target process is resumed via kill (pid, SIGCONT) and the code from the trojan1_arm64 binary is executed.

T1497.001System ChecksEvidence1

The state machine also contains a 10-minute sleep routine, likely as an anti-VM or sandbox countermeasure.

T1497.003Time Based ChecksEvidence1

The state machine also contains a 10-minute sleep routine, likely as an anti-VM or sandbox countermeasure.

Credential Access

2 techniques
T1555Credentials from Password StoresEvidence2

Bash scripts are used to exfiltrate Keychain credentials... The script also targets the following Keychain and shell files and directories: /Library/Keychains/System.keychain ~/Library/Keychains/login.keychain-db

T1555.003Credentials from Web BrowsersEvidence1

"capabilities to harvest credentials from web browsers like Arc, Brave, Google Chrome, Microsoft Edge, and Mozilla Firefox"

Discovery

5 techniques
T1057Process DiscoveryEvidence2

On execution, the script beacons out every 30 seconds to one of the two hardcoded C2s, chosen at random, and attempts to post data obtained from listing all running processes on the victim machine.

T1082System Information DiscoveryEvidence3

getSysInfo 234 Get information about the system such as boot time, username, macOS version, machine name, platform and arch.

T1083File and Directory DiscoveryEvidence1

The upl script is a credential-stealer designed to silently extract browser and system-level information... Browser data is copied to /private/var/tmp/uplex_<username>/<browser>/

T1497.001System ChecksEvidence1

The state machine also contains a 10-minute sleep routine, likely as an anti-VM or sandbox countermeasure.

T1497.003Time Based ChecksEvidence1

The state machine also contains a 10-minute sleep routine, likely as an anti-VM or sandbox countermeasure.

Collection

2 techniques
T1005Data from Local SystemEvidence2

Bash scripts exfiltrate Keychain credentials, browser data (Chrome, Firefox, Brave, Arc, Edge), and Telegram databases, targeting cryptocurrency wallets and sensitive information.

T1560Archive Collected DataEvidence2

The data is then compressed via ditto -ck and posted to the C2 using curl.

Command and Control

4 techniques
T1071Application Layer ProtocolEvidence1

"remote communications via wss, the TLS-encrypted version of the WebSocket protocol" | "AppleScript that beacons out every 30 seconds to one of two hard-coded command-and-control (C2) servers"

T1071.001Web ProtocolsEvidence2

After first negotiating an HTTP handshake, the injected code uses wss to communicate with the C2 – another uncommon technique for macOS malware – at wss://firstfromsep[.]online/client.

T1105Ingress Tool TransferEvidence2

The script ends with three lines of malicious code that retrieve and execute a second-stage script from a command-and-control server... The multi-staged infection process... resulted in the download of two Mach-O binaries— a and installer —into /private/var/tmp.

T1573Encrypted ChannelEvidence1

After first negotiating an HTTP handshake, the injected code uses wss to communicate with the C2... The malware uses multiple levels of RC4 encryption in combination with the base64 encoding and three different keys before the communication.

Exfiltration

1 technique
T1041Exfiltration Over C2 ChannelEvidence2

The data is then compressed via ditto -ck and posted to the C2 using curl... The Telegram data is exfiltrated to the same server used in the upl script.

INDICATORS OF COMPROMISE

IOCs tracked for this family

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

View more in app
Network
10 tracked

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

Hashes
22 tracked

File hashes (MD5, SHA-1, SHA-256) from samples and reports.

Other
2 tracked

Other indicator types observed in public reporting.

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

Recent activity

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

sentinelone blogNews
Jan 6, 2026
12 Months of Fighting Cybercrime & Defending Enterprises | The SentinelLABS 2025 Review

NimDoor is a Nim-based macOS backdoor targeting Web3 and cryptocurrency platforms, attributed to North Korean threat actors.

Read more
polyswarmNews
Jul 14, 2025
NimDoor MacOS Malware

NimDoor is a MacOS malware campaign attributed to North Korea-affiliated threat actors, likely Stardust Chollima. It targets Web3 and cryptocurrency organizations using social engineering (fake Zoom updates via Telegram), AppleScript, and Nim/C++ binaries. The malware steals Keychain credentials, browser data, and Telegram information, employs process injection, and maintains persistence through novel signal handlers. It communicates with C2 servers via encrypted WebSockets and is designed to evade detection and hinder analysis.

Read more
securityaffairsNews
Jul 5, 2025
North Korea-linked threat actors spread macOS NimDoor malware via fake Zoom updates

A rare macOS backdoor written largely in Nim (with AppleScript and C++ components) delivered via fake Zoom update lures. It uses encrypted configuration/communications (including TLS WebSocket/wss C2), performs data theft (e.g., browser history, Keychain credentials, Telegram data), employs persistence (signal-handler based redeployment/reinfection), and includes a relatively uncommon macOS process injection technique requiring specific entitlements.

Read more
vulnuNews
Jul 4, 2025
🎓️ Vulnerable U | #123 - Top Industry Cybersecurity News

A macOS backdoor and stealer malware, disguised as a Zoom update, that uses signal-based persistence to respawn itself when killed. It steals system data, targets Telegram databases, and crypto-related information.

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 matching34

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

Threat actor attribution4

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 mapping25

Every documented technique, ranked by evidence weight.

Researcher chatter

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