
RustyWater representa o payload principal e a espinha dorsal de toda a operação adversarial nos ataques do grupo Static Kitten.
RustyWater representa o payload principal e a espinha dorsal de toda a operação adversarial nos ataques do grupo Static Kitten.
RustyWater é um executável compilado em Rust (disfarçado como reddit.exe com um ícone falso do Cloudflare) conhecido como RustyWater (ou vinculado ao Archer RAT/RUSTRIC), apresentando forte evasão de AV/EDR através de injeção de processo e persistência baseada no registro.
1-ANTI-ANÁLISE O Reddit.exe implementa um sistema abrangente de anti-análise de 8 camadas que sonda ativamente o ambiente de execução em busca de sinais de monitoramento, virtualização ou depuração. Cada camada atua como um filtro, garantindo que o payload só seja acionado em um alvo genuíno.
Camada 1: Verificação da Contagem de Núcleos da CPU
Inicialmente, o soldado RustyWater examina o ambiente para avaliar o poder da máquina em que se encontra. Ele se pergunta: Quantos núcleos este processador possui? Ambientes de análise, como sandboxes, geralmente têm recursos limitados e frequentemente possuem dois núcleos ou menos. Se o soldado descobrir que a máquina é fraca, ele imediatamente decide que o ambiente não é seguro e desaparece sem deixar rastros, desperdiçando todo o esforço dos analistas.
Na imagem fornecida, uma seção do código do programa Reddit.exe ilustra esse mecanismo. A seta aponta para a linha que verifica a "contagem de CPU", onde o programa examina o número de núcleos do processador. Se a contagem for dois ou menos, significa que o ambiente ao redor é suspeito e a execução é interrompida imediatamente.

Camada 2: Detecção de Artefatos de Máquina Virtual
Não convencido apenas pela verificação da CPU, o soldado investiga mais a fundo. Ele sabe que as máquinas virtuais deixam pegadas digitais específicas, como uma trilha de migalhas. Ele verifica a lista de processos em execução em busca de nomes familiares associados a softwares de virtualização: vmtoolsd.exe (VMware), vboxtray.exe (VirtualBox) e xenservice.exe (Xen). Ele também verifica a existência de arquivos de driver específicos no disco, como vmmouse.sys ou VBoxGuest.sys.
A lógica é simples: se uma máquina está executando ferramentas VMware, provavelmente é uma VM. Se é uma VM, provavelmente é um ambiente de análise. Se é um ambiente de análise, o soldado aborta a missão.

Camada 3: Varredura de Registro de Ferramentas de Análise
O soldado então se aventura no Registro do Windows, um vasto banco de dados de configurações do sistema. Ele sabe que os analistas de segurança frequentemente deixam suas ferramentas para trás, e essas ferramentas deixam artefatos. Ele procura por chaves de registro associadas a softwares de depuração e monitoramento, como Wireshark, Process Hacker, OllyDbg e IDA Pro. A presença de qualquer uma dessas chaves confirma que o ambiente é hostil, acionando um desligamento imediato.

Camada 4: Análise do Tamanho da RAM
Se o sistema relatar menos de 4 GB, o soldado suspeita de uma sandbox com recursos escassos e interrompe a execução. Essa verificação é uma maneira confiável de filtrar muitos sistemas de análise automatizados.

Camada 5: Detecção de Depurador
O soldado agora verifica seus arredores imediatos. Ele usa uma chamada de API do Windows simples, mas eficaz — IsDebuggerPresent — para determinar se está sendo executado sob o controle de um depurador. Um depurador é como um microscópio; se um estiver presente, significa que alguém está observando cada instrução do soldado. O soldado não atuará sob tal vigilância.

Camada 6: Verificação de Tempo de Atividade do Sistema
O próprio tempo se torna um fator. O soldado verifica há quanto tempo o sistema está em execução desde a última inicialização. Sandboxes e ambientes de análise geralmente são inicializados recentemente, pouco antes da execução de uma amostra. Se o tempo de atividade do sistema for inferior a 15 minutos, o soldado o marca como um ambiente suspeito e de curta duração e recua.

Camada 7: Análise do Nome de Usuário
O soldado então verifica a identidade do usuário. Ele compara o nome de usuário atual com uma lista negra de contas de análise comuns: "sandbox", "virus", "malware", "analysis", "vmware" e "test". Esses nomes de usuário são frequentemente usados em ambientes de análise isolados. Se o nome de usuário corresponder a qualquer entrada da lista, a missão é imediatamente abortada.

Camada 8: Verificação do Endereço MAC e Perfil de Hardware
Finalmente, o soldado examina a placa de rede da máquina. Ele verifica o endereço MAC em relação aos prefixos de fornecedor conhecidos usados por softwares de virtualização. Um endereço MAC começando com 00:0C:29 pertence à VMware, enquanto 08:00:27 pertence à VirtualBox. Ele também verifica perfis de hardware em busca de strings como "VMware" ou "VirtualBox" na descrição do sistema. Se algum deles for encontrado, o soldado sabe que está dentro de uma máquina virtual e desliga tudo.

