MacOS Fake Dynamic Island

Youtube ads malware targeted MacOS in 2026.

I recently found a malicious YouTube ad while trying to search for an interesting video during my lunch break. Then I found some highly sophisticated macOS malware campaign distributed via malicious DMG files.

Initial Infection Vector

Delivery Method

The malware is delivered as a .dmg file distributed through the link in the youtube description, dynamichub[.]app .

Initial Execution

When we opens the DMG and runs the installer, the first-stage loader executes:

This simple command initiates a complex multi-stage attack chain.

Attack Flow

Stages

Stage 1: Initial Loader Script

File: yKfbGmNuw10mYJP0Tm8NuP95R1l5KTpNTuJylr70QQLYur10ePs9ZwLEqQrXrAS8ZU2.aspx

Key Function:

  1. Executing Throttling:

It prevents re-executions within 15 minutes and uses an anti-analysis technique to limit sandbox detonations and reduce detection by preventing rapid, repeated executions. Therefore, the action will take longer, but it will be silent.

  1. Machine/Victim Identification

It generates a unique work ID for tracking this specific infection. It allows attackers to correlate data from multiple payloads and is used throughout the infection chain for victim tracking.

  1. Parallel Payload Deployment

Three payloads run at the same time in the background. Everything is sent to /dev/null to hide it, and nohup makes sure it keeps going even after the main process is done.

Stage 2A: Credentials Theft Chain

  1. Phising Dialog

File: zJgrwl7UBf8kbWkfdeiWUSb7QAfI7KoDXO3c8d23Iv4J0sosBPFJHR1sgfBUr5V84IQlGt1wO5zwe.aspx (Javascript for Automation)

The attack technique is creates a convincing fake authentication dialog using macOS native APIs:

It works because use legitimate macOS displayDialog API. Hide the password prompted use dots, and the user conditioned to enter the password when prompted.

Then it will loop use credential validations:

It will validate the inputted password, if its correct, then it will stores as valid and exits. And if its incorrect, it will stores in invalid array, and shows error: "Incorrect password. Please try again:" . All the attempt is collected then it will send with this format:

  1. Credential Exfiltration

File: nbnusGNdcwdxTqpbKfR5HbMugXy970s92wbaJOmIL6X7hNNyVv5SEIMoaxFvoe4t6FVl2fdmg.aspx

Exfiltration Endpoint: https://fixyourallergywithus[.]com/api/credentials

It has advanced anti-analysis features:

  • Proof of Work (PoW)

The server sends the client a challenge string and a difficulty level (number of leading zeros). The client must brute-force a nonce such that:

This is the same idea as Bitcoin mining, just scaled down. For a human or a single infected host, this cost is acceptable. For sandboxes, emulators, or large-scale automated crawlers, it’s painful. Every analysis run now burns CPU time, which dramatically slows bulk malware triage and forces analysts to either patch the logic or wait.

  • Exponential backoff with jitter

Once the client successfully completes the proof-of-work, the server issues a token. That token is then used for subsequent requests so the expensive challenge doesn’t need to be repeated every time. This keeps normal operation efficient while still preventing replay attacks, unauthorized submissions, or analysts trying to fake valid traffic without completing the full protocol.

Put together, this forms a stateful, adaptive handshake that is cheap for real clients but costly and inconvenient for analysts.

Stage 2B: Data Stealer

File: d50hjd3zlshdWpwHAGatYYWHUsTzmG5onTKAw16KK5NTbl1jvggVFgrUwXBMKRm2FdBiFpys39.aspx Exfiltration Endpoint: https://fixyourallergywithus[.]com/api/log

This is the primary data theft module with comprehensive targeting.

chevron-rightCryptocurrency Wallethashtag

It steals 17++ wallet applications hardcoded in the malware:

Wallet Type
Target Path
Data Stolen

Electrum

~/.electrum/wallets

Bitcoin wallet files

Electrum-LTC

~/.electrum-ltc/wallets

Litecoin wallets

Electron Cash

~/.electron-cash/wallets

Bitcoin Cash wallets

Exodus

~/Library/Application Support/Exodus

Multi-currency wallet

Ledger Live

~/Library/Application Support/Ledger Live

Hardware wallet interface

Trezor Suite

~/Library/Application Support/@trezor/suite-desktop

Hardware wallet config

Atomic Wallet

~/Library/Application Support/atomic/Local Storage/leveldb

Multi-currency wallet

Coinomi

