Mudda Água, o Desvio para Rust: Por Dentro do Implant RogueDourado
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
MuddyWater lançou uma campanha de spear-phishing direcionada a organizações diplomáticas, marítimas, financeiras e de telecomunicações no Oriente Médio. Os atacantes confiaram em documentos Word armados com macros embutidas para implantar RustyWater, um implante baseado em Rust. Uma vez instalado, o malware persiste através de uma chave de registro Run, se comunica com o comando e controle via HTTP e injeta código no explorer.exe para se misturar com a atividade normal do usuário. O implante incorpora salvaguardas contra análise e suporta funcionalidade modular pós-compromisso para estender o controle do atacante.
Investigação
A equipe TRIAD da CloudSEK analisou o documento malicioso, recuperou a carga útil codificada em hex e identificou o executável Rust reddit.exe. A inspeção estática mostrou o uso da biblioteca reqwest para C2 baseado em HTTP, um mecanismo de manipulador de exceções vetorizadas para anti-depuração e persistência via o caminho de registro CurrentUser Run. Testes dinâmicos confirmaram a injeção de processo no explorer.exe e comportamento C2 assíncrono com tempo de retorno aleatório. A investigação compilou indicadores chave, incluindo hashes, artefatos de registro e os domínios maliciosos usados para comunicações.
Mitigação
Observe modificações suspeitas em HKCUSoftwareMicrosoftWindowsCurrentVersionRun, especialmente entradas que apontam para binários armazenados em ProgramData. Detecte cadeias de execução impulsionadas por macro onde o Office aciona cmd.exe via WScript.Shell. Adicione detecções de rede para padrões de tráfego HTTP consistentes com codificação JSON → Base64 → XOR e para beaconing com jitter aleatório. Fortaleça os controles de e-mail para bloquear ou colocar em quarentena anexos do Word com macro habilitada de remetentes desconhecidos ou não confiáveis.
Resposta
Se a atividade do RustyWater for detectada, isole o endpoint e adquira uma imagem de memória para apoiar a forense focada em injeção. Remova a persistência da chave Run maliciosa e exclua quaisquer arquivos soltos em ProgramData. Bloqueie os domínios e IPs C2 identificados nos controles de perímetro. Expanda a caça para identificar atividade macra relacionada e artefatos de injeção explorer.exe em todo o ambiente para garantir o completo isolamento.
graph TB %% Definições de Classe classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef file fill:#e6e6e6 classDef process fill:#c2f0c2 classDef registry fill:#ffd9b3 classDef data fill:#d9d9ff %% Nós action_phishing[“<b>Ação</b> – <b>T1566.001 Anexo de Spearphishing</b><br/>E-mail com documento Word malicioso é enviado à vítima”] class action_phishing action file_doc[“<b>Arquivo</b> – <b>Nome</b>: Cybersecurity.doc<br/><b>Tipo</b>: Documento Word com macro VBA”] class file_doc file action_user_execution[“<b>Ação</b> – <b>T1204.002 Arquivo Malicioso</b><br/>A vítima abre o documento e a execução é acionada”] class action_user_execution action technique_vba_macro[“<b>Técnica</b> – <b>T1059.005 Visual Basic</b><br/>A macro VBA executa ações maliciosas”] class technique_vba_macro technique file_ini[“<b>Arquivo</b> – <b>Nome</b>: CertificationKit.ini<br/><b>Finalidade</b>: Script executado via WMI”] class file_ini file technique_native_api[“<b>Técnica</b> – <b>T1106 API Nativa</b><br/>A macro cria objetos COM para interagir com o sistema”] class technique_native_api technique technique_wmi[“<b>Técnica</b> – <b>T1047 WMI</b><br/>O WMI é usado para executar o script .ini”] class technique_wmi technique technique_reflective_loading[“<b>Técnica</b> – <b>T1620 Carregamento Reflexivo</b><br/>Payload hexadecimal é decodificado na memória e gravado em disco”] class technique_reflective_loading technique technique_process_injection[“<b>Técnica</b> – <b>T1055.002 Injeção de PE</b><br/>Shellcode é injetado no explorer.exe”] class technique_process_injection technique process_explorer[“<b>Processo</b> – <b>Nome</b>: explorer.exe”] class process_explorer process technique_persistence[“<b>Técnica</b> – <b>T1547 Persistência</b><br/>Chave Run é criada no Registro”] class technique_persistence technique registry_run[“<b>Registro</b> – <b>Chave</b>: HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run”] class registry_run registry technique_encrypted_channel[“<b>Técnica</b> – <b>T1573 Canal Criptografado</b><br/>O tráfego C2 é criptografado”] class technique_encrypted_channel technique technique_symmetric_crypto[“<b>Técnica</b> – <b>T1573.001 Criptografia Simétrica</b><br/>XOR/Base64 ocultam os dados”] class technique_symmetric_crypto technique technique_credential_hooking[“<b>Técnica</b> – <b>T1056.004 Hooking de Credenciais</b><br/>Interceptação de API captura credenciais”] class technique_credential_hooking technique credentials[“<b>Dados</b> – <b>Tipo</b>: Credenciais capturadas”] class credentials data %% Conexões action_phishing –>|entrega| file_doc file_doc –>|aberto pelo usuário| action_user_execution action_user_execution –>|aciona| technique_vba_macro technique_vba_macro –>|cria| file_ini technique_vba_macro –>|usa| technique_native_api technique_native_api –>|chama| technique_wmi technique_wmi –>|executa| file_ini file_ini –>|carrega| technique_reflective_loading technique_reflective_loading –>|leva a| technique_process_injection technique_process_injection –>|injeta em| process_explorer process_explorer –>|habilita| technique_persistence technique_persistence –>|escreve| registry_run registry_run –>|suporta| technique_encrypted_channel technique_encrypted_channel –>|usa| technique_symmetric_crypto technique_symmetric_crypto –>|protege| technique_credential_hooking technique_credential_hooking –>|captura| credentials
Fluxo de ataque
Detecções
Extensão Incomum de Binário Executável (via criação_de_processo)
Ver
Possíveis Pontos de Persistência [ASEPs – Hive Software/NTUSER] (via evento_de_registro)
Ver
Processo Suspeito Sem Argumentos (via cmdline)
Ver
Processo Filho Suspeito do MSOffice (via cmdline)
Ver
IOCs (HashSha256) para detectar: Renascido em Rust: Muddy Water Evolui Ferramentas com Implante RustyWater
Ver
Detecção de Execução do Implante Muddy Water RustyWater [Criação de Processo do Windows]
Ver
Detecção de Artefatos de Armadilhas de Spear-Phishing do Muddy Water [Evento de Arquivo do Windows]
Ver
Execução de Simulação
Pré-requisito: O Check de Pré-voo de Telemetria & Baseline deve ter sido aprovado.
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 a narrativa refletem diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção.
-
Narrativa do Ataque & Comandos:
Um operador APT recebe um e-mail de spear-phishing com um anexo do Office com macro maliciosa habilitada. Ao abrir, a macro solta dois arquivos de carga útil—Cybersecurity.docandCertificationKit.ini—noProgramDatadiretório para escondê-los em um local confiável por muitas aplicações. A macro utiliza PowerShell para gravar os arquivos, o que aciona eventos de criação de arquivo do Sysmon que a regra de detecção monitora. -
Script de Teste de Regressão:
# ------------------------------------------------- # Simulação de queda de arquivo APT do MuddyWater (Windows) # ------------------------------------------------- $progData = $Env:ProgramData # Definir conteúdo do payload (dados fictícios para teste) $docContent = "Este é um documento de Cybersegurança fictício usado para teste de detecção." $iniContent = "[Settings]`nKey=Value`n" # Criar Cybersecurity.doc $docPath = Join-Path -Path $progData -ChildPath "Cybersecurity.doc" $docContent | Out-File -FilePath $docPath -Encoding UTF8 # Criar CertificationKit.ini $iniPath = Join-Path -Path $progData -ChildPath "CertificationKit.ini" $iniContent | Out-File -FilePath $iniPath -Encoding UTF8 Write-Host "Arquivos de simulação do MuddyWater criados:" Write-Host "`t$docPath" Write-Host "`t$iniPath" # ------------------------------------------------- -
Comandos de Limpeza:
# Remover artefatos de simulação Remove-Item -Path "$Env:ProgramDataCybersecurity.doc" -ErrorAction SilentlyContinue Remove-Item -Path "$Env:ProgramDataCertificationKit.ini" -ErrorAction SilentlyContinue Write-Host "Arquivos de simulação removidos."