EHA
Home Cyber Security News macOS Malware Leverages Process Injection and Remote Comms to Exfiltrate Keychain Credentials

macOS Malware Leverages Process Injection and Remote Comms to Exfiltrate Keychain Credentials

0

A newly observed campaign by North Korean (DPRK)-linked threat actors is raising alarms across the Web3 and cryptocurrency ecosystem, as multiple reports confirm the use of sophisticated, cross-platform malware targeting macOS environments. 

According to SentinelLABS and corroborated by researchers at Huntabil.IT and Huntress, the attackers are deploying a multi-stage infection chain that skillfully combines C++, Nim-compiled binaries, AppleScript, and Bash scripts, marking a significant evolution in the DPRK’s macOS attack arsenal.

DPRK-Linked Campaign Targets Web3

The campaign’s initial access vector reuses a well-worn social engineering tactic: impersonating trusted contacts via Telegram and business meeting platforms like Calendly. 

Victims are lured into running a rogue “Zoom SDK update script,” which is actually a heavily padded AppleScript file padded with up to 10,000 lines of whitespace to obscure malicious code. 

The AesTrans function is a wrapper of CCCrypt

The script, hosted on attacker-controlled domains mimicking Zoom infrastructure, fetches and executes a second-stage payload, eventually launching a complex series of infection routines.

Upon execution, two Mach-O binaries one C++ and one Nim are downloaded into temporary directories. 

The C++ binary, ad hoc signed as InjectWithDyldArm64, decrypts and injects a second-stage payload into a benign process, using POSIX process injection techniques and entitlements rarely seen in the macOS malware landscape. 

Once injected, the malicious code establishes encrypted remote communications over wss (WebSocket Secure) an unusual but effective channel for command and control, as it is hard to inspect and rarely monitored at the endpoint level.

Technical Progression

The malware’s modular design allows for extensive data exfiltration using Bash scripts that target browser caches, local Telegram data, and crucially, macOS Keychain files. 

Credential, chat, and history data are packaged and exfiltrated to attacker infrastructure using obfuscated curl uploads. 

Targeted browsers in the upl script

Meanwhile, initial AppleScripts serve as lightweight beacons and persistent backdoors, polling attacker servers for command execution.

Nim-compiled binaries named with deceptive intent, such as “GoogIe LLC” (capital ‘i’ instead of ‘l’) are used to establish persistence, notably deploying a novel technique that leverages SIGINT and SIGTERM signal handlers. 

When attempts are made to terminate the malware or reboot the system, these handlers reinstall persistence components, defeating basic defensive efforts.

According to the Report, The CoreKitAgent module, the campaign’s most advanced Nim binary, uses macOS’s kqueue mechanism and a state-machine-driven execution flow, making analysis and detection more challenging. 

It further complicates sandboxing attempts with asynchronous sleep routines and heavy string obfuscation.

Embedded AppleScripts decoded at runtime serve as both beaconing agents and further backdoors, communicating regularly with hardcoded C2 domains, and executing attacker-supplied scripts on demand.

The attack, referred to as “NimDoor,” stands out in the macOS threat landscape for its technical sophistication, cross-platform modularity, and persistent abuse of legitimate system components. 

As macOS malware authors increasingly adopt niche languages like Nim, defenders must rapidly adapt detection strategies to keep pace with adversary innovation.

Key Indicators of Compromise (IOC)

TypeIdentifier/ValueDescription
Domainsdataupload[.]storeUpl/tlgrm C2
firstfromsep[.]onlinenetchk C2
safeup[.]store / writeup[.]liveCoreKit C2
support[.]us05web-zoom[.]pro/.forum/.cloud/.onlineZoom/AppleScript C2 infrastructure
File Paths~/Library/Application Support/Google LLC/GoogIe LLCPayload location
~/Library/LaunchAgents/com.google.update.plistPersistence Plist
~/.sesEmbedded AppleScript location
~/Library/DnsService/a, ~/Library/DnsService/netchkBinaries
/private/tmp/.config, /private/tmp/cfgConfig files
Binaries (SHA-1)027d4020f2dd1eb473636bc112a84f0a90b6651c, 2c0177b302c4643c49dd7016530a4749298d964ctrojan1_arm64, CoreKitAgent
Scripts023a15ac687e2d2e187d03e9976a89ef5f6c1617, 4743d5202dbe565721d75f7fb1eca43266a652d4zoom_sdk_support.scpt, upl

Find this Story Interesting! Follow us on LinkedIn and X to Get More Instant updates

NO COMMENTS

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Exit mobile version