~/Library/Application Support/Coinomi/wallets

Multi-currency mobile wallet

Guarda

~/Library/Application Support/Guarda

Multi-currency wallet

Binance

~/Library/Application Support/Binance/app-store.json

Exchange wallet config

Wasabi Wallet

~/.walletwasabi/client/Wallets

Privacy-focused Bitcoin

Bitcoin Core

~/Library/Application Support/Bitcoin/wallets

Bitcoin wallet.dat files

Dogecoin Core

~/Library/Application Support/Dogecoin/wallets

Dogecoin wallets

Litecoin Core

~/Library/Application Support/Litecoin/wallets

Litecoin wallets

DashCore

~/Library/Application Support/DashCore/wallets

Dash cryptocurrency

Monero

~/Monero/wallets

Privacy coin wallets

Tonkeeper

~/Library/Application Support/@tonkeeper/desktop/config.json

TON blockchain wallet

chevron-rightBrowser Data Exfiltrationhashtag

It targets both Chromium-based like Chrome, Brave, Edge, Opera, Vivaldi, and Firefox browsers. Extracting:

Chromium Browsers (Chrome, Brave, Edge, Opera, Vivaldi):

  • Login Data - Saved passwords

  • Cookies - Session tokens, authentication cookies

  • History - Browsing history

  • Web Data - Autofill data (addresses, credit cards)

  • Bookmarks - Saved bookmarks

  • Local Extension Settings - Browser extension data (including MetaMask, Phantom, etc.)

Firefox Browsers:

  • logins.json - Saved passwords

  • key4.db - Encryption key for password database

  • cookies.sqlite - Cookie database

  • places.sqlite - Bookmarks and history

  • formhistory.sqlite - Form autofill data

  • prefs.js - Browser preferences

  • extensions.json - Installed extensions list

  • moz-extension+++* directories - Extension local storage

chevron-rightMacOS Keychain Thefthashtag

Target: ~/Library/Keychains/login.keychain-db

It extract all saved password from Safari and macOS. Like wifi password, Email account password, Application password, etc.

Collection Process

  1. Temporary Directory Creation:

  1. Recursive File Copying:

  • Uses macOS NSFileManager APIs

  • Preserves directory structure

  • Handles permission errors gracefully

  1. Archive Creation:

  • Creates compressed ZIP archive

  • Quiet mode (no output)

  • Preserves symlinks (-y flag)

  1. Exfiltration:

  1. Evidence Destruction:

Stage 2C: Document and Notes Stealer

File: JtSrMgngIzUyMyBbvAOE5izvGIbbkgxCGsJw8ptyXzGqh3Y6kF7n3feSJfoDTFF1ziMU0dX.aspx Exfiltration Endpoint: https://fixyourallergywithus[.]com/api/grabber

Extracting Apple Notes

File System Document Harvesting

It targeted at ~/Documents, ~/Downloads, and ~/Desktop with filtering it for file under 100KB only. I assume that because file below that size typically include:

  • .txt files with passwords/seeds

  • .key private key files

  • .pem certificates

  • .json configuration files with API keys

  • .env environment variable files

  • Small PDFs with seed phrases

  • Code snippets with credentials

  • SSH private keys

  • GPG keys

  • Wallet backup files

Permission Bypass Attempt

The malware attempts to run:

This command wipes all TCC permissions on the system, including Full Disk Access, Files and Folders access, screen recording, microphone, and camera permissions. If it were to succeed, macOS would forget which apps were previously restricted, potentially allowing the malware to re-request access or operate before protections are re-established.

Stage 2D: Pesistence

File: jKY8I8tI9kkB7gurNIqpVbs7TqddHmXN7fTgD5lyP4eYKh372WMKeQtQtehpBRzrAfOGUak.aspx Downloaded Backdoor: NRtjmyszAQorbqwFH4MD7EcZAT0fUOjDMv2GKh6QEytpN4xxNEYGPeTyUnXcIdRIzUjGyuArvBNadbE.aspx

Process

  1. Hardware-based Naming

The malware fingerprints the machine by extracting the macOS Hardware UUID and hashing it with MD5. This produces a deterministic but opaque identifier unique to that device. That hash is reused everywhere: directory name, script filename, LaunchAgent label. This makes the infection host-specific, avoids hardcoded filenames, and breaks simple IOC-based detection since no two victims look the same on disk.

  1. Hidden Directory Creation

