A cross-platform malware campaign that disguises itself as a legitimate Zoom installer to deploy Overlord, an open-source remote access trojan (RAT), on both macOS and Windows machines.
Documented by Jamf, unlike most macOS malware, which typically relies on Go or Rust for cross-platform reach, this campaign’s first-stage downloader, a macOS ARM64 Mach-O binary named ZoomMeetings, was built as a self-contained .NET 10 single-file application, with the runtime bundled inside.
Because .NET assemblies use the Portable Executable (PE) format even on macOS, researchers extracted 34 embedded DLLs from the binary, one of which was disguised with metadata mimicking a genuine Zoom installer (“Zoom Communications, Inc”).
Fake Zoom Installer Uses .NET Downloader
The sample, found on VirusTotal (SHA-256: 7a2318127cabf28552a8aeed14a8445c8f36fbda5e57d8b122cf6f1c6b51a52), went undetected by static antivirus engines.
Its code is heavily obfuscated, using randomized identifiers and a base64-plus-XOR (key 0x94) scheme to hide strings containing attacker infrastructure and payload URLs.

The downloader uses .NET’s RuntimeInformation APIs to detect OS and architecture, then fetches one of three payloads from cdn.zoom.com[.]kg, tailored for macOS ARM64, macOS Intel, or Windows x64. Each request includes a randomly generated 6-character token; requests lacking it return HTTP 401.
On execution, the malware drops the stage-2 payload to /tmp/ZoomMeetings, launches it via a backgrounded nohup process to survive parent termination, and simultaneously downloads the legitimate Zoom installer to maintain the ruse displaying “Zoom Meetings Installed” regardless of payload success.
The second stage is a Mach-O ARM64 binary built from Overlord, an open-source, WebSocket-based cross-platform RAT, compiled with garble obfuscation that defeated tools like GoReSym. This build hardcodes its C2 as hub.zoom.com[.]kg:5173 and disables TLS certificate validation (TLSInsecureSkipVerify: true).

Overlord’s capabilities include keylogging, screen and webcam capture, microphone access, full filesystem control, process management, multi-language script execution, a native/WASM plugin loader, self-update, remote desktop streaming, and an optional Solana blockchain-based C2 resolver, though this sample relies on a hardcoded address rather than on-chain resolution.
Persistence via LaunchAgent is gated by an OVERLORD_ENABLE_PERSISTENCE flag; it did not trigger in the primary sample but fired immediately in a second variant, which installed a LaunchAgent at ~/Library/LaunchAgents/com.zoom.plist.
Jamf Threat Labs noted overlaps with FlexibleFerret, a DPRK-attributed malware family tied to the Contagious Interview campaign, sharing the identical com.zoom LaunchAgent label.
Overlord has also previously surfaced in campaigns linked to UNK_DeadDrop, a cluster Proofpoint assesses as likely North Korean. Jamf has not formally attributed this specific campaign to any actor.
This campaign marks the first observed use of .NET as a macOS malware downloader, joining Go and Rust as cross-platform tooling choices for threat actors. Jamf recommends enabling threat prevention and web protection controls to block execution of similar payloads.
IOCs
| Type | Value | Description |
|---|---|---|
| Domain | cdn.zoom.com[.]kg | Stage 2 payload host; resolves to 18.204.152[.]241 |
| Domain | hub.zoom.com[.]kg | Agent C2, port 5173; resolves to 18.204.152[.]241 |
| Domain | dash.zoom.com[.]kg | Resolves to 18.204.152[.]241 |
| Domain | hub.zoom.com[.]lv | Agent C2; previously resolved to 179.61.227[.]46 |
| File Path | /tmp/ZoomMeetings | Stage 2 payload, written by downloader |
| File Path | ~/Library/Application Support/Overlord/com.zoom | Overlord variant, self-install path |
| File Path | ~/Library/LaunchAgents/com.zoom.plist | Overlord variant, LaunchAgent persistence |
| SHA-256 | 7a2318127cabf28552a8aeed14a8445c8f36fbda5e57d8b122cf6f1c6b51a522 | ZoomMeetings (.NET downloader, obfuscated build, macOS ARM64) |
| SHA-256 | d4cf150d6effeea315f136cdf448e32f4a8daac9e95f46def6a31ba18787dae3 | ZoomInstallerFull (.NET downloader/dropper, earlier build, macOS ARM64) |
| SHA-256 | b5f1a21dcd315676a4a9217a40ef830c159121528114c6436e671c2fa5455681 | a3d0b215f4541fbd0.dll (extracted payload DLL) |
| SHA-256 | 527f730d4ed6e9e23a971081f9e06691ac6e980bd06bb0b5f1091051d4631c5d | ZoomInstallerFull.dll (extracted payload DLL) |
| SHA-256 | 2c0bb97632bb9b90ee97be2ac350a557b08d84a7dad1f3ef63ffd83be1ab1f00 | ZoomMeetings (Overlord variant, macOS ARM64) |
| SHA-256 | 9d8948e64f75c203e28f90f5bd7678dde6bd351c7507eecdaaeab2fbe4ec43bb | ZoomMeetings (Overlord variant, macOS ARM64) |
| SHA-256 | 5334c468f0ffd5899a949ac3e0bc4665f80c658cb46e1a972df4e4ba0bb905f8 | ZoomMeetings (Overlord variant, macOS x64) |
| SHA-256 | 7878031f2bd907e7300133b3e8ce640f3cdcba56686eaca3539d4c22773bc233 | ZoomMeetings (Overlord variant, macOS ARM64) |
Note: IP addresses and domains are intentionally defanged (e.g., [.]) to prevent accidental resolution or hyperlinking. Re-fang only within controlled threat intelligence platforms such as MISP, VirusTotal, or your SIEM.
Detect, investigate, and respond faster with in-browser data inspection from ANY.RUN. Gain complete phishing visibility to strengthen your SOC and reduce MTTR

