Cuidado com o SparroWock: A porta dos fundos que morde, os comandos que capturam
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O grupo APT alinhado à China, FamousSparrow, implementou uma nova backdoor modular em C++ chamada SparroWocky, substituindo seu implante anterior SparrowDoor. O malware inclui capacidades avançadas de anti-análise, como spoofing de pilha e carregamento de memória reflexiva. A atividade atual está fortemente focada em organizações governamentais na América Latina.
Investigação
Pesquisadores da ESET identificaram o SparroWocky examinando sua arquitetura modular e características de código distintas, incluindo referências ao poema Jabberwocky. A investigação descobriu um esquema de carregador tridente que depende de carregamento lateral de DLL e um formato de payload personalizado, decriptado com RC4. Os analistas também observaram bibliotecas de código aberto como Mbed TLS e MinHook sendo usadas para melhorar a furtividade e a funcionalidade.
Mitigação
As organizações devem implementar controles rígidos em torno do carregamento lateral de DLL e monitorar a criação de serviços suspeitos ou modificações nas chaves de execução do registro. Detecção avançada de endpoint capaz de identificar execução de PE apenas em memória e manipulação da pilha também é importante. Aplicações expostas ao público, incluindo servidores Exchange, devem ser atualizadas prontamente para reduzir as oportunidades de acesso inicial.
Resposta
Se a atividade do SparroWocky for detectada, os sistemas afetados devem ser isolados imediatamente para prevenir o movimento lateral e a comunicação de comando e controle. Os respondedores devem realizar forense de memória para identificar módulos carregados reflexivamente e investigar fluxos de execução sequestrados. Os logs de auditoria também devem ser revisados quanto à instalação não autorizada de serviços ou alterações em mecanismos de persistência, como o SnapCart valor do registro.
Fluxo de Ataque
Ainda estamos atualizando esta parte.
Detecções
Possíveis Pontos de Persistência [ASEPs – Software/NTUSER Hive] (via evento de registro)
Possível Comportamento de Execução Atrasada (via linha de comando)
IOCs (HashSha1) para detectar: Beware the SparroWock: A backdoor que morde, os comandos que capturam
IOCs (SourceIP) para detectar: Beware the SparroWock: A backdoor que morde, os comandos que capturam
IOCs (DestinationIP) para detectar: Beware the SparroWock: A backdoor que morde, os comandos que capturam
Detecção de Carregamento de Código Reflexivo do Backdoor SparroWocky [Windows Sysmon]
Comunicação C&C do Backdoor SparroWocky e Detecção de Proxy [Conexão de Rede Windows]
Detecção de Execução do SparroWocky na Memória [Criação de Processo Windows]
Execução de Simulação
-
Narrativa de Ataque & Comandos: O adversário visa estabelecer um canal de comunicação oculto para um servidor de Comando e Controle (C2). Para contornar defesas de perímetro simples, o atacante usa um proxy SOCKS5 para tunelamento de tráfego, fazendo com que o tráfego pareça originar-se de um servidor proxy legítimo em vez do endpoint infectado. Esta ação é destinada a acionar a
seleção_http_proxylógica na regra de detecção ao gerar logs que identificam o protocolo como SOCKS5 e a ação como ‘permitir’. -
Script de Teste de Regressão:
# Simulação do C2 do SparroWocky via Proxy SOCKS5 # Nota: Isso requer um proxy acessível ou um ouvinte simulado para acionar o log de 'permitir'. $ProxyServer = "127.0.0.1:1080" # Assume um ouvinte/proxy local para propósitos de simulação $TargetUrl = "http://example.com" Write-Host "[+] Tentando estabelecer conexão de proxy SOCKS5 para simular C2..." # Usando PowerShell para forçar uma conexão através de um proxy $proxy = New-Object System.Net.WebProxy("http://$ProxyServer") $wc = New-Object System.Net.WebClient $wc.Proxy = $proxy try { $wc.DownloadString($TargetUrl) Write-Host "[+] Conexão tentada. Verifique os logs do firewall para atividade de proxy SOCKS5/HTTP." } catch { Write-Host "[-] Conexão falhou (esperado se nenhum ouvinte estiver presente), mas a telemetria ainda deve ser gerada pela pilha de rede." } -
Comandos de Limpeza:
# Pare quaisquer ouvintes de proxy locais se foram iniciados como parte da configuração do laboratório Stop-Process -Name "nc" -ErrorAction SilentlyContinue Stop-Process -Name "python" -ErrorAction SilentlyContinue Write-Host "[+] Limpeza completa."