🔍 Contexte

Publié le 22 mai 2026 par Kazuki Fujisawa (Trend Micro), cet article documente l’évolution technique du malware InvisibleFerret utilisé par Void Dokkaebi (alias Famous Chollima), un groupe d’intrusion aligné avec la Corée du Nord.

🎯 Acteur et cibles

Void Dokkaebi cible systématiquement les développeurs de logiciels détenant des credentials de wallets cryptomonnaies, des clés de signature, et des accès aux pipelines CI/CD et infrastructures de production. Le vecteur initial historique repose sur de fausses offres d’emploi dans des entreprises crypto et IA, incitant les développeurs à cloner et exécuter des dépôts de code.

🛠️ Évolution technique d’InvisibleFerret

InvisibleFerret est désormais distribué sous forme de binaires compilés via Cython :

  • Windows : fichiers .pyd (modules d’extension Python en format DLL)
  • macOS : fichiers .so (bibliothèques partagées)

Les binaires Cython ne sont pas autonomes et nécessitent un script Python (.mod) pour être chargés. Ce script transmet en arguments sType, des adresses IP encodées et un port au module Cython.

Les capacités core restent inchangées :

  • Accès backdoor
  • Vol de credentials navigateurs
  • Surveillance du presse-papiers
  • Keylogging
  • Ciblage de wallets cryptomonnaies

📦 Modules InvisibleFerret (Cython)

Module Fonctionnalités principales
mod.pyd / mod.so Télécharge pad et brw, fonctions principales
pad.pyd / pad.so Backdoor (fonctions ssh_), collecte système/réseau, géolocalisation, keylogging (Windows), wallets
brw.pyd / brw.so Vol credentials navigateurs et cartes bancaires
mc.so Trojanisation extensions Chrome/Brave (MetaMask, Coinbase, Phantom), downgrade Chrome macOS

🔄 Évolution de BeaverTail

BeaverTail a évolué en un composant multi-étapes avec des fonctionnalités désormais similaires à InvisibleFerret. Nouvelles techniques d’obfuscation :

  • Shuffling de tableau + lookup Base64 via IIFE
  • Encodage Base64 avec suppression du premier octet (junk byte)
  • Chiffrement XOR avec clé 4 octets
  • Encodage IP split-and-swap

Nouveaux variants BeaverTail :

  • gjs : stealer + downloader (original)
  • njs : backdoor (fonctions ssh_)
  • zjs : vol wallets, seed phrases, clés privées
  • cjs : installation d’extensions de wallet trojanisées (MetaMask, Coinbase, Phantom)

🔐 Technique de downgrade Chrome (macOS)

Pour contourner la transition forcée vers Manifest V3 de Chrome, mc.so downgrade la version de Chrome sur macOS afin de maintenir la compatibilité avec Manifest V2, nécessaire pour la trojanisation des extensions wallet. Brave Browser est également ciblé.

🧩 Artefacts forensiques récupérables

Malgré la compilation Cython, des artefacts restent exploitables :

  • Chemins de build macOS : /Users/administrator/Pictures/Work/py_module_work/...
  • Tables de chaînes Zlib-compressées dans les sections binaires
  • Adresses IP encodées XOR (ex: 91d840f599206f1345.59.160.199)
  • La logique de désobfuscation (lambda + Base64 inversé + Zlib) reste identique aux versions précédentes

📋 Type d’article

Analyse technique approfondie publiée par Trend Micro, visant à documenter l’évolution des TTPs de Void Dokkaebi et fournir des règles de détection et IoCs exploitables pour les défenseurs.

🧠 TTPs et IOCs détectés

Acteurs de menace

TTP

  • T1059 — Command and Scripting Interpreter (Execution)
  • T1027 — Obfuscated Files or Information (Defense Evasion)
  • T1562.001 — Disable or Modify Tools (Defense Evasion)
  • T1070.004 — Indicator Removal: File Deletion (Defense Evasion)
  • T1547.001 — Boot or Logon AutoStart Execution: Registry Run Key / Startup Folder (Persistence)
  • T1053.005 — Scheduled Task/Job: Scheduled Task (Persistence)
  • T1082 — System Information Discovery (Discovery)
  • T1083 — File and Directory Discovery (Discovery)
  • T1518 — Software Discovery (Discovery)
  • T1057 — Process Discovery (Discovery)
  • T1555.003 — Credentials from Password Stores: Credentials from Web Browser (Credential Access)
  • T1056.001 — Input Capture: Keylogging (Collection)
  • T1115 — Clipboard Data (Collection)
  • T1071.001 — Application Layer Protocol: Web Protocols (Command and Control)
  • T1071.002 — Application Layer Protocol: File Transfer Protocols (Command and Control)
  • T1219.002 — Remote Access Software: Remote Desktop Software (Command and Control)
  • T1102.001 — Web Service: Dead Drop Resolver (Command and Control)
  • T1571 — Non-Standard Port (Command and Control)
  • T1048 — Exfiltration Over Alternative Protocol (Exfiltration)
  • T1041 — Exfiltration Over C&C Channel (Exfiltration)

IOC

  • IPv4 : 45.59.160.199AbuseIPDB · VT · ThreatFox
  • Domaines : ip-api.comVT · URLhaus · ThreatFox
  • Fichiers : mod.pyd
  • Fichiers : mod.so
  • Fichiers : pad.pyd
  • Fichiers : pad.so
  • Fichiers : brw.pyd
  • Fichiers : brw.so
  • Fichiers : mc.so
  • Chemins : \.vscode\mod.pyd
  • Chemins : /.vscode/mod.so
  • Chemins : \.vscode\pad.pyd
  • Chemins : \.vscode\brw.pyd
  • Chemins : /.vscode/pad.so
  • Chemins : /.vscode/brw.so
  • Chemins : /.vscode/mc.so
  • Chemins : \.vscode\.mod
  • Chemins : \.vscode\pad0
  • Chemins : \.vscode\brw0
  • Chemins : /.vscode/.mod
  • Chemins : /.vscode/pad0
  • Chemins : /.vscode/brw0
  • Chemins : /.vscode/mc0
  • Chemins : /Users/administrator/Pictures/Work/py_module_work/build/temp.macosx-10.13-universal2-cpython-312/mod.o
  • Chemins : /Users/administrator/Pictures/Work/py_module_work/build/temp.macosx-10.13-universal2-cpython-312/pad.o
  • Chemins : /Users/administrator/Pictures/Work/py_module_work/build/temp.macosx-10.13-universal2-cpython-312/brw.o
  • Chemins : /Users/administrator/Pictures/Work/py_module_work/build/temp.macosx-10.13-universal2-cpython-312/mc.o

Malware / Outils

  • InvisibleFerret (stealer)
  • BeaverTail (loader)
  • AnyDesk (tool)

🟢 Indice de vérification factuelle : 83/100 (haute)

  • ✅ trendmicro.com — source reconnue (liste interne) (20pts)
  • ✅ 25771 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 27 IOCs (IPs/domaines/CVEs) (10pts)
  • ✅ 1/2 IOC(s) confirmé(s) (AbuseIPDB, ThreatFox, URLhaus, VirusTotal) (8pts)
  • ✅ 20 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ✅ acteur(s) identifié(s) : Void Dokkaebi (5pts)
  • ⬜ pas de CVE à vérifier (0pts)

IOCs confirmés externellement :

  • 45.59.160.199 (ip) → VT (8/91 détections)

🔗 Source originale : https://www.trendmicro.com/en_us/research/26/e/analyzing-void-dokkaebi-invisibleferret-malware.html