SOC Prime Bias: High

01 Sep 2026 16:33 UTC

Campanha TerminalFix Constrói Túneis Reversos para Acesso Persistente

Author Photo
SOC Prime Team linkedin icon Seguir
Campanha TerminalFix Constrói Túneis Reversos para Acesso Persistente
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

A campanha TerminalFix é uma variante do ClickFix que usa sobreposições falsas de CAPTCHA do Cloudflare para enganar usuários a executar comandos maliciosos do PowerShell. A cadeia de ataque combina carregamento lateral de DLL, extração de payload esteganográfico de imagens PNG e reconhecimento extenso do Active Directory. A campanha, por fim, implanta um implante baseado em Python customizado de túnel reverso que dá aos atacantes acesso proxy persistente em nível de rede.

Investigação

A Microsoft Threat Intelligence analisou a cadeia de ataque em múltiplos estágios, que abusa do legítimo e assinado LockScreenContentServer.exe binário para carregamento lateral de DLL. A investigação mostrou como os payloads maliciosos são ocultados dentro dos pixels de PNG e como um runtime de Python estabelece um túnel reverso baseado em WebSocket. Os pesquisadores também identificaram a infraestrutura de comando e controle e as técnicas de reconhecimento usadas para mapear redes internas.

Mitigação

As organizações devem restringir a execução do PowerShell através do AppLocker ou Política de Grupo e monitorar para LockScreenContentServer.exe execuções de locais incomuns ou não padronizados. Regras de Redução de Superfície de Ataque (ASR) podem ajudar a bloquear scripts ofuscados e lançamentos não autorizados de executáveis. Treinamento de conscientização do usuário focado em reconhecer prompts de CAPTCHA falsos também é uma medida preventiva importante.

Resposta

Se a atividade TerminalFix for detectada, os dispositivos afetados devem ser tratados como potenciais pontos de pivô de rede e investigados para movimento lateral. A rotação de credenciais deve ser priorizada, particularmente para contas de administrador de domínio acessíveis a partir do sistema comprometido. As equipes de segurança também devem realizar análises forenses para runtimes de Python não autorizados e conexões WebSocket de saída suspeitas.

Fluxo de Ataque

Ainda estamos atualizando esta parte.

Detectações

Possíveis Pontos de Persistência [ASEPs – Software/NTUSER Hive] (via registry_event)

Equipe da SOC Prime
31 ago 2026

Padrões Possíveis de Ataque ClickFix na Linha de Comando (via cmdline)

Equipe da SOC Prime
31 ago 2026

Execução de Python de Pastas Suspeitas (via cmdline)

Equipe da SOC Prime
31 ago 2026

Chamada de Métodos/Classes .NET Suspeitos a partir do Powershell CommandLine (via process_creation)

Equipe da SOC Prime
31 ago 2026

Possível Enumeração de Sistema (via cmdline)

Equipe da SOC Prime
31 ago 2026

Possível Descoberta de Sistema Remoto ou Verificação de Conectividade (via cmdline)

Equipe da SOC Prime
31 ago 2026

Descoberta Suspeita de Confiança de Domínio (via cmdline)

Equipe da SOC Prime
31 ago 2026

Execução de Attrib para Ocultar Arquivos (via cmdline)

Equipe da SOC Prime
31 ago 2026

Possíveis Downloads Diretos de Interpretador Python (via cmdline)

Equipe da SOC Prime
31 ago 2026

Um Arquivo foi Extraído para Diretório Suspeito Usando Powershell (via powershell)

Equipe da SOC Prime
31 ago 2026

IOCs (HashSha256) para detectar: a campanha TerminalFix implanta um túnel reverso através de intrusão em múltiplos estágios

Regras de IA do SOC Prime
31 ago 2026

Túnel WebSocket TLS de Saída para gitnow.dev [Conexão de Rede Windows]

Regras de IA do SOC Prime
31 ago 2026

Detecção de Túnel Reverso e Carregamento Lateral de DLL do TerminalFix [Criação de Processo no Windows]

Regras de IA do SOC Prime
31 ago 2026

Carregamento Lateral de DLL e Extração de Payload Esteganográfico na Campanha TerminalFix [Carregamento de Imagem no Windows]

Regras de IA do SOC Prime
31 ago 2026

Execução de PowerShell e Loop de Comando da Campanha TerminalFix [Powershell do Windows]

Regras de IA do SOC Prime
31 ago 2026

Execução de Simulação

Pré-requisito: O Check de Telemetria & Baseline Pre-flight deve ter sido aprovado.

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 narrativas DEVEM refletir diretamente as TTPs identificadas e têm como objetivo gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a diagnósticos incorretos.

  • Narrativa de Ataque & Comandos: O adversário pretende estabelecer um túnel reverso persistente. Para se misturar com os processos do sistema, eles primeiro colocam um binário que parece legítimo, LockScreenContentServer.exe, em um diretório. Em seguida, utilizam carregamento lateral de DLL para executar código malicioso. Após isso, iniciam um túnel baseado em Python usando pythonw.exe (para evitar uma janela de console visível) e executam um script chamado client.py. Esta sequência é projetada para criar uma porta traseira em nível de rede que contorna restrições padrão de firewall via tunelamento WebSocket.

  • Script de Teste de Regressão:

    # Script de Simulação: Emulação de Túnel Reverso do TerminalFix
    # 1. Configurar Ambiente
    $targetDir = "C:UsersPublicDownloadsSystemFiles"
    New-Item -Path $targetDir -ItemType Directory -Force
    
    # 2. Criar conjunto dummy 'LockScreenContentServer.exe' (Simulando o binário de carregamento lateral)
    # Em um ataque real, isso seria um arquivo PE real.
    $dummyExe = Join-Path $targetDir "LockScreenContentServer.exe"
    New-Item -Path $dummyExe -ItemType File -Force
    
    # 3. Criar script Python dummy 'client.py'
    $pythonScript = Join-Path $targetDir "client.py"
    "print('Estabelecendo túnel...')" | Out-File -FilePath $pythonScript -Encoding ascii
    
    # 4. Executar os processos 'maliciosos' para acionar a lógica de detecção
    # Acionamento Parte A: LockScreenContentServer.exe
    Start-Process -FilePath $dummyExe -WindowStyle Hidden
    
    # Acionamento Parte B: pythonw.exe com client.py na linha de comando
    # Nota: Usamos o caminho completo para pythonw.exe conforme esperado pela regra
    $pythonwPath = "C:WindowsSystem32pythonw.exe" 
    # Se pythonw não estiver em System32, nós o localizamos
    if (-not (Test-Path $pythonwPath)) {
        $pythonwPath = (Get-Command pythonw.exe).Source
    }
    
    Start-Process -FilePath $pythonwPath -ArgumentList $pythonScript -WindowStyle Hidden
  • Comandos de Limpeza:

    # Script de Limpeza
    $targetDir = "C:UsersPublicDownloadsSystemFiles"
    if (Test-Path $targetDir) {
        Remove-Item -Path $targetDir -Recurse -Force
    }