Contexte: Basé sur un échantillon référencé par vxunderground (MalwareSourceCode - MacOS.Stealer.Banshee.7z), cet article du 2 décembre 2025 présente Banshee, un infostealer macOS conçu nativement (Objective‑C, ARM64/x86_64) et commercialisé en MaaS (~3 000 $/mois).

• Chaîne d’attaque et hameçonnage 🔐 Banshee affiche un faux dialogue natif via osascript (titre System Preferences, saisie masquée, délai 30 s) et boucle jusqu’à 5 tentatives pour collecter le mot de passe. Il valide en temps réel les identifiants avec dscl /Local/Default -authonly (sortie vide = succès), garantissant des credentials fonctionnels. Cette étape est centrale car le mot de passe permet de déchiffrer hors ligne le Trousseau macOS.

• Collecte de données et périmètre visé 📥 Le stealer pille 8 navigateurs (Chrome/Brave/Edge/Vivaldi/Yandex/Opera/Opera GX, Firefox) avec prise en charge multi-profils. Il exfiltre cookies, mots de passe, historiques, autofill et extensions (dont MetaMask et Phantom). Côté Firefox: cookies.sqlite, logins.json, places.sqlite, formhistory.sqlite, key4.db. Il copie le Trousseau (login.keychain-db) incluant mots de passe Safari, Wi‑Fi, applis, certificats, notes sécurisées et l’entrée Chrome Safe Storage (clé AES pour Chromium). Il récupère aussi Apple Notes (NoteStore.sqlite) et Safari Cookies.binarycookies. Un file grabber via AppleScript duplique des fichiers .txt/.docx/.rtf/.doc/.wallet/.keys/.key (<50 Ko) depuis Desktop/Documents.

• Déverrouillage du Trousseau et déchiffrement hors ligne 🧰 Le Trousseau chiffré au repos est déverrouillé grâce au mot de passe hameçonné; l’article cite l’usage de chainbreaker pour extraire mots de passe génériques/Internet, clés privées/publiques, certificats et notes sécurisées une fois le fichier et le mot de passe obtenus.

• Permissions, anti‑analyse et exfiltration 🧪🚫 Pour l’automatisation AppleEvents requise par le file grabber, Banshee réinitialise TCC (tccutil reset AppleEvents) et réessaie jusqu’à 30 fois afin de reprovoquer le prompt système et obtenir un clic Allow. Côté anti‑analyse: détection VM, checks debugger, exclusion CIS (un test de langue russe est défini mais jamais appelé). Pas de persistance (smash‑and‑grab). Exfiltration via HTTP POST JSON, chiffrement XOR avec clé aléatoire 15 caractères transmise avec les données. Les données sont mises en scène sous $TMPDIR/<25_caractères_aléatoires>/ puis compressées via ditto -c -k … –norsrc –noextattr.

• Structure et ciblage détaillés 📦 Arborescence de staging: Browsers/ (par profil), Wallets/ (Exodus, electrum, Coinomi), Passwords/ (login.keychain-db), FileGrabber/ (Cookies.binarycookies et documents <50 Ko), Notes/ (NoteStore.sqlite), system_info.json (incluant system_password). Collecte d’info système via system_profiler et géolocalisation IP; BUILD_ID pour suivi de campagne.

IOCs et artefacts techniques:

  • Chemins/fichiers: ~/Library/Keychains/login.keychain-db; ~/Library/Application Support/<Chrome|Brave|Edge|Vivaldi|Yandex|com.operasoftware.Opera|com.operasoftware.OperaGX>/; ~/Library/Group Containers/group.com.apple.notes/NoteStore.sqlite; Safari Cookies.binarycookies (chemin variant selon version).
  • Extensions ciblées: MetaMask (nkbihfbeogaeaoehlefnkodbefgpgknn), Phantom (bfnaelmomeimhlpmgjnjophhpkkoljpa).
  • Commandes/outils: osascript (dialogue, AppleScript), dscl /Local/Default -authonly, tccutil reset AppleEvents, system_profiler SPSoftwareDataType SPHardwareDataType, ditto -c -k … –norsrc –noextattr, chainbreaker.
  • Protocoles: HTTP POST (JSON), XOR avec clé aléatoire 15 caractères incluse.

TTPs (sélection):

  • Hameçonnage d’OS password via dialogue natif AppleScript; validation immédiate via Directory Services.
  • Collecte d’identifiants navigateurs et Trousseau; déchiffrement hors ligne avec mot de passe.
  • Bypass/obtention de permissions TCC par reset et reproposition des prompts.
  • Anti‑VM/debugger; exclusion géo CIS; aucune persistance; exfil smash‑and‑grab compressée.

Conclusion: Il s’agit d’une analyse de menace détaillant le fonctionnement d’un infostealer macOS moderne et ses techniques de récolte et exfiltration de données.

🧠 TTPs et IOCs détectés

TTP

[“Hameçonnage d’OS password via dialogue natif AppleScript”, ‘Validation immédiate du mot de passe via Directory Services’, ‘Collecte d’identifiants navigateurs et Trousseau’, ‘Déchiffrement hors ligne avec mot de passe’, ‘Bypass/obtention de permissions TCC par reset et reproposition des prompts’, ‘Anti-VM/debugger checks’, ‘Exclusion géographique CIS’, ‘Exfiltration smash-and-grab compressée’]

IOC

[‘Chemins/fichiers: /Library/Keychains/login.keychain-db’, ‘/Library/Application Support/<Chrome|Brave|Edge|Vivaldi|Yandex|com.operasoftware.Opera|com.operasoftware.OperaGX>/’, ‘~/Library/Group Containers/group.com.apple.notes/NoteStore.sqlite’, ‘Safari Cookies.binarycookies’, ‘Extensions ciblées: MetaMask (nkbihfbeogaeaoehlefnkodbefgpgknn)’, ‘Phantom (bfnaelmomeimhlpmgjnjophhpkkoljpa)’, ‘Commandes/outils: osascript, dscl /Local/Default -authonly, tccutil reset AppleEvents’, ‘system_profiler SPSoftwareDataType SPHardwareDataType’, ‘ditto -c -k … –norsrc –noextattr’, ‘chainbreaker’, ‘Protocoles: HTTP POST (JSON), XOR avec clé aléatoire 15 caractères incluse’]


🔗 Source originale : https://deceptiq.com/blog/macos-stealers-technical-analysis