Void Dokkaebi Uses Cython-Compiled InvisibleFerret to Evade Script-Based Detection

· Original article ↗

Summary

Void Dokkaebi has shifted InvisibleFerret to Cython-compiled Windows and macOS modules, complicating script-based detection. The malware retains credential- and wallet-stealing capabilities, while binary artifacts and runtime scripts can aid analysis.

Key points

  • InvisibleFerret is now distributed as .pyd modules on Windows and .so modules on macOS, loaded through Python execution scripts.
  • The Cython compilation makes the malware harder to detect with rules focused on readable Python scripts; runtime scripts may also supply C2 details absent from binaries.
  • InvisibleFerret retains backdoor, browser credential theft, clipboard monitoring, keylogging, and cryptocurrency wallet-targeting capabilities.
  • BeaverTail has expanded into multiple variants with overlapping backdoor, information-stealing, downloader, and trojanized wallet-extension functions.
  • The macOS wallet module downgrades Chrome to support Manifest V2 extensions and targets MetaMask, Coinbase Wallet, and Phantom.
  • Analysts can recover clues from binaries, including programming artifacts, build paths, compressed strings, and embedded payloads; the underlying deobfuscation logic resembles earlier versions.
  • Trend Micro assesses that the Cython migration is still incomplete and provides hunting queries and indicators to help defenders identify the malware.

Article Details

Attack Vectors
  • The initial attack vector in this campaign is unconfirmed. Historically, Void Dokkaebi has posed as recruiters and lured software developers into cloning and executing code repositories during fabricated job interviews.
  • BeaverTail (gjs) downloads Cython-compiled InvisibleFerret modules and launches them through generated Python execution scripts.
  • BeaverTail (cjs) installs trojanized cryptocurrency wallet browser extensions; the macOS variant downgrades Chrome to support extensions that rely on Manifest V2.
Defensive Notes
  • Use binary-aware detection for Cython-compiled .pyd and .so modules rather than relying only on Python-script detection.
  • Analyze the accompanying Python execution script when investigating C2 destinations, since runtime arguments can override IP addresses and ports embedded in the binary.
  • Inspect compiled binaries for recoverable programming artifacts, build paths, and compressed string tables.
  • Hunt for the article’s listed module and execution-script file paths in the supplied TrendAI Vision One XDR queries.

Indicators of compromise

TypeIndicatorContext
IPV445[.]59[.]160[.]199C2 IP address recovered from the XOR-encoded string table in an InvisibleFerret binary.

MITRE ATT&CK

People

Threat Actors

Malware

Products

Tools

Countries

Industries

Related Articles