Combined with the hash-based name, the directory blends in as something that looks like an internal app identifier rather than malware. Nothing stands out unless you already know what to look for.

  1. Backdoor Download

It’s marked executable and staged quietly, with no user interaction. At this point, the system is already compromised, but persistence hasn’t kicked in yet.

  1. LaunchAgent Persistence

Creates LaunchAgent with the following configuration:

Persistence is achieved via a per-user LaunchAgent, not a system daemon, meaning no root access is required. The plist is again named with the HWID hash and configured to execute the backdoor using osascript with JavaScript (JXA). RunAtLoad ensures execution at login, KeepAlive respawns the process if killed, and ThrottleInterval prevents excessive restart loops that might draw attention. All stdout and stderr are redirected to /dev/null, eliminating local execution artifacts.

  1. LaunchAgent Activation

Backdoor Functionality

  1. C2 Polling Loop

  1. Remote Code Execution

The backdoor supports three execution types:

  • Bash Script

  • Apple Script

  • Javascript for Automation (JXA)

Task Execution Flow

  1. Backdoor polls C2 server

  2. Server responds with task: {"url": "[payload_url]", "type": "bash", "id": 12345}

  3. Backdoor downloads payload from URL

  4. Executes payload with appropriate interpreter

  5. Confirms successful execution to C2

  6. Continues polling for next task

MITRE ATT&CK Mapping

Some MITRE ATT&CK techniques associated with this malware include:

ID
Technique
Implementation

T1566.001

Phishing: Spearphishing Attachment

Malicious DMG file distribution

T1204.002

User Execution: Malicious File

Victim opens DMG and runs installer

T1059.004

Command and Scripting: Unix Shell

Bash scripts for initial execution

T1059.002

Command and Scripting: AppleScript

osascript for payload execution

T1140

Deobfuscate/Decode Files

JavaScript obfuscation with runtime deobfuscation

T1082

System Information Discovery

Hardware UUID fingerprinting

T1033

System Owner/User Discovery

whoami command execution

T1124

System Time Discovery

Timestamp generation for execution throttle

T1005

Data from Local System

Cryptocurrency wallets, browser data

T1555.001

Credentials from Password Stores: Keychain

macOS Keychain theft

T1555.003

Credentials from Password Stores: Credentials from Web Browsers

Browser password databases

T1539

Steal Web Session Cookies

Browser cookie theft

T1056.002

Input Capture: GUI Input Capture

Fake authentication dialog

T1552.001

Unsecured Credentials: Credentials In Files

Searching for seed phrases in documents

T1119

Automated Collection

Scripted collection of wallets/browsers

T1560.001

Archive Collected Data: Archive via Utility

ZIP compression of stolen data

T1041

Exfiltration Over C2 Channel

HTTPS POST to C2 server

T1071.001

Application Layer Protocol: Web Protocols

HTTPS for C2 communication

T1573.002

Encrypted Channel: Asymmetric Cryptography

HTTPS encryption

T1543.001

Create or Modify System Process: Launch Agent

LaunchAgent persistence

T1547.011

Boot or Logon Autostart: Plist Modification

LaunchAgent plist creation

T1070.004

Indicator Removal: File Deletion

Deletes temp files after exfiltration

T1070.006

Indicator Removal: Timestomp

Potential timestamp manipulation

T1027.002

Obfuscated Files or Information: Software Packing

JavaScript obfuscation

T1497.001

Virtualization/Sandbox Evasion: System Checks

Proof-of-work anti-sandbox

T1497.003

Virtualization/Sandbox Evasion: Time Based Evasion

Execution throttling + exponential backoff

T1102

Web Service: Legitimate Service for C2

Cloudflare Pages abuse

T1219

Remote Access Software

Persistent backdoor for remote control

T1105

Ingress Tool Transfer

Downloads additional payloads via curl

Conclusion

This macOS infostealer represents a significant evolution in macOS malware sophistication. Key takeaways:

Technical Highlights

  1. Multi-stage architecture enables modular, flexible operations

  2. Native API abuse makes detection extremely difficult

  3. Comprehensive data theft targets 17+ cryptocurrency wallets, browsers, and system credentials

  4. Persistent backdoor provides long-term access with full RCE capabilities

  5. Advanced evasion including proof-of-work, throttling, and obfuscation

Indicators of Compromise (IoCs)

Network Indicators

Domains:

URL Patterns:

File System Indicators

Malware Artifacts:

Hash Files:

Last updated