🔍 Contexte

Le 16 avril 2026, la Microsoft Defender Security Research Team publie une analyse technique détaillée d’une campagne macOS attribuée à Sapphire Sleet, un acteur étatique nord-coréen actif depuis au moins mars 2020, ciblant principalement le secteur financier, les cryptomonnaies, le capital-risque et les plateformes blockchain.

🎯 Vecteur d’accès initial

L’attaque repose sur de l’ingénierie sociale et non sur des vulnérabilités logicielles. L’acteur crée de faux profils de recruteurs sur les réseaux sociaux et professionnels, engage les cibles dans des conversations sur des opportunités d’emploi, puis les dirige vers le téléchargement d’un fichier malveillant nommé Zoom SDK Update.scpt — un AppleScript compilé s’ouvrant dans Script Editor, application Apple de confiance.

Le fichier contient un bloc de commentaires leurre imitant des instructions de mise à jour légitimes, suivi de milliers de lignes vides pour dissimuler le code malveillant, puis exécute une chaîne curl-to-osascript pour télécharger et exécuter des payloads supplémentaires.

⚙️ Chaîne d’exécution en cascade

Cinq agents utilisateur distincts (mac-cur1 à mac-cur5) orchestrent des étapes parallèles :

  • mac-cur1 : Orchestrateur principal, déploie com.apple.cli (monitoring) et le backdoor services
  • mac-cur2 : Déploie le harvester de credentials systemupdate.app
  • mac-cur3 : Bypass TCC + collecte et exfiltration de données
  • mac-cur4 : Télécharge l’archive ZIP de systemupdate.app
  • mac-cur5 : Télécharge softwareupdate.app (leurre de fin d’installation)

🔐 Vol de credentials

systemupdate.app affiche une fausse boîte de dialogue macOS native demandant le mot de passe système. Après saisie, le mot de passe est validé via dscl -authonly puis exfiltré via l’API Telegram Bot (port 443). softwareupdate.app affiche ensuite un faux message de succès pour clore la boucle d’ingénierie sociale.

🛡️ Contournement des protections macOS

Sapphire Sleet contourne TCC (Transparency, Consent, and Control), Gatekeeper, la quarantaine et la notarisation en exploitant l’exécution initiée par l’utilisateur. Le bypass TCC est réalisé en :

  1. Demandant à Finder (qui possède Full Disk Access) de renommer le dossier com.apple.TCC
  2. Copiant TCC.db vers un emplacement de staging
  3. Injectant via sqlite3 une entrée autorisant osascript à envoyer des AppleEvents à Finder
  4. Remettant la base de données modifiée en place

🔄 Persistance et backdoors

Trois backdoors sont déployés :

  • services : Backdoor principal avec shell zsh interactif, installe un LaunchDaemon
  • icloudz : Copie de services, utilise NSCreateObjectFileImageFromMemory pour le chargement réflexif en mémoire
  • com.google.chromes.updaters (~7,2 MB) : Backdoor final, beacon toutes les 60 secondes vers check02id[.]com:5202

La persistance est assurée via le LaunchDaemon com.google.webkit.service.plist installé dans /Library/LaunchDaemons/.

📤 Exfiltration de données (9 catégories)

# Catégorie Archive Port
1 Session Telegram tapp_<user>.zip 8443
2 Données navigateur + Keychain ext_<user>.zip 8443
3 Wallet Ledger ldg_<user>.zip 8443
4 Wallet Exodus exds_<user>.zip 8443
5 SSH + historique shell hs_<user>.zip 8443
6 Apple Notes nt_<user>.zip 8443
7 Logs système lg_<user> 8443
8 Log de reconnaissance flog 8443
9 Credentials Message Telegram 443

Les extensions de wallets ciblées incluent : Sui, Phantom, TronLink, Coinbase, OKX, Solflare, Rabby, Backpack, et Bitwarden.

📋 Type d’article

Il s’agit d’une analyse technique publiée par Microsoft Threat Intelligence, dont le but principal est de documenter en détail la chaîne d’attaque de Sapphire Sleet sur macOS, fournir des IOCs, des requêtes de chasse et des détections Defender pour permettre aux défenseurs d’identifier et bloquer cette activité.

🧠 TTPs et IOCs détectés

Acteurs de menace

TTP

  • T1566 — Phishing (Initial Access)
  • T1204.002 — User Execution: Malicious File (Execution)
  • T1059.002 — Command and Scripting Interpreter: AppleScript (Execution)
  • T1105 — Ingress Tool Transfer (Command and Control)
  • T1056.002 — Input Capture: GUI Input Capture (Credential Access)
  • T1555.001 — Credentials from Password Stores: Keychain (Credential Access)
  • T1543.004 — Create or Modify System Process: Launch Daemon (Persistence)
  • T1547.011 — Boot or Logon Autostart Execution: Plist Modification (Persistence)
  • T1562.006 — Impair Defenses: Indicator Blocking (Defense Evasion)
  • T1036.005 — Masquerading: Match Legitimate Name or Location (Defense Evasion)
  • T1620 — Reflective Code Loading (Defense Evasion)
  • T1553 — Subvert Trust Controls (Defense Evasion)
  • T1082 — System Information Discovery (Discovery)
  • T1057 — Process Discovery (Discovery)
  • T1083 — File and Directory Discovery (Discovery)
  • T1005 — Data from Local System (Collection)
  • T1560.001 — Archive Collected Data: Archive via Utility (Collection)
  • T1041 — Exfiltration Over C2 Channel (Exfiltration)
  • T1567 — Exfiltration Over Web Service (Exfiltration)
  • T1071.001 — Application Layer Protocol: Web Protocols (Command and Control)
  • T1132 — Data Encoding (Command and Control)
  • T1078 — Valid Accounts (Defense Evasion)
  • T1539 — Steal Web Session Cookie (Credential Access)
  • T1552.004 — Unsecured Credentials: Private Keys (Credential Access)