O implante se disfarça habilmente como um componente legítimo do Windows Update, tornando-se menos suspeito para observadores casuais. O mecanismo de persistência inclui:
Tratamento de erros para problemas de permissão (fallback para HKCU se o acesso a HKLM falhar)
Validação de caminho para garantir que o executável exista no local especificado
Verificação de inicialização para confirmar que a entrada do registro foi criada com sucesso
Isso garante que, toda vez que o usuário fizer login, o Reddit.exe seja executado automaticamente com seus privilégios.

A capacidade final e mais sofisticada é a injeção de processo no explorer.exe, permitindo que o implante execute shellcode dentro de um processo confiável do sistema.
O Reddit.exe implementa uma técnica clássica, mas eficaz, de injeção de thread remota:
Descoberta de Processo: Varre os processos em execução para localizar explorer.exe e obter seu PID.
Aquisição de Handle: Abre o processo alvo com privilégios PROCESS_ALL_ACCESS.
Alocação de Memória: Usa VirtualAllocEx para alocar memória RWX (Leitura, Escrita, Execução) dentro do espaço de endereço do explorer.exe.
Transferência de Shellcode: Escreve o payload malicioso usando WriteProcessMemory.
Execução: Cria uma thread remota via CreateRemoteThread que aponta para o shellcode injetado.
Essa técnica permite que os atacantes escondam seu código malicioso dentro de um processo confiável do sistema, tornando a detecção significativamente mais difícil para as soluções de segurança.

Por que os Atacantes Usam explorer.exe para Injeção de Processo?
Os atacantes escolheram deliberadamente mirar no explorer.exe para injetar seu shellcode malicioso. Essa escolha não foi aleatória — baseou-se em vantagens estratégicas:
Processo legítimo do sistema - Sua presença é normal e não levanta alarmes.
Sempre em execução - Disponibilidade garantida em todos os sistemas Windows.
Contexto do usuário - Herda os privilégios do usuário atual.
Persistência - Sobrevive mesmo se o processo malicioso principal for encerrado.

Colocar um payload HTTP: Criptografá-lo usando criptografia XOR para evitar detecção na rede.
Modificando Metadados de Arquivo para Evitar Detecção
Após construir o payload reddit.exe, devemos modificar seus metadados para que pareça um programa legítimo e não suspeito. As soluções de segurança e ferramentas EDR examinam esses campos de metadados, portanto, alterá-los é essencial para a evasão.
Quais Metadados São Alvos?
Versão do Arquivo: O número da versão do arquivo Versão do Produto: O número da versão do produto Descrição do Arquivo: Como o arquivo se descreve (aparece no Gerenciador de Tarefas) Nome do Produto: O nome do produto Nome da Empresa: O nome da empresa desenvolvedora Copyright Legal: Informações de direitos autorais Nome Original do Arquivo: O nome original do arquivo
A ferramenta usada: rcedit
Para realizar essas modificações, usamos uma ferramenta leve e gratuita chamada rcedit, disponível oficialmente no GitHub. link: https://github.com/electron/rcedit/releases/download/v2.0.0/rcedit-x64.exe

Observei que os atacantes não executam o reddit.exe diretamente no sistema alvo. Em vez disso, eles dependem de um programa intermediário conhecido como CertificationKit.ini (Dropper), que carrega o payload criptografado, o descriptografa em tempo de execução e o executa na máquina da vítima.
e que o dropper foi escrito em Rust. Embora se disfarce como um arquivo de configuração aparentemente inofensivo (CertificationKit.ini), é, na realidade, um binário compilado responsável por implantar e executar o payload principal no sistema alvo.
Essa técnica oferece várias vantagens:
Evasão: O payload real permanece criptografado, tornando mais difícil para antivírus e ferramentas de segurança detectá-lo.
Bypass de Análise: Mesmo que o dropper seja descoberto ou analisado, o payload principal permanece criptografado e protegido.
Execução em Múltiplos Estágios: O ataque opera em vários estágios, o que complica o processo de análise e retarda a resposta a incidentes para as equipes de segurança.

Criptografia do Payload: O payload principal (reddit.exe) é armazenado na seção ENCRYPTED_PAYLOAD e criptografado usando a chave XOR definida no dropper (XOR_KEY). Isso garante que o payload permaneça protegido até o tempo de execução.
Caminho Alvo: O dropper grava o payload descriptografado no local especificado na configuração do dropper (TARGET_PATH). Esse caminho deve ser configurado corretamente para o diretório pretendido no sistema da vítima.
Descriptografia em Tempo de Execução: Ao ser executado, o dropper descriptografa o payload usando a chave XOR e o implanta como CertificationKit.ini no local alvo.
Essa configuração permite que os atacantes mantenham o stealth, evitem a detecção e garantam que o payload só seja acessível quando executado no sistema da vítima.
