Resumo
Pesquisadores identificaram uma mudança de plataforma no arsenal do grupo Iraniano MuddyWater: documentos Word com macros entregam um implante escrito em Rust, batizado 'RustyWater', projetado para evitar detecção por AV/EDR e manter persistência em sistemas Windows.
Descoberta e escopo
A investigação conduzida por analistas da CloudSEK, relatada por veículos especializados, encontrou campanhas de spear‑phishing que visam setores diplomático, marítimo, financeiro e de telecomunicações no Oriente Médio. Os e‑mails contêm documentos Word disfarçados como diretrizes ou políticas e exigem habilitação de macros para iniciar a cadeia de infecção.
Vetor e técnica de entrega
O documento malicioso contém duas funções VBA que colaboram para reconstruir e escrever um binário codificado em hex num arquivo chamado CertificationKit.ini no diretório ProgramData. As funções descritas são:
- WriteHexToFile: extrai dados hex-encodados de um controle UserForm, converte para binário e salva como CertificationKit.ini.
- love_me_: monta dinamicamente comandos via codificação ASCII e invoca cmd.exe para executar o payload dropado.
Evasão e persistência
O implante RustyWater emprega várias técnicas de evasão documentadas nas fontes:
- Cifração XOR posicional das strings para dificultar análise estática.
- Verificação de presença de mais de 25 produtos AV/EDR pesquisando nomes de serviços, binários e caminhos de instalação; quando detecta defesas, ajusta comportamento para permanecer oculto.
- Persistência via chave de inicialização do Windows Run, apontando para o arquivo CertificationKit.ini no ProgramData.
- Comunicação HTTP implementada com a biblioteca Rust reqwest, com timeouts, pool de conexões e lógica de retry, além de intervalos randômicos entre comunicações para dificultar detecção por análise de tráfego.
Coleta de dados e exfiltração
O malware coleta informações do sistema (nome de usuário, nome do host, domínio) e empacota os dados em JSON; antes de exfiltrar, aplica camadas de codificação base64 e múltiplas camadas de XOR. As comunicações são feitas para servidores de comando e controle, com técnicas para dificultar correlação de rede.
Impacto e limites
As fontes indicam que o uso de Rust representa uma evolução significativa na engenharia da ameaça, já que o grupo vinha empregando PowerShell e VBS. A mudança para um implante nativo compilado em Rust aumenta a complexidade de detecção por assinaturas e metodologia tradicional de análise. As publicações não quantificam o número de vítimas nem indicam comprometimento massivo em termos de volume de dados divulgado publicamente; o escopo observado concentra‑se em alvos regionais sensíveis.
Mitigações recomendadas
- Desabilitar macros por padrão e aplicar políticas de Group Policy para bloquear macros VBE/AutoOpen em documentos Office recebidos por e‑mail.
- Monitorar a presença de arquivos suspeitos em ProgramData, em especial arquivos com nomes atípicos como CertificationKit.ini, e verificar timestamps e hashes correlacionados com telemetria de endpoint.
- Implementar detecções comportamentais para processos que reconstroem binários a partir de controles em documentos Office e para execução de cmd.exe via VBA.
- Atualizar regras e assinaturas EDR para flagrar padrões de comunicação típicos do reqwest em contextos suspeitos e aplicar bloqueios de rede para destinos indicados durante investigações.
- Realizar caça proativa (threat hunting) em logs de endpoint e proxy por indicadores de criação de arquivos a partir de macros e por conexões com padrões de retry aleatório.
Observações para CISOs
A adoção de toolchains modernos (Rust, bibliotecas HTTP robustas) por APTs eleva o limiar técnico para detecção baseada apenas em assinaturas. Equipes de defesa devem priorizar controles que reduzam o risco inicial (filtros de e‑mail, política de macros restritiva, segmentação de privilégios), e ajustar investigações para procurar artefatos de persistência em locais não convencionais. As fontes descrevem técnicas e artefatos específicos, mas não apresentam provas públicas de exploração em larga escala que permitam estimar número de sistemas comprometidos.