IOC

  • IPv4 : 188.227.196.252AbuseIPDB · VT · ThreatFox
  • IPv4 : 83.136.208.246AbuseIPDB · VT · ThreatFox
  • IPv4 : 83.136.209.22AbuseIPDB · VT · ThreatFox
  • IPv4 : 83.136.208.48AbuseIPDB · VT · ThreatFox
  • IPv4 : 83.136.210.180AbuseIPDB · VT · ThreatFox
  • IPv4 : 104.145.210.107AbuseIPDB · VT · ThreatFox
  • Domaines : uw04webzoom.usVT · URLhaus · ThreatFox
  • Domaines : uw05webzoom.usVT · URLhaus · ThreatFox
  • Domaines : uw03webzoom.usVT · URLhaus · ThreatFox
  • Domaines : ur01webzoom.usVT · URLhaus · ThreatFox
  • Domaines : uv01webzoom.usVT · URLhaus · ThreatFox
  • Domaines : uv03webzoom.usVT · URLhaus · ThreatFox
  • Domaines : uv04webzoom.usVT · URLhaus · ThreatFox
  • Domaines : ux06webzoom.usVT · URLhaus · ThreatFox
  • Domaines : check02id.comVT · URLhaus · ThreatFox
  • SHA256 : 2075fd1a1362d188290910a8c55cf30c11ed5955c04af410c481410f538da419VT · MalwareBazaar
  • SHA256 : 05e1761b535537287e7b72d103a29c4453742725600f59a34a4831eafc0b8e53VT · MalwareBazaar
  • SHA256 : 5fbbca2d72840feb86b6ef8a1abb4fe2f225d84228a714391673be2719c73ac7VT · MalwareBazaar
  • SHA256 : 5e581f22f56883ee13358f73fabab00fcf9313a053210eb12ac18e66098346e5VT · MalwareBazaar
  • SHA256 : 95e893e7cdde19d7d16ff5a5074d0b369abd31c1a30962656133caa8153e8d63VT · MalwareBazaar
  • SHA256 : 8fd5b8db10458ace7e4ed335eb0c66527e1928ad87a3c688595804f72b205e8cVT · MalwareBazaar
  • SHA256 : a05400000843fbad6b28d2b76fc201c3d415a72d88d8dc548fafd8bae073c640VT · MalwareBazaar
  • Fichiers : Zoom SDK Update.scpt
  • Fichiers : com.apple.cli
  • Fichiers : services
  • Fichiers : icloudz
  • Fichiers : com.google.chromes.updaters
  • Fichiers : com.google.webkit.service.plist
  • Fichiers : systemupdate.app
  • Fichiers : softwareupdate.app
  • Fichiers : .zoom.log
  • Fichiers : auth.db
  • Chemins : /Users/<user>/Downloads/Zoom SDK Update.scpt
  • Chemins : /Users/<user>/com.apple.cli
  • Chemins : /Users/<user>/Library/Services/services
  • Chemins : ~/Library/Application Support/iCloud/icloudz
  • Chemins : ~/Library/Google/com.google.chromes.updaters
  • Chemins : /Library/LaunchDaemons/com.google.webkit.service.plist
  • Chemins : /private/tmp/SystemUpdate/systemupdate.app/Contents/MacOS/Mac Password Popup
  • Chemins : /private/tmp/SoftwareUpdate/softwareupdate.app/Contents/MacOS/Mac Password Popup
  • Chemins : ~/Library/Application Support/com.apple.TCC/TCC.db
  • Chemins : ~/Library/Application Support/Authorization/auth.db
  • Chemins : /tmp/lg4err

Malware / Outils

  • Zoom SDK Update.scpt (loader)
  • com.apple.cli (tool)
  • services (backdoor)
  • icloudz (backdoor)
  • com.google.chromes.updaters (backdoor)
  • systemupdate.app (stealer)
  • softwareupdate.app (other)

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

  • ✅ microsoft.com — source reconnue (liste interne) (20pts)
  • ✅ 45986 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 43 IOCs dont des hashes (15pts)
  • ✅ 7/9 IOCs confirmés (AbuseIPDB, MalwareBazaar, ThreatFox, URLhaus, VirusTotal) (15pts)
  • ✅ 24 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ✅ acteur(s) identifié(s) : Sapphire Sleet (5pts)
  • ⬜ pas de CVE à vérifier (0pts)

IOCs confirmés externellement :

  • 188.227.196.252 (ip) → VT (3/94 détections)
  • 83.136.209.22 (ip) → VT (3/94 détections)
  • 05e1761b53553728… (sha256) → VT (27/77 détections)
  • 5fbbca2d72840feb… (sha256) → VT (27/77 détections)
  • uw04webzoom.us (domain) → VT (12/94 détections)

🔗 Source originale : https://www.microsoft.com/en-us/security/blog/2026/04/16/dissecting-sapphire-sleets-macos-intrusion-from-lure-to-compromise/