SOC Prime Bias: Alto

25 Nov 2025 14:59 UTC

Clickfix su macOS: Campagna Malware AppleScript Usa Prompt del Terminale per Rubare Dati

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Segui
Clickfix su macOS: Campagna Malware AppleScript Usa Prompt del Terminale per Rubare Dati
shield icon

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.

Attacco Flusso

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:

    1. L’attaccante invia un’email di phishing contenente il one-liner:

      echo "cHJpbnQoJ0NhdXNlJykK" | base64 -d | bash

      (Il payload si decodifica inprint('Cause')– un segnaposto per qualsiasi script Bash malevolo.)

    2. Un utente ignaro copia la riga e la incolla nel Terminale.

    3. macOS genera unbashprocesso la cui linea di comandoesattamentecorrisponde al modellobase64 -d | bash, soddisfacendo laselezione.

    4. 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).