🔍 Contexte

Publié le 21 avril 2026 par Cisco Talos Intelligence, cet article de recherche documente des techniques Living-Off-The-Land (LOTL) natives à macOS, comblant un manque documentaire significatif par rapport aux équivalents Windows. Il s’adresse aux défenseurs et chercheurs en sécurité opérant dans des environnements macOS d’entreprise.

🎯 Surface d’attaque ciblée

macOS représente désormais plus de 45 % des postes en entreprise, notamment chez les développeurs, ingénieurs DevOps et administrateurs systèmes. Ces machines constituent des points de pivot critiques vers des dépôts de code source, des credentials cloud et des clés SSH de production.

⚙️ Techniques d’exécution à distance

  • Remote Application Scripting (RAS / eppc://) : utilisé comme outil de déploiement logiciel (T1072) via Terminal.app comme proxy d’exécution avec encodage Base64 en deux étapes (déploiement + invocation)
  • Contournement de l’erreur -10016 : en ciblant Terminal.app plutôt que System Events pour exécuter des commandes shell distantes
  • osascript via SSH : accès à l’automatisation GUI et manipulation Finder via Apple Events IPC, créant un angle mort dans la télémétrie
  • socat : établissement d’un shell interactif avec allocation PTY, opérant entièrement hors de l’écosystème SSH (pas de logs sshd, pas d’événements PAM)

📦 Staging furtif via métadonnées Spotlight

  • Abus du champ Finder Comment (kMDItemFinderComment) : stockage de payloads Base64 dans les métadonnées Spotlight (attributs étendus), invisible aux scanners de fichiers statiques et aux EDR standards
  • Extraction et exécution : mdls lit le commentaire, base64 -D décode, le résultat est pipé vers bash
  • Persistance via LaunchAgent : plist dans ~/Library/LaunchAgents appelant osascript pour lire le commentaire Finder au login — le plist ne contient aucun payload, rendant l’analyse statique inefficace

🔄 Transfert latéral d’outils (T1570)

Plusieurs protocoles natifs validés pour le transfert de fichiers :

Protocole Méthode
SCP/SFTP Via Remote Login SSH
SMB Montage de partages via osascript (contourne la dépendance GUI)
Netcat (nc) Listener pipé vers sh, transfert de fichiers ad hoc
Git git push avec receive.denyCurrentBranch updateInstead
TFTP Activation du serveur natif via launchd (port UDP 69), variante sans root sur port non standard
SNMP traps Encodage Base64, découpage en chunks, transmission via OID personnalisé 1.3.6.1.4.1.99999, réassemblage sur cible
socat heredoc Injection de fichiers via session bash interactive

🛡️ Indicateurs de détection

  • Trafic TCP entrant sur port 3031 (eppc)
  • Trafic SNMP/TFTP inhabituel sur LAN interne
  • Arbres de processus : launchd → AppleEventsD → Terminal → sh/bash
  • Appels fréquents à mdls ou écritures vers com.apple.metadata:kMDItemFinderComment
  • Commandes base64 --decode issues d’applications GUI
  • Arguments osascript contenant of machine "eppc://..."

📋 Type d’article

Il s’agit d’une publication de recherche technique de Talos Intelligence visant à documenter et cartographier les techniques LOTL natives macOS, à enrichir le framework MITRE ATT&CK pour cette plateforme, et à fournir des signatures de détection exploitables.

🧠 TTPs et IOCs détectés

TTP

  • T1072 — Software Deployment Tools (Execution)
  • T1021.005 — Remote Services: VNC (Lateral Movement)
  • T1570 — Lateral Tool Transfer (Lateral Movement)
  • T1059.002 — Command and Scripting Interpreter: AppleScript (Execution)
  • T1564 — Hide Artifacts (Defense Evasion)
  • T1027 — Obfuscated Files or Information (Defense Evasion)
  • T1543.001 — Create or Modify System Process: Launch Agent (Persistence)
  • T1071 — Application Layer Protocol (Command and Control)
  • T1048 — Exfiltration Over Alternative Protocol (Exfiltration)

IOC

  • Chemins : ~/Library/LaunchAgents
  • Chemins : /private/tftpboot
  • Chemins : /tmp
  • Chemins : ~/repos/project/script.sh

Malware / Outils

  • socat (tool)
  • netcat (tool)
  • osascript (tool)
  • snmptrap (tool)
  • snmptrapd (tool)
  • tftpd (tool)

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

  • ✅ blog.talosintelligence.com — source reconnue (liste interne) (20pts)
  • ✅ 23472 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 4 IOCs (IPs/domaines/CVEs) (10pts)
  • ⬜ pas d’IOC vérifié (0pts)
  • ✅ 9 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ⬜ pas de CVE à vérifier (0pts)

🔗 Source originale : https://blog.talosintelligence.com/bad-apples-weaponizing-native-macos-primitives-for-movement-and-execution/