Clickfix su macOS: Campagna Malware AppleScript Usa Prompt del Terminale per Rubare Dati
Detection stack
- AIDR
- Alert
- ETL
- Query
Riassunto
La campagna malware AppleScript prende di mira gli utenti macOS tramite una tecnica ClickFix, convincendoli a eseguire manualmente comandi shell decodificati base64 in Terminal. Questi comandi recuperano uno stealer AppleScript che raccoglie dati del browser, portafogli di criptovaluta, documenti locali e altre informazioni sensibili, per poi esfiltrarli verso server controllati dagli aggressori. Poiché nessun file binario tradizionale viene scritto su disco, l’attività è più difficile da individuare con i classici AV. L’operazione si basa su più domini ingannevoli e porte di servizio insolite per il traffico di comando e controllo.
Analisi della Campagna AppleScript
I ricercatori hanno esaminato i siti web di phishing, il JavaScript responsabile della consegna del payload e l’AppleScript utilizzato per la raccolta e l’esfiltrazione. La mappatura dell’infrastruttura ha rivelato domini come cryptoinfo-news.com and odyssey1.to, insieme a servizi esposti sulle porte 22, 80, 3333 e 5201. Il payload AppleScript confeziona i dati rubati in un file ZIP in /tmp/out.zip e usa curl per caricarlo su un endpoint remoto.
Mitigazione
I difensori dovrebbero bloccare i domini malevoli identificati e limitare le connessioni in uscita su porte non comuni. Rafforzare gli host macOS limitando l’uso di AppleScript e shell, monitorare modelli di esecuzione base64-d | bash e applicare controlli CORS rigorosi negli ambienti web. L’addestramento alla consapevolezza della sicurezza dovrebbe evidenziare le pagine di phishing che istruiscono gli utenti a copiare-incollare ed eseguire comandi Terminal.
Risposta
Quando questi schemi di indicatori vengono rilevati, informare il SOC, isolare il sistema interessato e acquisire artefatti temporanei e cronologia della shell. Eseguire una revisione forense della directory /tmp , mettere in quarantena gli archivi ZIP sospetti e correlare il traffico in uscita con i server C2 e le porte noti identificati nella campagna.
graph TB %% Definizioni delle classi classDef technique fill:#e0f7fa %% Definizione dei nodi initial_access[“<b>Accesso iniziale</b> – <b>T1659 Iniezione di contenuti</b>: Le vittime caricano una pagina di phishing che inietta un comando malevolo.”] class initial_access technique execution_copy_paste[“<b>Esecuzione</b> – <b>T1204.004 Esecuzione da parte dell’utente: Copia e incolla malevolo</b>: L’utente copia un comando base64 e lo esegue nel Terminale.”] class execution_copy_paste technique execution_proxy[“<b>Esecuzione</b> – <b>T1127 Esecuzione proxy tramite utilità di sviluppo attendibili</b>: Decodifica ed esegue AppleScript tramite utilità native di macOS.”] class execution_proxy technique execution_xpc[“<b>Esecuzione</b> – <b>T1559.003 Comunicazione tra processi: Servizi XPC</b>: AppleScript sfrutta XPC per chiamate interne.”] class execution_xpc technique collection_browser_disc[“<b>Raccolta</b> – <b>T1217 Scoperta di informazioni del browser</b>: AppleScript enumera i profili Firefox e Chromium.”] class collection_browser_disc technique collection_creds[“<b>Raccolta</b> – <b>T1555.003 Credenziali dai gestori di password: Browser web</b>: Ruba cookie, credenziali salvate e dati di wallet crypto.”] class collection_creds technique archive[“<b>Raccolta</b> – <b>T1560.001 Archiviazione tramite utilità</b>: Impacchetta i file in uno ZIP usando ditto.”] class archive technique exfiltration[“<b>Esfiltrazione</b> – <b>T1020 Esfiltrazione automatizzata</b>: Carica lo ZIP su un server dell’attaccante tramite curl.”] class exfiltration technique c2_web[“<b>Comando e controllo</b> – <b>T1102 Servizio web</b>: Comunica con il C2 via HTTP con CORS permissivo.”] class c2_web technique c2_ssh[“<b>Comando e controllo</b> – <b>T1021.004 Servizi remoti: SSH</b>: L’attaccante mantiene l’accesso SSH per ulteriore controllo.”] class c2_ssh technique defense_compress[“<b>Evasione delle difese</b> – <b>T1027.015 Compressione</b>: Usa la compressione per nascondere i dati del payload.”] class defense_compress technique defense_file_delete[“<b>Evasione delle difese</b> – <b>T1070.004 Eliminazione dei file</b>: Rimuove directory temporanee e archivi.”] class defense_file_delete technique credential_cookie[“<b>Accesso alle credenziali</b> – <b>T1539 Furto di cookie di sessione web</b>: Usa i cookie rubati per dirottare le sessioni.”] class credential_cookie technique %% Connessioni initial_access –>|porta a| execution_copy_paste execution_copy_paste –>|porta a| execution_proxy execution_proxy –>|usa| execution_xpc execution_proxy –>|raccoglie| collection_browser_disc collection_browser_disc –>|raccoglie| collection_creds collection_creds –>|archivia| archive archive –>|esfiltra| exfiltration exfiltration –>|usa| c2_web c2_web –>|fallback| c2_ssh exfiltration –>|copre le tracce| defense_compress exfiltration –>|copre le tracce| defense_file_delete collection_creds –>|abilita| credential_cookie
Attacco Flusso
Rilevamenti
Rileva Uso Malevolo di Curl per Esfiltrazione Dati su macOS [Creazione Processo Windows]
Visualizza
Rilevamento della Decodifica Base64 e dell’Esecuzione Bash su macOS [Creazione Processo Linux]
Visualizza
IOC (SourceIP) da rilevare: La Guida Completa alla Caccia di Cobalt Strike – Parte 2: 10+ Ricette HuntSQL per Trovare Cobalt Strike
Visualizza
IOC (DestinationIP) da rilevare: La Guida Completa alla Caccia di Cobalt Strike – Parte 2: 10+ Ricette HuntSQL per Trovare Cobalt Strike
Visualizza
Attività Atomic MacOS Stealer – FileGrabber
Visualizza
Visualizza
Esecuzione Simulazione
Prerequisito: Il Controllo Pre-flight di Telemetria & Baseline deve essere passato.
Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione riflettono direttamente i TTP identificati e mirano a generare esattamente la telemetria prevista dalla logica di rilevamento.
-
Narrativa dell’attacco e Comandi:
-
L’attaccante invia un’email di phishing contenente il one-liner:
echo "cHJpbnQoJ0NhdXNlJykK" | base64 -d | bash(Il payload si decodifica in
print('Cause')– un segnaposto per qualsiasi script Bash malevolo.) -
Un utente ignaro copia la riga e la incolla nel Terminale.
-
macOS genera un
bashprocesso la cui linea di comandoesattamentecorrisponde al modellobase64 -d | bash, soddisfacendo laselezione. -
della regola Sigma
-
-
Il Bash interpreter esegue il payload decodificato, completando l’azione malevola (ad es., stabilendo una shell inversa, scaricando strumenti aggiuntivi).Script di Test di Regressione:
Lo script seguente automatizza i passaggi 1-3, riproducendo la telemetria necessaria per la convalida. -
#!/bin/bash # ————————————————- # Simula l’esecuzione Base64-decode-and-Bash su macOS # ————————————————- # Payload codificato in Base64 (stampa “Compromesso”) PAYLOAD=”cHJpbnQoJ0NvbXByb21pc2UnKQ==” # Esegui il one-liner esattamente come farebbe un attaccante echo “$PAYLOAD” | base64 -d | bash # Esci con lo stato del comando Bash exit $?Comandi di Pulizia:
Rimuovi tutti i file temporanei o processi in background che potrebbero essere stati creati dal payload (sostituire con cleanup specifico per il payload se necessario).